GRUB

Pour faire apparaître le menu grub au démarrage appuyer sur la touche ESC ou bien maintenir la touche ⇧ Shift

Configuration

Fichier de paramètres

Le paramétrage se fait dans le fichier /etc/default/grub.

Paramètres

Paramètre	Usage
GRUB_DEFAULT=0	Correspond au menu par défaut (0=premier, 1=deuxième). Possibilité de mettre le titre exact entre “ ”
GRUB_TIMEOUT=10	Temporisation avant lancement du système. Si on ne veut pas de temporisation = -1
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”	Démarrage en mode silencieux avec slashscreen. Supprimer quiet splash pour un démarrage verbeux.
GRUB_CMDLINE_LINUX_DEFAULT=“ipv6.disable=1”	Désactivation IPV6

Démarrage sur la précédente sélection

Il est possible de démarrer automatiquement sur la même sélection que lors du démarrage précédent en positionnant les paramètres :

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Prise en compte des modifications

Ubuntu

sudo update-grub

CentOS/RedHat

grub-mkconfig -o /boot/grub/grub.cfg

Fichier de configuration

La prise en compte du fichier de paramètres génère le fichier /boot/grub/grub.cfg

Pour vérifier les titres des menus :

grep menuentry /boot/grub/grub.cfg
Il ne faut pas modifier ce fichier directement. Il est regénéré à chaque installation de nouveau kernel.

Haut de page

Grub rescue

Commandes

Commande	Action
help	Aide sur les commandes. Possibilité d’y ajouter un | more.
ls	Liste les unités disponibles. Permet de voir le contenu des répertoires /boot et /boot/grub
initrd	charger initrd
linux	charger le noyau linux
loopback	monter un fichier comme dispositif (device). loopback loop (hd0,2)/iso/my.iso
lsmod	afficher les modules chargés
reboot	redémarrer la machine.
rescue	entrer dans le mode rescue.
set	montrer les variables environnementales en place. Initialise les variables comme set gfxmode=640×480, color_normal=cyan/black. Utiliser cette dernière commande en ligne de commandes pour tester plusieurs couleurs de polices et de menus.
vbeinfo	afficher les résolutions d'écran disponibles

Dépannage

Dans le but de démarrer depuis le prompt “grub>”, l'utilisateur doit localiser/vérifier :

Les partitions - la partition / et chaque partition séparée comme la partition de boot.

Les fichiers - la localisation des fichiers Linux et initrd.img (normalement dans /boot) et le fichier grub.cfg dans /boot/grub

Les commandes suivantes aideront à déterminer ces informations :

set	quand set est saisi tout seul, la commande affiche les réglages de GRUB2.
ls	La partition Linux peut être listée, comme n'importe quelle partition spéciale comme /boot ou /home. Par exemple (hd0) (hd0,1) (hd1,5) dans cet exemple sda, sda1 et sdb5 sont reconnues. Pour (hd1,5), la valeur X est 1 et la valeur Y est 5.
ls (hdX,Y)/	ce résultat devrait inclure vmlinuz et initrd.img
ls (hdX,Y)/boot	ce résultat devrait inclure les fichiers noyau spécifique et initrd.img
ls (hdX,Y)/boot/grub	cette saisie (en remplaçant X et Y) devrait contenir de nombreux fichiers *.mod et le fichier grub.cfg, aussi bien que de nombreux fichiers *.img

Exemple de réparation

résultat de ls :

(hd0) (hd0,msdos1)

résultat de set

prefix=(hd0,msdos1)/boot/grub
root=(hd0,msdos1)

Pour réparer :

ls (hd0,msdos1)/boot

pour noter les dernières version de vmlinuz et initrd vmlinuz-2.6.28-35-generic et initrd.img-2.6.28-35-generic

Ensuite :

insmod linux
linux /boot/vmlinuz-2.6.28-35-generic root=/dev/sda1 quiet
initrd /boot/initrd.img-2.6.28-35-generic
boot

Et la miracle ubuntu démarre. Pour finir, dans une fenêtre shell

sudo update-grub
sudo grub-install /dev/sda1

boot-repair

Utilisation de l’image ISO ou bien à partir d’un live CD Ubuntu :

sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install boot-repair

Haut de page

Recovery / Single user

Afin de réparer une installation plantée il peut être nécessaire de démarrer le système en mode single user (run level 1).

Ubuntu

Redémarrer la machine.

Faire apparaître le menu grub au démarrage à l'aide de la touche ESC ou bien en maintenant la touche ⇧ Shift</note>

Choisir la version a démarré avec l'option Recovery mode

Le système de fichier est en lecture seule, pour y accéder en écriture il faut le remonter en mode read/write :

mount -o rw,remount /

Redhat / CentOS

A partir de Redhat/CentOS 7

Redémarrer la machine

Faire apparaître le menu grub au démarrage à l'aide de la touche ESC ou bien en maintenant la touche ⇧ Shift</note>

Choisir la version à démarrer et taper E pour éditer la ligne courante

Descendre sur la ligne linux16 /vmlinuz

Remplacer la chaine de caractères ro par rw init=/sysroot/bin/sh

Taper CtrlX pour redémarrer en single user

Le système de fichier est en lecture seule, pour y accéder en écriture :

chroot /sysroot

Autres versions

Redémarrer la machine

Faire apparaître le menu grub au démarrage à l'aide de la touche ESC ou bien en maintenant la touche ⇧ Shift</note>

Choisir la version à démarrer et taper E pour éditer la ligne courante

Descendre sur la ligne kernel et ajouter single à la fin

Taper B pour booter

Raspberry Pi OS

Editer le fichier cmdline.txt

Ajouter à la fin de la ligne : init=/bin/sh

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait init=/bin/sh

Redémarrer le Raspberry Pi

Ne fonctionne pas avec Ubuntu sur Rasberry Pi.

Haut de page

Reconstruction

Après avoir démarré en mode secours. Lister les logical volumes :

lvs –o vg_name,lv_name

Vérifier que les paramètrs rd.lvm.lv correspondent bien aux logical volume :

grep GRUB_CMDLINE_LINUX /etc/default/grub

Reconstruire grub :

BIOS : grub2-mkconfig -o /etc/grub2.cfg UEFI : grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

Sources

Doc Ubuntu

Haut de page