Объяснение моего & ldquo; efibootmgr - & rdquo; выход

Я пытаюсь выяснить, где находятся загрузочные записи EFI на моем Lenovo U41o, с помощью команды sudo efibootmgr -v.

Кто-нибудь может мне это объяснить?

$ sudo efibootmgr -v
BootCurrent: 0008
Timeout: 0 seconds
BootOrder: 0010,0003,0004,0005,0006,0008,0007,0009,000A,000B,001D
Boot0000  Setup 
Boot0001  Boot Menu 
Boot0002  Diagnostic Splash 
Boot0003* ATA HDD2: WDC WD5000LPVT-08G33T1                      ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000..bYVD.A...O.*..
Boot0004* ATA SSD1: SanDisk SSD U100 24GB                       ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000..bYVD.A...O.*..
Boot0005* RAID DEVICE2: 030a2500d23878bc820f604d8316c068ee79d25ba5388f9ca46ace40bf2f0ade9bc05d6d01
Boot0006* RAID DEVICE1: 030a2500d23878bc820f604d8316c068ee79d25ba5388f9ca46ace40bf2f0ade9bc05d6d00
Boot0007* ATAPI CD: 030a2400d23878bc820f604d8316c068ee79d25baea2090adfde214e8b3a5e471856a354
Boot0008* USB HDD: SanDisk Cruzer Edge  ACPI(a0341d0,0)PCI(1a,0)USB(0,0)USB(0,0)3.!..3.G..A.....
Boot0009* USB FDD:  030a2400d23878bc820f604d8316c068ee79d25b6ff015a28830b543a8b8641009461e49
Boot000A* USB CD:   030a2400d23878bc820f604d8316c068ee79d25b86701296aa5a7848b66cd49dd3ba6a55
Boot000B* PCI LAN: EFI Network (IPv4)   ACPI(a0341d0,0)PCI(1c,1)PCI(0,0)MAC(089e01381698,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0x.J.+*.N.....=8.
Boot000C* Lenovo Recovery System    ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000HD(3,276800,1f4000,26c6992a-07b8-43bc-98b8-d8c83e64db3b)File(\EFI\Microsoft\Boot\lrsBootMgr.efi)
Boot0010* Windows Boot Manager  HD(2,1f4800,82000,72931328-061b-42e0-8fd8-8a5ac7775074)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...e................
Boot0014  Setup 
Boot0015  Boot Menu 
Boot0016  Diagnostic Splash 
Boot001C* Lenovo Recovery System    ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000HD(3,276800,1f4000,26c6992a-07b8-43bc-98b8-d8c83e64db3b)File(\EFI\Microsoft\Boot\lrsBootMgr.efi)
Boot001D* PCI LAN: EFI Network (IPv6)   ACPI(a0341d0,0)PCI(1c,1)PCI(0,0)MAC(089e01381698,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000x.J.+*.N.....=8.
3
задан 11 August 2014 в 02:33

2 ответа

Можно получить подробное объяснение efibootmgr пакета с командой:

    man efibootmgr

Это объясняет вывод, который Вы получаете от efibootmgr в мельчайших подробностях.

1
ответ дан 11 August 2014 в 02:33

Я собираюсь взять их не в порядке, так как некоторые ранние строки относятся к более поздним. Объем вывода Boot#### строки, которые описывают параметры загрузки.

Boot0000  Setup 
Boot0001  Boot Menu 
Boot0002  Diagnostic Splash 

Ваш вывод в качестве примера включает большое число вариантов как они, которые имеют имена, но никакую дальнейшую разработку. Это, вероятно, встроенные опции на Вашем определенном встроенном микропрограммном обеспечении. В Вашем случае эти первые три, кажется, опции ввести микропрограммное установочное меню, запустить встроенный диспетчер начальной загрузки и отобразить диагностический экран-заставку - но действительно, нет никакого способа знать наверняка, каковы они, по крайней мере, не от efibootmgr один только вывод.

Числа после Boot строка находится в шестнадцатеричном, и нет ничего специального ни о каком данном числе - то есть, Boot0000 не резервируется ни для какой конкретной функции, ни Boot0001 или что-либо еще. Номера присвоены, когда программа создает новую запись загрузки, и присвоения чрезвычайно бессмысленны. (По крайней мере, если нет ошибка; я знаю о некоторых ошибках, которые могут сделать микропрограммную пользу записями загрузки с более низким номером.)

Boot0003* ATA HDD2: WDC WD5000LPVT-08G33T1                      ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000..bYVD.A...O.*..
Boot0004* ATA SSD1: SanDisk SSD U100 24GB                       ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000..bYVD.A...O.*..

Эти две опции описывают определенные устройства. После Boot#### строка прибывает описание, которое является человеческим поддающимся толкованию, по крайней мере, к точке - Вы видите, что это два дисковых устройства. ACPI(...) и PCI(...) строки определяют аппаратные средства, и эта информация с готовностью не интерпретируется людьми, кроме путем перепроверки с другой информацией об аппаратных средствах. Затем существует немного мусора, который является закодированными данными для записи, которая могла бы или не могла бы быть легко считана людьми. В этом случае это ясно легко не интерпретируется людьми.

В большинстве случаев, когда Вы видите запись как это, которое относится к дисковому устройству, ссылка действительно в файл загрузчика нейтрализации (EFI/BOOT/bootx64.efi, по крайней мере, в x86-64 системах) на Системном разделе EFI (ESP) диска. EFI не использует загрузчики, встроенные в MBR диска, способ, которым делает BIOS.

Boot0005* RAID DEVICE2: 030a2500d23878bc820f604d8316c068ee79d25ba5388f9ca46ace40bf2f0ade9bc05d6d01
Boot0006* RAID DEVICE1: 030a2500d23878bc820f604d8316c068ee79d25ba5388f9ca46ace40bf2f0ade9bc05d6d00
Boot0007* ATAPI CD: 030a2400d23878bc820f604d8316c068ee79d25baea2090adfde214e8b3a5e471856a354

Это ясно больше аппаратных записей. Я не распознаю формат для этих записей. Можно проигнорировать длинные строки; просто знайте, что они обращаются к устройствам.

Я опускаю несколько записей здесь, так как они - больше того же....

Boot000B* PCI LAN: EFI Network (IPv4)   ACPI(a0341d0,0)PCI(1c,1)PCI(0,0)MAC(089e01381698,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0x.J.+*.N.....=8.

Это - вариант на дисковых записях, но этот определяет сетевое устройство. Обратите внимание, что это включает MAC-адрес (MAC(...)) и указывает использование IPv4 (IPv4(...)). Если бы эта запись должна была быть загружена, то компьютер попытался бы PXE-загрузиться от сетевого сервера.

Boot000C* Lenovo Recovery System    ACPI(a0341d0,0)PCI(1f,2)03120a00010000000000HD(3,276800,1f4000,26c6992a-07b8-43bc-98b8-d8c83e64db3b)File(\EFI\Microsoft\Boot\lrsBootMgr.efi)
Boot0010* Windows Boot Manager  HD(2,1f4800,82000,72931328-061b-42e0-8fd8-8a5ac7775074)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...e................

Эти записи оба определяют загрузчики EFI, сохраненные на жестком диске. Они делают так с немного отличающимися синтаксисами - отмечают, что первое начинается ACPI(...) и PCI(...) записи, как более ранние сделали, тогда как второе использование HD(...) идентификатор. Последний включает GUID для раздела, наряду с некоторым другим idenfications. Обе записи включают имя файла (File(...)). Запись Windows включает больше подобных мусору данных в конец, но в этом случае это - строка UTF-16, это передается загрузчику как опция.

Ваш пример включает много записей. Много EFIs производят намного более короткие списки - например, они могут пропускать встроенные опции или опции для PXE-начальной-загрузки из сети. OTOH, иногда Вы будете видеть другие опции, как записи, которые относятся к начальным загрузкам режима BIOS. Особенно отсутствующий в Вашем списке была запись для начальной загрузки Ubuntu. Вот такая запись от одного из моих компьютеров:

Boot000D* ubuntu    HD(1,800,112800,a8d39218-44ce-455b-8735-919754df131d)File(\EFI\UBUNTU\GRUBX64.EFI)..BO

Как Вы видите, это довольно подобно в канонической форме записи для загрузчика Windows, хотя, конечно, детали отличаются. Ваш пример, возможно, пропускал запись Ubuntu, потому что Вы еще не установили Ubuntu, потому что Вы установили Ubuntu в режиме BIOS/CSM/legacy (ошибка), потому что Ваш EFI является багги и так efibootmgr не могло добавить запись, или потому что Вы явно удалили запись, после того как она была создана. Если у Вас есть проблема загрузки, я рекомендую, чтобы Вы задали другой вопрос и предоставили подробную информацию.

Остающиеся записи следуют за этими шаблонами. Теперь, поддержка до запуска....

ubuntu@ubuntu:~$ sudo efibootmgr -v
BootCurrent: 0008

BootCurrent строка определяет запись, которая использовалась для начальной загрузки компьютера. В этом случае это Boot0008, который я отрезал, но который определяет карту флэш-памяти с интерфейсом USB - Вы загрузили использование загрузчика нейтрализации, сохраненного на том диске.

Timeout: 0 seconds

Эта строка определяет тайм-аут на встроенном диспетчере начальной загрузки EFI. На практике это могло бы или ничего не могло бы означать.

BootOrder: 0010,0003,0004,0005,0006,0008,0007,0009,000A,000B,001D

Эта строка определяет порядок, в котором пробуют записи загрузки. В этом случае EFI попытается загрузиться с Boot0010 (диспетчер начальной загрузки Windows). Если та запись определит несуществующее устройство или файл, или если программа начальной загрузки возвратится, то встроенное микропрограммное обеспечение попробует Boot0003 (Ваш жесткий диск Western Digital). Если та запись перестанет работать, то она попробует Boot0004 (Ваш SSD SanDisk), и так далее.

5
ответ дан 11 August 2014 в 02:33

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

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