Réinstaller Grub sous Archlinux

17 juin 2012 0
Attention ! Ce post a plus de 1 an, ce qui signifie qu'il n'est pas forcément à jour !

Ayant eu pas mal de soucis en ce moment à cause de Windows et ayant dû faire pas mal de réinstallation, celui-ci en a profité pour manger mon Grub pour le remplacer par son propre amorceur.

Dans l’idée, ce n’est pas vraiment difficile à remettre d’habitude, car j’ai une clef USB contenant le Boot Repair Disc, qui permet en « un clic » de remettre tout en place correctement. Mais pas dans mon cas, et ce peut être le cas pour d’autres. Voici donc la procédure à suivre :

Il faut, au préalable, savoir où sont stockés les différentes partitions à monter (dans mon cas, /dev/sda8 = archlinux, /dev/sda7 = /boot )

Booter sur un iso de ubuntu ou arch, peu importe tant qu’on se retrouve avec une ligne de commande disponible, et avec un clavier en français (plus pratique !).

mkdir /media/archlinux
mount /dev/sda8 /media/archlinux

Ensuite, on prépare le chroot (permettant d’avoir un terminal « comme si on était sur un terminal de notre environnement »)

cd /media/archlinux
mount -o bind /dev dev/
mount -t proc proc proc/
mount -t sysfs sys sys/

On monte le dossier de boot :

mount /dev/sda7 boot/

Et enfin, on rentre dans notre environnement !

chroot . /bin/bash

On met à jour mtab (fichier permettant de savoir ce qui est monté)

grep -v rootfs /proc/mounts > /etc/mtab

Ensuite, on rentre dans la console Grub

grub

Ensuite, on cherche l’endroit sur lequel il doit booter. Suivant votre config, executez

find /boot/grub/stage1

Ou

find /grub/stage1

Si vous utilisez un /boot sur une partition différente

Ca va vous renvoyer quelque chose du genre
(hd0,7)

Maintenant que l’on sait où on va installer Grub, on lui précise la racine d’installation de Grub

root (hd0,7)

Et on l’installe sur notre partition

setup (hd0)

Si tout a marché, on quitte

quit

Et on sort de notre chroot

exit

Soit, le tout en un :

mkdir /media/archlinux
mount /dev/sda8 /media/archlinux
cd /media/archlinux
mount -o bind /dev dev/ 
mount -t proc proc proc/ 
mount -t sysfs sys sys/
mount /dev/sda7 boot/
chroot . /bin/bash
grep -v rootfs /proc/mounts > /etc/mtab
grub
find /grub/stage1
(hd0,7)
root (hd0,7)
setup (hd0)
quit
exit


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *