web-dev-qa-db-fra.com

Explication de ma sortie "efibootmgr -v"

J'essaie de savoir où se trouvent les enregistrements de démarrage EFI sur mon Lenovo U41 en utilisant la commande Sudo efibootmgr -v.

Est-ce que quelqu'un peut me l'expliquer?

$ 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
Gordon

Je vais les prendre hors service, car certaines des premières lignes se réfèrent aux suivantes. Le gros du résultat est constitué des lignes Boot####, qui décrivent les options de démarrage.

Boot0000  Setup 
Boot0001  Boot Menu 
Boot0002  Diagnostic Splash 

Votre exemple de sortie inclut un grand nombre d'options comme celles-ci, qui ont un nom mais ne sont pas développées. Ce sont probablement des options intégrées à votre micrologiciel spécifique. Dans votre cas, ces trois premières options semblent être des options pour accéder au menu de configuration du micrologiciel, pour lancer le gestionnaire de démarrage intégré et pour afficher un écran de démarrage pour le diagnostic. Mais, en réalité, il n’ya aucun moyen de savoir avec certitude de quoi il s’agit, du moins pas de la sortie efibootmgr seule.

Les nombres qui suivent la chaîne Boot sont en hexadécimal, et il n’ya rien de spécial dans un nombre donné - c’est-à-dire que Boot0000 n’est pas réservé pour une fonction particulière, ni Boot0001 ni rien d’autre. . Les numéros sont attribués lorsqu'un programme crée une nouvelle entrée de démarrage et les assignations sont essentiellement dépourvues de sens. (Du moins, à moins qu'il y ait un bogue; je connais des bogues qui peuvent faire en sorte qu'un microprogramme favorise les entrées de démarrage dont le nombre est inférieur.)

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.*..

Ces deux options décrivent des périphériques spécifiques. Après la chaîne Boot####, vient une description est interprétable par l'homme, du moins jusqu'à un certain point - vous pouvez voir qu'il s'agit de deux unités de disque. Les chaînes ACPI(...) et PCI(...) identifient le matériel et ces informations ne sont pas facilement interprétées par les humains, sauf par recoupement avec d'autres informations sur le matériel. Ensuite, il y a un peu de charabia, qui est une donnée codée pour l'entrée qui peut être ou non facilement lue par l'homme. Dans ce cas, il est clairement difficile à interpréter par les gens.

Dans la plupart des cas, lorsque vous voyez une entrée comme celle-ci qui fait référence à un périphérique de disque, la référence est en réalité le fichier du chargeur d'amorçage de secours (EFI/BOOT/bootx64.efi, au moins sur les systèmes x86-64) sur la partition système EFI du disque ( ESP). EFI n'utilise pas les chargeurs de démarrage intégrés au MBR d'un disque, contrairement au BIOS.

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

Ce sont clairement plus d'entrées de matériel. Je ne reconnais pas le format de ces entrées. Vous pouvez ignorer les longues chaînes. Sachez simplement qu'ils font référence à des périphériques matériels.

J'omets quelques entrées ici, car elles sont plus ou moins identiques ...

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.

Ceci est une variante sur les entrées de disque, mais celle-ci identifie un périphérique réseau. Notez qu'il inclut une adresse MAC (MAC(...)) et spécifie l'utilisation de IPv4 (IPv4(...)). Si cette entrée devait être démarrée, l'ordinateur essaierait de démarrer PXE à partir d'un serveur réseau.

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................

Ces entrées identifient les chargeurs de démarrage EFI stockés sur le disque dur. Ils le font avec des syntaxes légèrement différentes - notez que la première commence par ACPI(...) et PCI(...), comme le faisaient les précédentes, tandis que la seconde utilise un identifiant HD(...). Ce dernier inclut un GUID pour la partition, ainsi que quelques autres identifiants. Les deux entrées incluent un nom de fichier (File(...)). L'entrée Windows inclut plus de données de type charabia à la fin, mais dans ce cas, c'est une chaîne UTF-16 qui est transmise au chargeur de démarrage en tant qu'option.

Votre exemple inclut un lot d'entrées. De nombreuses EFI produisent des listes beaucoup plus courtes. Par exemple, les options intégrées ou les options permettant d’amorcer PXE à partir du réseau peuvent manquer. OTOH, vous verrez parfois d'autres options, telles que des entrées faisant référence à des démarrages en mode BIOS. Notamment absent de votre liste était une entrée pour le démarrage d'Ubuntu. Voici une telle entrée d'un de mes ordinateurs:

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

Comme vous pouvez le constater, sa forme de base est assez similaire à celle du chargeur de démarrage Windows, bien que les détails diffèrent bien entendu. Une entrée Ubuntu est peut-être manquante dans votre exemple, car vous ne l'avez pas encore installée, car vous avez installé Ubuntu en mode BIOS/CSM/legacy (une erreur), car votre EFI est défectueux et donc efibootmgr n'a pas pu ajouter. une entrée ou parce que vous l'avez explicitement supprimée une fois créée. Si vous rencontrez un problème de démarrage, je vous recommande de poser une autre question et de fournir des détails.

Les entrées restantes suivent ces modèles. Maintenant, revenez au début ...

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

La ligne BootCurrent identifie l'entrée qui a été utilisée pour démarrer l'ordinateur. Dans ce cas, c’est Boot0008, que j’ai coupé, mais qui identifie un lecteur flash USB - vous avez démarré à l’aide du chargeur de démarrage de secours stocké sur ce lecteur.

Timeout: 0 seconds

Cette ligne identifie le délai d'attente sur le gestionnaire de démarrage intégré d'EFI. En pratique, cela pourrait vouloir dire ou ne pas dire grand chose.

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

Cette ligne identifie l'ordre dans lequel les entrées de démarrage sont essayées. Dans ce cas, EFI essaiera de démarrer avec Boot0010 (le gestionnaire de démarrage Windows). Si cette entrée identifie un périphérique ou un fichier inexistant, ou si le programme de démarrage revient, le microprogramme essaiera alors Boot0003 (votre disque dur Western Digital). Si cette entrée échoue, il essaiera Boot0004 (votre disque SSD SanDisk), etc.

5
Rod Smith

Vous pouvez obtenir une explication détaillée du paquet efibootmgr avec la commande:

    man efibootmgr

Il explique en détail le résultat obtenu par efibootmgr.

1
Ben