Convert MBR to GPT.

Установка, настройка, эксплуатация.

Модератор: ROOT

Convert MBR to GPT.

Сообщение ROOT » 18 июл 2018, 12:04

Оглавление


Темы
 Постановка задачи 
 Сбор информации о разметке диска 
 Конвертация MBR в GPT 
 Перенос информации 
 SWAP-файл 
 Раздел ESP 
 Установка загрузчика GRUB 
Дополнительные материалы
Перенос системы на другой диск (rsync)
Перенос системы на другой диск (xfs_copy)
XFS: Файловая система


 Постановка задачи 
Преобразовать таблицу разделов из MBR в GPT без потери данных. А так же, по возможности не прибегая к переносу данных на иные носители.


 Сбор информации о разметке диска 
просматриваем структуру разделов на диске с которым хотим провести процедуру конвертации
Код: выделить все
parted /dev/sda unit s print

Сохраняем разметку разделов в файл для последующего воссоздания структуры разделов с максимальной точностью (unit s - переводит единицы размера у parted в сектора)
Код: выделить все
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



 Конвертация MBR в GPT 
Теперь запускаем 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

Теперь создаём разделы с теми же параметрами, что были в таблицы MBR
Код: выделить все
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


Переносим содержимое разделов var и другие (если есть) в соответствующие каталоги.
Монтируем корень в каталог /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-раздела крайне желательно от него избавиться при необходимости можно создать SWAP-файл
Проверьте, сколько у вас в настоящее время места подкачки:
Код: выделить все
swapon -s

Создайте файл, который будет работать, как ваш файл подкачки. dd сделает это для нас (файл, состоящий из нулей будет иметь 4 ГБ).
Код: выделить все
dd if=/dev/zero of=/swap bs=1M count=4096

Меняем права:
Код: выделить все
chmod 600 /swap

И делаем из файла swap:
Код: выделить все
mkswap /swap

Активируем SWAP для системы:
Код: выделить все
swapon /swap

Почти готово. Теперь мы должны сделать изменения постоянными после перезагрузки. Итак, добавим это в fstab:
Код: выделить все
echo "/swap swap swap defaults 0 0" >> /etc/fstab

Убедитесь, что это сработало:
Код: выделить все
swapon -s



 Раздел ESP 
К этому моменту информация должна быть перенесена из раздела boot в каталог /boot и раздел boot должен быть удален. Создаём раздел ESP для хранения UEFI-загрузчиков.
Код: выделить все
(parted) mkpart ESP fat16 1MiB 512MiB
(parted) set 1 esp on

Рекомендуется сохранять размер ESP в 512 Мбайт, хотя меньшие/большие размеры тоже приветствуются.
Код: выделить все
mkfs.fat -F32 /dev/sda1
reboot



 Установка загрузчика GRUB 
Восстановление GRUB с LiveCD для UEFI

Создаем элемент загрузочного меню EFI с меткой Grub2
Код: выделить все
efibootmgr --create --disk /dev/sda --part 1 --label "Grub2" --loader \\EFI\\grub2\\grubx64.efi

Смотрим порядок 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)

Меняем порядок загрузки с 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
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 141
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron