Как проверить, использую ли я GRUB-EFI или GRUB-ПК?

Я запускаю Ubuntu 14.04 в chroot на ChromeOS, который использует систему UEFI. Для установки WinUSB для создания медиа восстановления для Windows, я должен был измениться grub-efi-amd64 кому: grub-pc. WinUSB выполнил этот процесс для меня. К моему знанию это представило бы мое устройство, не могущее загружаться.

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

Как я пошел бы о проверке, если проблема решена?

Мне сказали, что я мог работать sudo grub ввести оболочку личинки и затем echo $grub_install сказать мне, если я использую grub-pc или grub-efi-amd64. Однако я использую GRUB 2.02 и sudo grub кажется, удерживается от использования.

Поскольку я нахожусь на Chromebook, который всегда загружается в ChromeOS, у меня нет способа получить доступ к оболочке GRUB при начальной загрузке.

Кто-либо может помочь мне?

6
задан 26 February 2017 в 17:04

1 ответ

Посмотрите этот вопрос определить, как Ваш компьютер был загружен:

Как я могу сказать, была ли моя система загружена как EFI/UEFI или BIOS?

Это не вполне то же как вопрос, который Вы задали, который является, почему я не отмечаю Ваш вопрос как дубликат. Обычно, метод начальной загрузки (BIOS по сравнению с EFI) определяет, какая версия GRUB была последней, которая загрузит компьютер. (Если Вам установили другие загрузчики, конечно, Вы, возможно, загрузились через одного из них; этот подход не отличит между, скажем, режимом EFI GRUB и EFI-mode ELILO.)

Можно проверить для наблюдения, в котором версия пакета GRUB установлена при помощи диспетчера пакетов, как:

dpkg -l | grep grub | grep ii

Загрузчики как GRUB необычны, тем не менее, в той установке пакета, отлично от вставки загрузчика в процесс начальной загрузки. Обычно, Вы устанавливаете пакет Debian и затем используете его файлы для вставки загрузчика в процесс начальной загрузки; но последний может быть сделан без пакета, и пакет может быть установлен без изменяемого процесса начальной загрузки. На самом деле в Вашем случае у Вас могли бы быть и BIOS и версии EFI GRUB, доступного как параметры загрузки.

Самый простой способ проверить для наблюдения, что доступно как параметры загрузки, состоит в том, чтобы использовать Сценарий Информации о Начальной загрузке. Этот сценарий произведет названный файл RESULTS.txt это сообщит, какие загрузчики доступны; однако, это требует, чтобы некоторое знание интерпретировало вывод. Загрузчики режима BIOS разоблачают что-то вроде этого около вершины вывода:

============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 40 
    of the same hard drive for core.img, but core.img can not be found at this 
    location.

Загрузчики режима EFI хранятся как файлы на Системном разделе EFI (ESP). Эти файлы разоблачат в выводе что-то вроде этого:

sda1:     __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /EFI/Boot/bootx64.efi /EFI/ubuntu/MokManager.efi 
                       /EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi 
                       /EFI/ubuntu/shimx64.efi 
                       /EFI/Microsoft/Boot/bootmgfw.efi 
                       /EFI/Microsoft/Boot/bootx64.efi

Отметьте в особенности /EFI/ubuntu/grubx64.efi файл, который является GRUB. (/EFI/ubuntu/shimx64.efi Защищенная загрузка дескрипторов и другие файлы, особенно в /EFI/ubuntu, может быть релевантным, также.) При использовании загрузчика EFI кроме GRUB он может обнаружиться где-нибудь, также.

Кроме того, на загрузчики режима EFI обычно ссылаются записи, сохраненные в NVRAM, из которого Сценарий Информации о Начальной загрузке определит через выполнения efibootmgr:

=================== efibootmgr -v
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0000,0002,2001,2003,2002
Boot0000* ubuntu    HD(1,GPT,249432ce-52fe-4533-b029-ba6c1a901382,0x800,0x100000)/File(EFIubuntushimx64.efi)
Boot0001* EFI Network 0 for IPv4 (68-F7-28-DA-88-B8)    PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/MAC(68f728da88b8,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)RC
Boot0002* Windows Boot Manager  HD(1,GPT,249432ce-52fe-4533-b029-ba6c1a901382,0x800,0x100000)/File(EFIMicrosoftBootbootmgfw.efi)RC
Boot0003* EFI Network 0 for IPv6 (68-F7-28-DA-88-B8)    PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/MAC(68f728da88b8,0)/IPv6([::]:<->[::]:,0,0)RC
Boot0004* EFI USB Device (Generic Flash Disk)   PciRoot(0x0)/Pci(0x12,0x0)/USB(0,0)/USB(0,0)/HD(1,MBR,0x4294967218,0x800,0x1f6a800)RC
Boot2001* EFI USB Device    RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC

Отметьте это efibootmgr применимо только от начальной загрузки режима EFI, поэтому если Вы загрузились в режиме BIOS, Вы не будете видеть этот вывод, даже если загрузчик EFI будет доступен. Кроме того, некоторые EFIs являются багги и забывают или игнорируют записи загрузки EFI, но они могут обычно все еще загружаться в режиме EFI при помощи различных ужасных обходных решений.

Во всяком случае, efibootmgr вывод выглядит страшным и сложным, но ключевые пункты:

  • Если GRUB правильно настроен, a Boot#### запись должна указать на него. В случае Ubuntu это нужно назвать ubuntu, поэтому ищите ubuntu запись- Boot0000 в этом случае. (Число могло быть любым шестнадцатеричным значением.)
  • BootOrder показывает порядок, в котором пробуют записи загрузки. В этом случае, 0000 является первым, что означает что Boot0000 запись (ubuntu) будет попробован сначала.

Точка всего этого - то, что у Вас могли бы быть и версии режима BIOS и режима EFI GRUB, доступного для использования встроенным микропрограммным обеспечением. Если так, оба обнаружатся в выводе Сценария Информации о Начальной загрузке, и будет трудно сказать, какой будет на самом деле использоваться. Для этого, проверяя Ваш текущий режим начальной загрузки лучший подход. Иногда, беспорядок может произойти, или Вы могли бы переключиться от одного режима начальной загрузки до другого. Удаление избыточных загрузчиков может помочь избежать беспорядка, но это может быть опасно - особенно удаление загрузчика режима BIOS от MBR, так как это требует использования dd, который может легко повредить Ваш диск, если Вы делаете ошибку. Обычно лучше оставить неиспользованные загрузчики доступными для встроенного микропрограммного обеспечения, а не рискнуть такими авариями.

3
ответ дан 23 November 2019 в 08:04

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

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