GRUB : ne se lance plus suite à MAJ BIOS

Bonjour,

J’ai fait une maj du bios sur ma carte mère Gigabyte B75M-D3H.

La maj s’est déoulée normalement, mais depuis je ne peux plus booter sur wheezy, grub ne se lance pas.

Y-a-t-il une manip à réaliser, avec un live cd pour reconfigurer grub ?

Merci.

A partir d’un live cd, j’ai installé lvm2 pour verifier que tout était encore là :arrow_right:

[code]lvm> lvdisplay
— Logical volume —
LV Path /dev/Deb-01/root
LV Name root
VG Name Deb-01
LV UUID GliqtN-DAVr-9siY-hoIn-Kc9q-Vv4M-1Q3IRI
LV Write Access read/write
LV Creation host, time Deb-01, 2013-11-30 15:05:07 +0000
LV Status available

open 0

LV Size 9.31 GiB
Current LE 2384
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:0

— Logical volume —
LV Path /dev/Deb-01/swap_1
LV Name swap_1
VG Name Deb-01
LV UUID eIERnj-LBQP-vgNN-ZjOa-H6n9-e8WZ-AXFeCW
LV Write Access read/write
LV Creation host, time Deb-01, 2013-11-30 15:05:07 +0000
LV Status available

open 0

LV Size 3.07 GiB
Current LE 787
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:1

— Logical volume —
LV Path /dev/Deb-01/home
LV Name home
VG Name Deb-01
LV UUID 1NCBe2-4MYF-txbF-lTlN-G2Pt-3iBg-qM3PV7
LV Write Access read/write
LV Creation host, time Deb-01, 2013-11-30 15:05:07 +0000
LV Status available

open 0

LV Size 98.69 GiB
Current LE 25264
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 254:2
    [/code]

Faut-il tenter une reinstall de grub2 ? comme vu ici : https://www.debian-fr.org/reinstaller-grub2-avec-chroot-et-lvm-t31438.html

Que se passe-t-il exactement ? Message d’erreur ?
As-tu vérifié que le boot sur le disque est bien activé dans les paramètres du BIOS ?
As-tu essayé de sélectionner le disque dans le menu de démarrage du BIOS ?

[quote=“PascalHambourg”]Que se passe-t-il exactement ? Message d’erreur ?
As-tu vérifié que le boot sur le disque est bien activé dans les paramètres du BIOS ?
As-tu essayé de sélectionner le disque dans le menu de démarrage du BIOS ?[/quote]

J’ai un message d’erreur du BIOS : “insert a proper media to boot and press any key” ou un truc approchant.
Suivant l’option selectionnée, legacy ou UEFI, j’ai soit le message d’erreur soit un curseur qui clignote indéfiniment.

J’ai essayé en changeant de port SATA à mon SSD, en débranchant les autres disques durs, en selectionnant le menu de boot au démarrage, en modifiant les options de boot du BIOS (Legacy first, UEFI first, Legacy only, UEFI only) … rien n’y fait.

A noter que sur le SSD où se trouve wheezy j’ai trois partitions :

[1] une partition boot monté en /dev/sdb1 en fat32.
[2] une partition bios_grub monté en /dev/sdb2 en ext2.
[3] et ma partition lvm monté en /dev/sdb3.

J’ai accès aux partitions, je les ai monteés avec un live cd.

Partition bios_grub = disque au format GPT. Mais ce type de partition n’est pas censé héberger un système de fichiers mais un chargeur d’amorçage en mode BIOS. Que contient-elle ?

Note : /dev/sdb* n’est pas un point de montage, c’est un fichier spécial de périphérique représentant un disque ou une partition.

Partition FAT32 = probable partition système EFI, habituellement montée sur /boot/efi (cf /etc/fstab) et servant pour l’amorçage en mode UEFI. Que contient-elle ?

Alors, j’ai parlé trop vite : j’ai juste accès à la partition lvm contenant /root et /home.

En fait, c’est les infos donnés par gparted, je ne peux pas la monter avec gparted( mount reste grisée).

Même réponse que ci-dessus.

Mon fstab :

[code] /etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a

device; this may be used with UUID= as a more robust way to name devices

that works even if disks are added and removed. See fstab(5).

#root
/dev/mapper/Deb–01-root / ext4 noatime,commit=180,errors=remount-ro 0 1

/boot/efi was on /dev/sda1 during installation

UUID=721A-9FDE /boot/efi vfat defaults 0 1

home

/dev/mapper/Deb–01-home /home ext4 noatime,nodev,nosuid,commit=180 0 2

swap

/dev/mapper/Deb–01-swap_1 none swap sw 0 0

cdrom

/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

mettre tmp en ram

