Я хотел бы сделать продолжение ответа @ Søren Løvborg: расширение раздела с помощью раздела подкачки.
Сначала разметка диска после его расширения:
$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 необходимо расширить с помощью свободного места в конце диска, но раздел подкачки находится между ними. Вот как вы можете это сделать:
Сначала нам нужно отключить своп. Проверьте, сколько он используется, и если вы можете отключить его.
$ 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 - это общее количество секторов минус размер сектора вашего раздела подкачки: 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
и убедитесь, что вы пишете его (введите yes для подтверждения)
Теперь мы можем повторно активировать своп
$mkswap /dev/sda2
/dev/sda2
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
И, наконец, включите его:
$swapon /dev/sda2
Единственное, что нам нужно сделать, это обновить fstab для автоматического монтирования раздела подкачки при загрузке
$sudo nano /etc/fstab
И измените UUID раздела подкачки на вывод выше:
# swap was on /dev/sda5 during installation
UUID=d58bf1cb-d27a-487d-b337-056767fd5ad6 none swap sw 0 0
Теперь все хорошо и вы можете перезагрузиться без проблем.