Я хотів би зробити розширення щодо відповіді @ Søren Løvborg: розширення розділу з наявним розділом swap.
Спочатку макет диска після його розширення:
$sudo parted /dev/sda 'unit s print' free
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 14336000s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 10485759s 10483712s primary ext4 boot
10485760s 10487805s 2046s Free Space
2 10487806s 12580863s 2093058s extended
5 10487808s 12580863s 2093056s logical linux-swap(v1)
12580864s 14335999s 1755136s Free Space
Отже, sda1 потрібно розширити вільним простором на кінці диска, але розділ swap знаходиться між ними. Ось як це можна зробити:
Спочатку нам потрібно відключити своп. Перевірте, скільки воно використовується і чи можете вимкнути його.
$ free -h
total used free shared buff/cache available
Mem: 992M 52M 464M 3.2M 475M 784M
Swap: 1.0G 0B 1.0G
тут не використовується, щоб ми могли вимкнути його
$sudo swapoff /dev/sda5
Тепер ми змінимо таблицю розділів:
$sudo fdisk /dev/sda
(зауважте: якщо у вас перший розділ починається в секторі 63 замість 2048, вам потрібно додати параметр -c=dos
)
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 6.9 GiB, 7340032000 bytes, 14336000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9e11c6df
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 10485759 10483712 5G 83 Linux
/dev/sda2 10487806 12580863 2093058 1022M 5 Extended
/dev/sda5 10487808 12580863 2093056 1022M 82 Linux swap / Solaris
Command (m for help): d
Partition number (1,2,5, default 5): 2
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-14335999, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-14335999, default 14335999): 12242941
Created a new partition 1 of type 'Linux' and of size 5.9 GiB.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (12242942-14335999, default 12242944):
Last sector, +sectors or +size{K,M,G,T,P} (12242944-14335999, default 14335999):
Created a new partition 2 of type 'Linux' and of size 1022 MiB.
Command (m for help): a
Partition number (1,2, default 2): 1
The bootable flag on partition 1 is enabled now.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Примітка: розмір sda1 - загальна кількість секторів за вирахуванням розміру сектору вашого swap-розділу: 14335999-2093058 = 12242941
Як зазначає fdisk: ядро все ще використовує стару таблицю розділів, тому нам потрібно її перезавантажити.
$partprobe
Тепер нам потрібно запустити resize2fs на sda1 (не забудьте про це!)
$resize2fs /dev/sda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 10
The filesystem on /dev/sda1 is now 38833617 (4k) blocks long.
Тепер все ще не закінчено. Як ви, напевно, помітили, sda2 поділяється на тип Linux (Ext4). Чомусь у fdisk не можна вибрати тип. Тому ми повинні чергувати це за допомогоюcfdisk
$ sudo cfdisk
Виберіть sda2 та змініть тип 82 Linux swap / Solaris
і переконайтеся, що ви його написали (введіть так, щоб підтвердити)
Тепер ми можемо повторно активувати своп
$mkswap /dev/sda2
/dev/sda2
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
І, нарешті, увімкніть його:
$swapon /dev/sda2
Єдине, що нам потрібно зробити - це оновити fstab для автоматичного монтажу розділу swap після завантаження
$sudo nano /etc/fstab
І змініть UUID розділу swap на вихід вище:
# swap was on /dev/sda5 during installation
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
Зараз все добре, і ви можете перезавантажитись без проблем.