Table des matières
GRUB
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
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
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
roparrw 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
kernelet ajoutersingleà 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
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
