Какие команды для преобразования установки Ubuntu BIOS в EFI /UEFI без восстановления при загрузке на одном загрузочном оборудовании?

Установка режима случайной BIOS

У меня 64-разрядное оборудование Intel с утилитой настройки UEFI. Ubuntu 14.04.1 LTS был установлен как единственная операционная система на единственном подключенном диске. Случайно Ubuntu был установлен в режиме BIOS /CSM /legacy.

Преобразовать в UEFI

Позже, узнав об UEFI, цель состоит в том, чтобы изменить существующую установку Ubuntu на более быструю загрузку через EFI /UEFI. Я все еще хочу иметь какое-то меню - 2 секунды - загрузочное меню, которое позволяет мне войти в утилиту настройки UEFI. Поэтому я думаю, что мне нужно использовать Grub (нельзя использовать заглушку EFI) и Поддержка GOP требует версии Grub 1,99 или выше . Я уже переразделил диск с помощью Live CD и вставил 200-разрядный EFI-раздел в начале диска и пометил этот форматированный раздел fat16 как идентификатор типа 0xEF.

До:

# fdisk -l /dev/sda
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   108478463    54238208   83  Linux
/dev/sda2       108480510   125044735     8282113    5  Extended
/dev/sda5       108480512   125044735     8282112   82  Linux swap / Solaris

После:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *      411648   108478463    54033408   83  Linux
/dev/sda2       108480510   125044735     8282113    5  Extended
/dev/sda3            2048      411647      204800   ef  EFI (FAT-12/16/32)
/dev/sda5       108480512   125044735     8282112   82  Linux swap / Solaris

Partition table entries are not in disk order

Нет загрузки-ремонта пожалуйста

Вики сообщества Ubuntu предлагают использовать boot-repair для Преобразование Ubuntu в режим EFI . Я не хочу использовать графический интерфейс или устанавливать какие-либо дополнительные пакеты, и я не хочу, чтобы какие-либо данные случайно отправлялись на pastebin.com, и потому что я хочу знать, что будет точно изменено, я не хочу используйте Boot-repair .

Под капотом

Попытка выяснить, что происходит с загрузкой, я нашел этот фрагмент:

  

Boot-Repair преобразует установку BIOS в UEFI, удаляя grub-pc и устанавливая grub-efi, если gpt разделен.

источник: http://ubuntuforums.org/showthread.php?t=2147295&p = 12657352 # post12657352

Сравнение установки режима UEFI

Чистая установка Ubuntu 14.04.1 в режиме UEFI создает 512-битный EFI-раздел с файлом MiB Fat32. Этот раздел содержит один каталог /EFI/ubuntu, содержащий 4 файла: grub.cfg, grubx64.efi, MokManager.efi и shimx64.efi. Файл grub.cfg содержит:

search.fs_uuid 7d843e47-3917-4114-8725-55dfa1fbe002 root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Search.fs_uuid указывает на UUID раздела установки Linux, при этом в установке UEFI для установки Linux установлен раздел /dev /sda2 (по сравнению с sda1 в режиме установки BIOS) .

Не найдено потенциальных проблем с программным обеспечением Asrock

CSM все еще отключен в прошивке и использует чистую установку UEFIU UEFI. Изменение размера раздела 512 MiB EFI на 200 MiB с использованием Live CD и gparted приводит к тому, что его форматирование изменяется с FAT32 на FAT16. Прошивка Asrock P1.50 (неправильно названная BIOS от AMI в загрузочном сообщении «Дата BIOS») все еще может загружаться в UEFI-режим Ubuntu: UEFI + FAT16 = ok .
Преобразование таблицы разделов из GPT в MBR (msdos) с использованием той же команды терминала Live CD gdisk и его команды r g p w также приводит к загрузке UEFI Ubuntu на разделенный диск MBR: UEFI + MBR = ok .

Вопрос

Означает ли это, что единственные команды, которые мне нужно выполнить, - из устаревшей установки Ubuntu и в этом порядке - это:

# apt-get install grub-efi
# apt-get remove grub-pc

? Или нужно больше делать?

30 голосов | спросил Pro Backup 10 PM00000080000000731 2014, 20:29:07

1 ответ


35

Запустите Live CD Ubuntu Linux (14.04) в режиме UEFI. В случае USB-устройства загрузки отключите «Быстрая загрузка» в UEFI.

Откройте окно терминала ( Ctrl + Alt + T )

Чтобы убедиться, что вы действительно работаете в режиме UEFI, используйте эту команду bash:

$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Результирующий результат должен быть:

UEFI

Если он говорит BIOS, перезагрузитесь в свою прошивку и исправьте предпочтение загрузочного устройства.

Для преобразования BIOS в EFI /UEFI введите следующие команды:

$ sudo mount /dev/sda1 /mnt
$ sudo mkdir -p /mnt/boot/efi
$ sudo mount /dev/sda3 /mnt/boot/efi
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys
$ sudo mount --bind /run /mnt/run
$ modprobe efivars
$ sudo chroot /mnt
# apt-get install grub-efi-amd64

The following extra packages will be installed:
  efibootmgr grub-efi-amd64-bin
The following packages will be removed:
  grub-gfxpayload-lists grub-pc
...
After this operation, 2,399 kB of additional disk space will be used.

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --no-floppy --debug

Несмотря на окончание сообщения об ошибке:

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

следующая перезагрузка уже показывает « ubuntu » в прошивке его меню параметров загрузки и загружается в консоль, как и раньше, за исключением загрузки в режиме efi:

$ dmesg | grep EFI
efi: EFI v2.31 by American Megatrends
fb0: EFI VGA frame buffer device
EFI Variables Facility v0.08 2004-May-17
fb: switching to inteldrmfb from EFI VGA

Если что-то пойдет не так, https://superuser.com/questions/376470/how -to-reinstall-grub2-efi может помочь.

ответил Pro Backup 11 AM00000020000005431 2014, 02:45:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132