Convert MBR to GPT.
Convert MBR to GPT.
Оглавление
Темы
Постановка задачи
Сбор информации о разметке диска
Конвертация MBR в GPT
Перенос информации
SWAP-файл
Раздел ESP
Установка загрузчика GRUB
Дополнительные материалы
Монтирование файловых систем
XFS: Файловая система
Перенос системы на другой диск (xfs_copy)
Перенос системы на другой диск (rsync)
Fedora на ZFS
Исправляем нумерацию разделов на диске
Гибернация — режим сна
LUKS: Шифруем данные
Преобразовать таблицу разделов из MBR в GPT без потери данных. А так же, по возможности не прибегая к переносу данных на иные носители.
Темы
Постановка задачи
Сбор информации о разметке диска
Конвертация MBR в GPT
Перенос информации
SWAP-файл
Раздел ESP
Установка загрузчика GRUB
Дополнительные материалы
Монтирование файловых систем
XFS: Файловая система
Перенос системы на другой диск (xfs_copy)
Перенос системы на другой диск (rsync)
Fedora на ZFS
Исправляем нумерацию разделов на диске
Гибернация — режим сна
LUKS: Шифруем данные
Преобразовать таблицу разделов из MBR в GPT без потери данных. А так же, по возможности не прибегая к переносу данных на иные носители.
просматриваем структуру разделов на диске с которым хотим провести процедуру конвертации
Код: Выделить всё
parted /dev/sda unit s printКод: Выделить всё
parted /dev/sda unit s print > part-mapMBR.dumpКод: Выделить всё
cat part-mapMBR.dump
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 117231408s
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Флаги диска:
Номер Начало Конец Размер Тип Файловая система Флаги
1 2048s 1050623s 1048576s primary xfs загрузочный
2 1050624s 117229567s 116178944s primary lvmАльтернативный вариант
Вы можете использовать sfdisk для этой задачи даже на дисках с GPT-разметкой:
Код: Выделить всё
sfdisk -d /dev/sdX > part_tableКод: Выделить всё
sfdisk /dev/sdX < part_tableКод: Выделить всё
grep -v ^label-id part_table | sed -e 's/, *uuid=[0-9A-F-]*//' | sfdisk /dev/sdYКод: Выделить всё
tune2fs /dev/sdb1 -U 523436E9-4DA5-474F-87CA-D784E4BF345DКод: Выделить всё
sfdisk --disk-id /dev/nvme1n1 $(uuidgen)Теперь запускаем parted и выполняем замену таблицы разделов на GPT
Код: Выделить всё
parted /dev/sda
(parted) unit s
(parted) print
(parted) mktable gpt
игнорируем сообщение о существовании разделов
i
Соглашаемся с потерей данных
yes
игнорируем ещё одно предупреждающее сообщение
i
смотрим на результат
(parted) print
quitКод: Выделить всё
cat part-mapMBR.dump
Модель: ATA KINGSTON SVP200S (scsi)
Диск /dev/sda: 117231408s
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Флаги диска:
Номер Начало Конец Размер Тип Файловая система Флаги
1 2048s 1050623s 1048576s primary xfs загрузочный
2 1050624s 117229567s 116178944s primary lvmКод: Выделить всё
parted /dev/sda
(parted) unit s
Создаём структуру разделов заново, соблюдая размеры и типы из сохранённого дампа разделов
(parted) mkpart primary xfs 2048s 1050623s
игнорируем предупреждающее сообщение
i
(parted) mkpart primary 1050624s 117229567s
(parted) set 2 lvm on
‘esp’ (MS-DOS, GPT) - this flag identifies a UEFI System Partition. On GPT it is an alias for boot.
(parted) set 1 esp on
(parted) qКод: Выделить всё
partprobeПереносим всю информацию с разделов boot, var и т. д. в корневую файловую систему. Поскольку нужно создавать раздел ESP, то от boot нужно избавляться
Запуститься с LiveCD и монтируем корень в каталог /mnt, а раздел с исходным boot в /media
Код: Выделить всё
cp -apx /media/* /mnt/bootМонтируем корень в каталог /mnt, а раздел с исходным var в /media
Copy the data in var only to the new mounted filesystem:
Код: Выделить всё
cp -apx /media/* /mnt/var-a --archive
такой же как -dR --preserve=all
-p такой же как --preserve=mode,ownership,timestamps
-x --one-file-system
остаться в этой файловой системе
При наличии SWAP-раздела крайне желательно от него избавиться при необходимости можно создать SWAP-файл
Проверьте, сколько у вас в настоящее время места подкачки:
Код: Выделить всё
swapon -sКод: Выделить всё
dd if=/dev/zero of=/swap bs=1M count=4096Код: Выделить всё
chmod 600 /swapКод: Выделить всё
mkswap /swapКод: Выделить всё
swapon /swapКод: Выделить всё
echo "/swap swap swap defaults 0 0" >> /etc/fstabКод: Выделить всё
swapon -sК этому моменту информация должна быть перенесена из раздела boot в каталог /boot и раздел boot должен быть удален. Создаём раздел ESP для хранения UEFI-загрузчиков.
Код: Выделить всё
(parted) mkpart ESP fat16 1MiB 512MiB
(parted) set 1 esp onКод: Выделить всё
mkfs.fat -F32 /dev/sda1
rebootВосстановление GRUB с LiveCD для UEFI
Создаем элемент загрузочного меню EFI с меткой Fedora
Код: Выделить всё
efibootmgr --create --disk /dev/sda --part 1 --label "Fedora" --loader \EFI\fedora\shimx64.efiКод: Выделить всё
efibootmgr -c -d /dev/sda -p 1 -L "Fedora" -l \EFI\fedora\shimx64.efiКод: Выделить всё
efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0005,0004,0002
Boot0002* Notebook Ethernet BBS(128,,0x0)........................>..............................................
Boot0004* USB Hard Drive BBS(HD,,0x500).......................................................................
Boot0005* Fedora HD(1,GPT,a72a3c19-570a-447b-bd4e-3d319136b4dd,0x800,0x100000)/File(\EFI\fedora\shimx64.efi)Код: Выделить всё
efibootmgr 0005,0004,0002
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0005,0004,0002
Boot0002* Notebook Ethernet
Boot0004* USB Hard Drive
Boot0005* FedoraКод: Выделить всё
exit
umount -R /mnt
systemctl reboot