В этой статье я описывал как изменить MBR на GPT. Но если у вас весь диск занят существующим разделом, то вы получите предупреждение:
Warning! Secondary partition table overlaps the last partition by
33 blocks!
You will need to delete this partition or resize it in another utility.
Если вкратце, то для создания GPT в конце диcка необходимо около 1 MiB
свободного дискового пространства, именно неразмеченного. Почему так можете почитать тут.
Если у вас виртуализация и можно изменить размер диска, то как правило особых проблем с этим нет. Просто увеличиваем диск в виртуализации, об этом я уже писал. Но вот если увеличить размер диска не получится, то обойти предупреждение можно изменением размера раздела на диске, конечно же в меньшую сторону.
Размер раздела и данные
- Конечно же я рекомендую вам скопировать всё данные с диска или сделать резервную копию. Всегда что-то может пойти не так, будьте к этому готовы.
- Не выставляйте размер раздела меньше чем весят данные на разделе. Т.е. если на
/dev/sda1
у вас лежит 10 Гб данных не уменьшайте размер раздела меньше чем на 11 Гб.
Тип файловой системы XFS
К сожалению, если у вас тип файловой системы на разделе XFS, то уменьшить размер такого раздела у вас не получиться. Проще будет подключить новый диск, создав его как GPT и скопировать туда данные.
Для проверки типа файловой системы можно выполнить:
sudo parted /dev/sda p
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 9000MB 8999MB xfs Linux filesystem
Тип файловой системы EXT
Если же тип файловой системы EXT4 или EXT3, то тут уже можно поработать.
- Проверяем что у нас действительно MBR (msdos) и тип файловой системы EXT4
sudo parted /dev/sda p
Disk /dev/sda: 10.7GB Partition Table: msdos Number Start End Size Type File system Flags 1 1049kB 10.7GB 10.7GB primary ext4
- Дальше необходимо размонтировать устройство (обязательно)
sudo umount /dev/sda1
- Проверяем целостность структуры файлов ext4. Не должно быть никаких ошибок
sudo e2fsck -f /dev/sda1
- Уменьшаем файловую систему ext4. Обратите внимание что я уменьшаю на целых 2 Гб. Дело в том, что сам размер раздела я собираюсь уменьшить на 1Гб, хотя можно и меньше. А вот размер файловой системы лучше указать меньше чем размер раздела. Размеры в
resize2fs
(файловая система) иresizepart
(сам раздел) измеряются по-разному и округляются в разных единицах. Поэтому, если указать одно и то же число (например,9G
в обоих случаях), на самом деле:- файловая система получится чуть больше (так как
resize2fs
считает в GiB — 1024³ байта), - а раздел — чуть меньше (потому что
parted
считает в GB — 1000³ байт).sudo resize2fs /dev/sda1 8G
- файловая система получится чуть больше (так как
- Уменьшаем раздел до 9 GB
sudo parted /dev/sda print resizepart 1 9G quit
- Конвертируем MBR → GPT, подробнее тут
sudo gdisk /dev/sda w
- Проверяем таблицу и ФС
sudo parted /dev/sda print sudo e2fsck -f /dev/sda1
- Монтируем и проверяем доступ
sudo mount -a sudo mount /dev/sda1 decrease/ ls decrease/
Комментарии