Изменение размера диска linux

В данной статье мы рассмотрим варианты изменение размера жесткого диска, и как можно изменить размер диска в linux. Определимся с исходными данными:
Имеем образ: image.raw в сыром формате. Доступ по ssh к компьютеру, где находится этот диск. Для начала посмотрим, что он из себя представляет.
Будем использовать утилиты fdisk для работы с диском, losetup linux. Так же рассмотрим e2fsck для проверки диска и resize2fs.

fdisk -l image.raw

Так же, мы будем использовать losetup, и parted, partporbe.
Шаг 1: посмотреть все устрйоства с losetup:
losetup -a
У нас все устроства от 0 до 4-х заняты.
Найдем первое неиспользовое устройство: losetup -f - (find)
Вывод: /dev/loop5
Примонтировать устройство:
sudo losetup -f image.raw

После этого у нас появилось устройство: (lsblk)
loop5 7:5 0 64G 0 loop

Можем посмотреть его:
sudo fdisk /dev/loop5

Command (m for help): p
Disk /dev/loop5: 64 GiB, 68719476736 bytes, 134217728 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: 0x1f772e41

Device Boot Start End Sectors Size Id Type
/dev/loop5p1 * 2048 130025471 130023424 62G 83 Linux
/dev/loop5p2 130027518 134215679 4188162 2G 5 Extended
/dev/loop5p5 130027520 134215679 4188160 2G 82 Linux swap / Solaris

Шаг 2. Удаляем не нужные разделы
ОТкрыли fdisk, удалили 5,2 раздел.
Шаг 3. Выполнили partprobe, чтобы пересчитать диск: supo partprobe /dev/loop5
Шаг 4. ПРоверили fdisk: sudo fdisk /dev/loop5
Command (m for help): p

Disk /dev/loop5: 64 GiB, 68719476736 bytes, 134217728 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: 0x1f772e41

Device Boot Start End Sectors Size Id Type
/dev/loop5p1 * 2048 130025471 130023424 62G 83 Linux

Шаг 5. В lsblk:
loop5 7:5 0 64G 0 loop
└─loop5p1 259:0 0 62G 0 loop

Шаг 6. Изменяем размер файловой системы:
6.1. Сжимаем файлы на файловой системе:
e2fsck -f /dev/loop5p1
6.2 Обрезаем раздел:
resize2fs -p /dev/loop5p1 20G
Возможно стоит попробовать использовать parter
Используем parted, и в нем resize чтобы уменьшить размер таблицы:
sudo parted /dev/loop5
resizepart

Model: Loopback device (loopback)
Disk /dev/loop5: 68,7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 30,0GB 30,0GB primary ext4 boot

Послле выхода из pardet предлагается пересчитать:
Information: You may need to update /etc/fstab.

Шаг 7. Выполняем partprobe:
Шаг 8. Смотрим lsblk:
loop5 7:5 0 64G 0 loop
└─loop5p1 259:0 0 28G 0 loop

Шаг 8.1: можем попробовать примонтировать диск, и посмотреть, ничего ли не испортилось там. Не успешно:

Шаг 9. Используем: resize2fs /dev/loop5
losetup -d — отмонтировать устройство

Шаг 10: проверяем файловую систему:
fsck -f /dev/loop5