tmpfs /tmp tmpfs defaults,noexec,nosuid,nodev,size=1g 0 0

mettre cache en ram

tmpfs /var/cache/apt/archives tmpfs defaults,noatime,size=3g 0 0

#ramdisk
tmpfs /media/ram tmpfs defaults,size=4g 0 0

#usbfs
none /proc/bus/usb usbfs devgid=115,devmode=664 0 0

#Eco_F42
UUID=E2F4B552F4B529A5 /media/Eco\040F42 ntfs-3g defaults,noatime,uid=1000 0 0[/code]

Edit: un problème similaire (hormis le fait que j’utilise lvm) qui parle de réinstaller grub-efi-amd64: http://superuser.com/questions/376470/how-to-reinstall-grub2-efi.

fstab confirme que /dev/sda1 (ou sdb1) est censée être une partition système EFI en FAT.
Que se passe-t-il si tu essaies de la monter ? Si gparted ne veut pas, manuellement avec

mount -t vfat /dev/sdb1 /mnt (ou autre point de montage que /mnt)

Au fait, à quoi correspond /dev/sda actuellement ?
Ton live CD est-il amorcé en UEFI ? Si oui, peux-tu exécuter efibootmgr ?

[quote=“PascalHambourg”]fstab confirme que /dev/sda1 (ou sdb1) est censée être une partition système EFI en FAT.
Que se passe-t-il si tu essaies de la monter ? Si gparted ne veut pas, manuellement avec

Voilà, je l’ai monté, elle contient : /mnt/EFI/debian/grubx64.efi

A un windows XP pro, installé après debian qui fait un blue screen au démarrage, mais je suis incapable de dire s’il fonctionnait avant la maj du BIOS, je ne l’ai pas utilisé depuis plus d’un an.

[quote=“PascalHambourg”]Ton live CD est-il amorcé en UEFI ? Si oui, peux-tu exécuter efibootmgr ?[/quote]Je regarde ça.

Donc il y a bien un chargeur GRUB EFI.
Ce que tu peux essayer, c’est recopier /mnt/EFI/debian/grubx64.efi en tant que /mnt/EFI/boot/bootx64.efi (shell EFI par défaut) et redémarrer sur le disque en mode UEFI.

[quote=“PascalHambourg”]Donc il y a bien un chargeur GRUB EFI.
Ce que tu peux essayer, c’est recopier /mnt/EFI/debian/grubx64.efi en tant que /mnt/EFI/boot/bootx64.efi (shell EFI par défaut) et redémarrer sur le disque en mode UEFI.[/quote]
Je crée donc le répertoire mnt/EFI/boot/ qui n’existe pas à l’origine ?

Oui.

Problème résolu.
Merci pour cette aide précieuse PascalHambourg :023

Pour essayer de comprendre, bootx64.efi n’était pas au bon endroit ?

Problème contourné, nuance.

Maintenant que le système redémarre, tu peux rapporter les entrées de boot EFI affichées par [mono]efibootmgr -v[/mono] pour poursuivre l’enquête.

L’installation d’un chargeur d’amorçage EFI “normal” se fait en deux temps :

  1. copier son fichier exécutable .efi dans la partition système EFI ;
  2. l’enregistrer sous un nom convivial dans les variables de boot EFI (manipulables avec [mono]efibootmgr[/mono]) qui sont dans la mémoire non volatile de la carte mère.

Pour le chargeur GRUB EFI de Debian, l’exécutable est ${racine_de_la_partition_EFI}/EFI/debian/grubx64.efi et l’entrée à pour nom “debian”.

Il y a une exception qui ne nécessite pas d’enregistrement : le “shell EFI” par défaut ${racine_de_la_partition_EFI}/EFI/boot/bootx64.efi. En cas d’absence d’une entrée de boot EFI valide, c’est ce programme qui est démarré par défaut s’il est présent. C’est également la présence de ce fichier sur un support amovible tel qu’un disque optique ou une clé USB qui rend ce dernier bootable en mode UEFI.

Mon hypothèse est que la mise à jour du BIOS (on devrait plutôt parler de firmware UEFI) a supprimé l’entrée de boot EFI de Debian. Tu peux la recréer avec efiboomgr et quelques options ou en réinstallant le chargeur avec grub-install, ou bien laisser tel quel tant que tu n’installes pas un autre OS qui remplace le shell EFI par défaut comme Windows.

La nuance est importante en effet.

