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

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

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

Преобразуйте в UEFI

Позже узнавая о UEFI, цель состоит в том, чтобы изменить эту существующую установку Ubuntu на (более быстрой) начальной загрузке через EFI/UEFI. Я действительно все еще хочу иметь некоторый - 2 отображенные секунды - меню начальной загрузки, которое позволяет мне вводить утилиту установки UEFI. Поэтому я думаю, что я должен использовать Личинку (не может использовать тупик начальной загрузки EFI), и поддержка GOP требует версии 1.99 Личинки или выше. Я уже повторно разделил диск с помощью Живого CD и вставил раздел EFI на 200 мебибайт в начале диска и отметил это, 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 Wiki предлагает использовать восстановление начальной загрузки для Преобразования Ubuntu в режим EFI. Я не хочу использовать GUI или устанавливать любые дополнительные пакеты, и я не хочу данных, случайно отправляемых в pastebin.com и потому что я действительно хочу знать то, что будет изменено точно, я не хочу использовать Восстановление начальной загрузки.

Под капотом

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

Восстановление начальной загрузки преобразует установку BIOS на UEFI путем удаления ПК личинки и установки личинки-efi, если gpt разделил.

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

Режим UEFI устанавливает сравнение

Чистая установка Ubuntu 14.04.1 в режиме UEFI создает отформатированный раздел EFI Fat32 на 512 мебибайт. Тот раздел содержит один каталог /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

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

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

Наличие CSM, все еще отключенного во встроенном микропрограммном обеспечении и использование чистого режима UEFI установка Ubuntu. Изменение размеров раздела EFI на 512 мебибайт к 200 мебибайт с помощью Живого CD и gparted результаты в этом его изменения форматирования от FAT32 до FAT16. Встроенное микропрограммное обеспечение Asrock P1.50 (неправильно названный BIOS AMI в сообщении загрузки "дата BIOS") все еще может загрузить в режим UEFI Ubuntu: UEFI+FAT16 = хорошо.
Преобразование таблицы разделов от GPT до MBR (MS-DOS) с помощью той же Живой команды терминала CD gdisk и его команды r g p w также результаты в загрузочной Ubuntu UEFI на MBR разделили диск: UEFI+MBR = хорошо.

Вопрос

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

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

? Или более необходим, чтобы быть сделанным?

40
задан 11 August 2014 в 17:49

3 ответа

Запустите 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

Ошибка сети Apt-get?

# rm /etc/resolv.conf
# ln -s ../run/systemd/resolve/stub-resolv.conf resolv.conf
# apt-get install grub-efi-amd64

Нет ошибки apt-get

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 может помочь.

42
ответ дан 16 November 2019 в 11:11

Небольшое исправление :

sudo apt-get install -y grub-efi-amd64
sudo mount /dev/sda1 /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda3 /mnt/boot/efi
for d in dev sys proc usr run; do sudo mount -B /$d /mnt/$d; done
sudo modprobe efivars
sudo chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --no-floppy --debug

Готово.

1
ответ дан 16 November 2019 в 11:11

Это тоже сработало для меня с одним небольшим изменением. Несмотря на то, что сеть работала, я не смог получить apt-get install grub-efi-amd64 , чтобы найти какой-либо из серверов пакетов.

Я обошел это, загрузившись в режиме BIOS в последний раз время и установка grub-efi-amd64.

Затем я мог бы выполнить приведенные здесь процедуры, за исключением пропуска apt-get install grub-efi-amd64 .

1
ответ дан 23 November 2019 в 00:29

Другие вопросы по тегам:

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