Grub erreur (stage1 not read correctly)

Tags: #<Tag:0x00007f63e37cb4d0>

Bonjour,
j’ai installer deb8 puis win7 en dualboot mais la le soucis c’est que j’essaie de réinstaller grub (grub-install /dev/sda) et voilà le retour,

[ Searching for GRUB installation directory … found: /boot/grub
The file /boot/grub/stage1 not read correctly. ]

Merci d’avance,
Cdlt Théo

“stage1” est un composant de GRUB 1 (grub-legacy) alors que par défaut Debian installe GRUB 2 (grub-pc, grub-efi…) depuis belle lurette.

Avec quoi essaies-tu de réinstaller GRUB ? L’installateur Debian en mode rescue, live CD, avec ou sans chroot… ? Je recommande l’installateur Debian.

Ah Merci :slight_smile: , j’ai installé Grub 2 Mais j’ai une erreur,
[ Installing for i386-pc platform.
grub-install : attention : cette étiquette de partition GPT ne contient pas de partition d’amorçage BIOS ; l’embarquage ne sera pas possible.
grub-install : attention : L’embarquage est impossible. GRUB ne peut être installé sur cette configuration qu’en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée…
grub-install : erreur : refus de continuer avec les listes de blocs.
]

Et en plus il ne détecte pas Windows :confused:

GRUB BIOS (i386-pc) préfère une partition de type “BIOS boot” (bios_grub) pour s’installer sur un disque au format GPT. La taille nécessaire pour cette partition étant de moins de 50 ko, il y a presque toujours un espace libre quelque part pour la créer au début ou à la fin du disque. Dans certains cas on peut quand même installer le chargeur avec l’option --force, mais ce n’est pas recommandé.

Cependant si Windows 7 est installé sur un disque avec un table de partition GPT, alors l’amorçage de Windows se fait en mode EFI et pour que le dual boot fonctionne avec GRUB c’est grub-efi-amd64 (firmware UEFI 64 bits) ou grub-efi-ia32 (firmware UEFI 32 bits même si le processeur est 64 bits, plus rare) qu’il faut installer après avoir démarré en mode EFI et monté la partition système EFI sur /boot/efi. Et c’est un peu normal que GRUB BIOS (i386-pc) ne détecte pas Windows.

Il ne fonctionne toujours pas avec Windows, je doit l’installer avec l’installateur debian grub ? Car la je le fais avec supergrub2, et aussi la [quote=“PascalHambourg, post:4, topic:70852”]
partition système EFI
[/quote]

c’est /dev/sda? je doit la monter sur /boot/efi depuis l’installateur ?

/dev/sda est le disque entier. Les partitions sont /dev/sda1, /dev/sda2…
Pour voir laquelle est la partition système EFI, il faut afficher la table de partition.
Je ne sais pas comment fonctionne supergrubdisk, donc je ne peux pas dire s’il convient ou pas. L’installateur Debian en mode rescue peut être utilisé à condition de l’amorcer en mode EFI.

C’est /dev/sda1 le système EFI, et je suis sur le mode rescue (EFI) mais la je fais quoi pour réinstaller GRUB au juste ? Car l’installateur me lance les outils d’installation ect, puis même dans un shell je ne peux rien monter

Si la partition système EFI est la première partition et si Debian a été installé en premier avant Windows, cela signifie que cette partition a été créée lors de l’installation de Debian qui s’est donc effectuée en mode EFI ou que la partition existait déjà avant l’installation de Debian. L’absence de partition de type “BIOS boot” (bios_grub) dans un disque au format GPT est aussi un signe que Debian peut avoir été installé en mode EFI.

La première étape en mode rescue est de sélectionner la partition racine de Debian et de choisir de lancer un shell dessus.

Si Debian a bien été installé en mode EFI, le fichier /etc/fstab de la racine contient une ligne pour monter la partition système EFI sur /boot/efi.
Il faut monter les systèmes de fichiers définis dans /etc/fstab avec la commande mount -a, vérifier avec df que tout est monté correctement. Si Debian est installé en mode EFI, il devrait y avoir un répertoire /boot/efi/efi/debian et /boot/grub/*-efi. La commande efibootmgr devrait afficher une ligne “Boot*” avec “debian”, mais dans la ligne “BootOrder” le numéro de la ligne de Windows Boot Manager devrait être en premier, donnant la priorité au chargeur de Windows.

Pour remettre le chargeur GRUB EFI de Debian en premier dans l’ordre de démarrage, il faut soit utiliser efibootmgr pour redéfinir l’ordre de boot (voir page de manuel), soit réinstaller le chargeur avec grub-install (sans argument).

Si par contre c’est grub-pc qui est installé, avec un répertoire /boot/grub/i386-pc et pas de répertoire /boot/efi, il faut créer ce répertoire, une ligne pour y monter la partition système EFI dans /etc/fstab, la monter et installer le paquet grub-efi-amd64 ou grub-efi-ia32 (d’où le besoin du réseau). La variante à installer peut être déduite du nom du fichier présent dans le répertoire /boot/efi/efi/boot/.

1 J'aime