В това ръководство ще ви обясня как с няколко лесни стъпки можете да мигрирате MBR/BIOS инсталация към UEFI, без да се налага да преинсталирате и да губите информация. Задължително първо си направете бекъп, за да сте подсигурени в случай, че объркате нещо.
Миграция от MBR/BIOS към UEFI при Linux
Стъпка 1:
Преди да започнем с миграцията, инсталирайте необходимите пакети докато сте в системата, която ще мигрираме:
За Ubuntu/Mint и подобни:
sudo apt install efibootmgr efitools efivar
За Arch/Manjaro и подобни:
sudo pacman -S efibootmgr efitools efivar
Стъпка 2:
Направете си флашка с някоя модерна Linux дистрибуция, буутнете от нея в жив режим, стартирайте GParted, ако го няма го инсталирайте и създайте малък дял с минимален размер 550MB, форматиран във fat32. Задайте му флагове boot и esp (десен бутон на дяла->Manage flags). Този дял може да се намира навсякъде – в началото, в средата, в края, където прецените.
Стъпка 3:
Трябва да конвертираме диска от mbr в gpt. Има няколко варианта конвертирането да се осъществи без загуба на данни, тук ще се спрем на варианта с gdisk като най-лесен.
Рестартирайте компютъра, влезте в BIOS и изключете Legacy mode (CSM) режима, защото вече ще трябва да буутнем в UEFI режим. Стартирайте отново в жив режим от някоя модерна Linux дистрибуция и инсталирайте gdisk, ако го няма. След това от терминал вижте как се инициализира вашият хард диск. Това може да стане с много команди, ето няколко от тях:
df -h
blkid
sudo fdisk -l
и т.н.
Предполагаме, че вашият диск се инициализира като sda. При това положение просто изпълнявате:
gdisk /dev/sda
след което просто натиската буквата „w“, което означава, че ще конвертирате от mbr в gpt. Операцията отнема не повече от няколко секунди.
Стъпка 4:
Отново от жив режим трябва да влезем в инсталацията, която ще мигрираме и да инсталираме GRUB. Това става със следната команда:
sudo mount /dev/sda1 /mnt && sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys && sudo chroot /mnt
sda1 го заменяте с това както се инициализира вашият хард диск, което отново проверявате с командите, които дадох по-горе.
Създаваме точка за зареждане на efi дяла:
sudo mkdir /boot/efi
Маунтваме го:
sudo mount /dev/sdXY /boot/efi
sdXY е ESP дялът. Може да е sda2, sdb4 и пр.
Инсталираме GRUB:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Arch --recheck
Тук думата Arch можете да я замените с някаква друга дума, според вашето желание как да се казва опцията ви за буутване. Например Mint, Ubuntu, Neon и т.н.
Обновяваме GRUB информацията:
За Ubuntu/Mint и подобни:
sudo update-grub
За Arch/Manjaro и подобни:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Готово, вече мигрирахте вашата Linux система от MBR към UEFI без да преинсталирате.
*Забележка:
Ако при инсталацията на GRUB в предпоследната команда получите следната грешка:
„EFI variables are not supported on this system“
Изпълнявате:
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
и проблемът е отстранен.