root@Deb-01:/home/shao# efibootmgr -v BootCurrent: 0003 Timeout: 1 seconds BootOrder: 0003,0001,0002 Boot0001* Hard Drive BIOS(2,0,00)AMGOAMNO........o.I.N.T.E.L. .S.S.D.S.A.2.C.T.0.4.0.G.3....................A...........................>..Gd-.;.A..MQ..L.E.P.R.P.4.3.2.2.0.0.Q.S.4.0.A.0.N.G. . ......AMBOAMNO........o.K.I.N.G.S.T.O.N. .S.V.3.0.0.S.3.7.A.1.2.0.G....................A...........................>..Gd-.;.A..MQ..L.0.5.2.0.B.6.7.7.9.3.0.0.C.9.C.F. . . . ......AMBOAMNO........o.S.T.2.0.0.0.D.L.0.0.4. .H.D.2.0.4.U.I....................A...........................>..Gd-.;.A..MQ..L.2.S.7.H.9.J.C.G.1.3.3.8.5.9. . . . . . ......AMBOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.Z.F.5.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.M.W.1.C.3.S.7.4.0.4.4.7......AMBO Boot0002* CD/DVD Drive BIOS(3,0,00)AMGOAMNO........o.S.l.i.m.t.y.p.e.e.T.A.U.1.0.8. .2. .L.L.0.7....................A.............................<..Gd-.;.A..MQ..L.2.0.1.1.0.4.1.8.0.0.0.0.0.0.0.0.8.B.B......AMBO Boot0003* UEFI: KINGSTON SV300S37A120G HD(1,800,f3800,5b309695-17a6-4dc3-9633-5a42ccf20b78)File(\EFI\BOOT\BOOTX64.EFI)AMBO

Aucune trace de l’entrée de boot Debian. Le plus simple pour la recréer, c’est d’exécuter [mono]grub-install[/mono] (sans argument). Mais comme je l’ai expliqué, ce n’est pas indispensable puisque le shell EFI par défaut suffit.

Ok, je vois ça demain.

Merci.

Voilà, je viens de lancer un grub-install :

root@Deb-01:/home/shao# grub-install BootCurrent: 0003 Timeout: 1 seconds BootOrder: 0000,0003,0001,0002 Boot0001* Hard Drive Boot0002* CD/DVD Drive Boot0003* UEFI: KINGSTON SV300S37A120G Boot0000* debian Installation finished. No error reported.

L’entrée de boot Debian est réapparue, ça me semble pas mal.

En effet. Avec la première place dans l’ordre des priorités, donc avant un support amovible. Au prochain redémarrage, [mono]efibootmgr[/mono] devrait montrer que la valeur de [mono]BootCurrent[/mono] est passée de 0003 (shell par défaut du disque) à 0000 (debian). Si tu supprimes bootx64.efi, le démarrage devrait encore fonctionner. Mais tu peux aussi le laisser par sécurité au cas où cela se reproduit.

L’autre avantage de placer le chargeur comme shell EFI par défaut bootx64.efi, c’est qu’il fonctionne aussi si on met le disque dans une autre machine (UEFI aussi bien sûr). C’est un inconvénient de l’UEFI : les entrées de boot sont enregistrées dans la carte mère, pas sur le disque, d’où de possibles problèmes après changement de carte mère. Windows prévient cela en installant une copie de son chargeur comme shell EFI par défaut.

Oui, tout est rentré dans l’ordre :

root@Deb-01:/home/shao# efibootmgr -v BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001,0002 Boot0000* debian HD(1,800,f3800,5b309695-17a6-4dc3-9633-5a42ccf20b78)File(\EFI\debian\grubx64.efi) Boot0001* Hard Drive BIOS(2,0,00)AMGOAMNO........o.K.I.N.G.S.T.O.N. .S.V.3.0.0.S.3.7.A.1.2.0.G....................A...........................>..Gd-.;.A..MQ..L.0.5.2.0.B.6.7.7.9.3.0.0.C.9.C.F. . . . ......AMBOAMNO........o.S.T.2.0.0.0.D.L.0.0.4. .H.D.2.0.4.U.I....................A...........................>..Gd-.;.A..MQ..L.2.S.7.H.9.J.C.G.1.3.3.8.5.9. . . . . . ......AMBOAMNO........o.W.D.C. .W.D.1.0.E.Z.E.X.-.0.0.Z.F.5.A.0....................A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.M.W.1.C.3.S.7.4.0.4.4.7......AMBO Boot0002* CD/DVD Drive BIOS(3,0,00)AMGOAMNO........o.S.l.i.m.t.y.p.e.e.T.A.U.1.0.8. .2. .L.L.0.7....................A.............................<..Gd-.;.A..MQ..L.2.0.1.1.0.4.1.8.0.0.0.0.0.0.0.0.8.B.B......AMBO

Maintenant on peut dire que le problème est résolu.
Merci pour l’aide et pour les explications.