Сначала отмонтируем все разделы и проверим файловую систему.
# swapoff /dev/sda2 # umount /dev/sda1 # e2fsck /dev/sda1 e2fsck 1.42.6 (21-Sep-2012) /dev/sda1: clean, 49/14056 files, 47157/56196 blocks
Используем parted для того, чтобы сначала уменьшить и передвинуть второй раздел, а затем расширить первый на освободившееся место. Так как второй раздел - swap, то его мы просто передвинем, не заботясь о содержимом. Иначе говоря, сначала мы совсем сломаем, а потом заново её разметим.
# parted /dev/sda GNU Parted 2.4 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) print Model: ATA QEMU HARDDISK (scsi) Disk /dev/sda: 120103200s Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 63s 112454s 112392s primary ext2 boot, type=83 2 112455s 1686824s 1574370s primary linux-swap(v1) type=82 3 1686825s 120101939s 118415115s primary reiserfs type=83
Для изменения раздела используется команда resize номер_раздела начало конец
(parted) resize 2 224973 1686824 WARNING: you are attempting to use parted to operate on (resize) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. (parted) print Model: ATA QEMU HARDDISK (scsi) Disk /dev/sda: 120103200s Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 63s 112454s 112392s primary ext2 boot, type=83 2 224973s 1686824s 1461852s primary linux-swap(v1) type=82 3 1686825s 120101939s 118415115s primary reiserfs type=83
К сожалению в этот момент оно само подмонтировало всё назад, поэтому нужно снова отмонтировать первый раздел. Раздел swap в данный момент уже должен быть работоспособен, потому-что mkswap на нем выполнился сам автоматически. К сожалению, я не нашел способа отключить всю эту самодеятельность.
# umount /dev/sda1 # e2fsck -p /dev/sda1
Снова идем в parted:
# parted GNU Parted 2.4 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) print Model: ATA QEMU HARDDISK (scsi) Disk /dev/sda: 120103200s Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 63s 112454s 112392s primary ext2 boot, type=83 2 224973s 1686824s 1461852s primary linux-swap(v1) type=82 3 1686825s 120101939s 118415115s primary reiserfs type=83 (parted) resize 1 63 224972 WARNING: you are attempting to use parted to operate on (resize) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release. (parted) quit Warning: You should reinstall your boot loader before rebooting. Read section 4 of the Parted User documentation for more information. Information: You may need to update /etc/fstab.
Готово, parted не только изменил размер раздела, но еще и молча расширил для нас файловую систему, а теперь предупреждает о необходимости обновить загрузчик.