====== 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.
----
[[all:bibles:linux:grub|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=640x480, 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
----
[[all:bibles:linux:grub|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
* 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
* 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
* 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.
----
[[all:bibles:linux:grub|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 **
[[https://doc.ubuntu-fr.org/tutoriel/grub2_parametrage_manuel|Doc Ubuntu]]
----
[[all:bibles:linux:grub|Haut de page]]