Console Grub - Utilisation

Console Grub - Utilisation

Mise à jour : Debian 10 Buster/sid

Différents cas d'emploi de la console grub2 sont décrits ici :

Références :

Sommaire

1 - Disponibilité des commandes

Dans ce qui suit on suppose

grub rescue> ls ($prefix)/i386-pc

Si la commande précédente n'affiche pas la liste des modules grub, rechercher dans le système, l'emplacement du répertoire i386-pc, en explorant avec ls les différents périphériques hd0,hd1,... et les différents partitions msdos1,msdo2,...

Puis redéfinir le paramètre prefix, par exemple

grub rescue> set prefix=(hd0,msdos1)/boot/grub

En cas de partitions chiffrées et de volumes logiques, il sera nécessaire au préalable de s'assurer de leur accessibilité : voir ci-dessous

2 - Accès aux partitions chiffrées et volumes logiques

2.1 - Partitions chiffrées

grub> insmod luks
grub> cryptomount
grub> ls
(hd0) (hd0,msdos02) (hd0,msdos01)
grub> cryptomount -a
Tentative de déchiffrement de la clef principale...
Entrez le mot de passe pour hd0,msdos02 (74xxxxxxxxx....xxxxxxx) :
grub> cryptomount hd0,msdos2
Tentative de déchiffrement de la clef principale...
Entrez le mot de passe pour hd0,msdos02 (74xxxxxxxxx....xxxxxxx) :
Emplacement de clef 0 ouvert
grub> ls
(hd0) (hd0,msdos02) (hd0,msdos01) (crypto0) (proc) (fd0)
grub> set root=(crypto0)
grub >set prefix=(crypto0)/grub # ou set prefix=(crypto0)/boot/grub selon le cas

2.2 - Volumes logiques

grub> insmod lvm
grub> ls
(crypto0) (proc) (hd0) (hd0,msdos2) (hd0,msdos1) (fd0) (lvm/vg-boot) (lvm/vg-home) (lvm/vg-swap) (lvm/vg-root)
grub> set root=(lvm/vg-boot)
grub> set prefix=(lvm/vg-boot)/grub

3 - Lancement d'un fichier de commandes grub

grub> normal
grub rescue> insmod normal
grub rescue> normal
grub> normal (hdx,msdosy)/boot/grub/config.cfg.BU
grub> configfile (hdx,msdosy)/boot/grub/config.cfg

Si le fichier comprend des entrées de menu, un menu contenant ces entrées est affiché

4 - Boot d'un noyau linux Debian

Dans le cas de la partition 1 du disque 0, utiliser la commande :

grub> set root=(hd0,msdos1)

Dans le cas d'un dossier grub dans la partition 1 du disque 0, dans le dossier boot, utiliser la commande :

grub> set prefix=(hd0,1)/boot/grub
grub> insmod linux
grub> linux /vmlinuz root=.......
grub> linux /vmlinuz root=/dev/sda1
grub> linux /vmlinuz root=UUID=2f4f92d0-ca7b-40c1-82e3-237b2cb043ef
grub> linux /vmlinuz root=LABEL=jessie

Si la partition est chiffrée, indiquer le chemin non pas du container luks, mais de son contenant (partition ext4 généralement), par exemple

grub> linux /vmlinuz root=/dev/mapper/buster
grub> linux /vmlinuz root=UUID=986a0c0d-23f9-4073-9b0c-a98dd5aeb260
grub> grub> linux /vmlinuz root=LABEL=buster
grub> initrd /initrd.img

De même, remplacer initrd.img par le chemin complet si le lien n'existe pas

grub> insmod boot
grub> boot

Après la commande boot, la console grub se ferme et laisse la place au démarrage de linux.

5 - Affichage

5.1 - Modes d'affichage

5.1.1 Présentation

grub> insmod terminal
grub> terminal_output
Active output terminals:
console
Available ouput terminals:
gfxterm

Dans le cas présent, le mode courant est affichage texte (console). Le mode graphique est disponible (gfxterm).

5.1.2 Mode texte

Pour forcer le mode texte :

grub> terminal_output console

5.1.3 Mode graphique

grub> insmod all_video
grub> insmod videoinfo
gurb> videoinfo
grub> set gfxmode=auto
grub> insmod gfxterm
grub> insmod terminal
grub> terminal_output gfxterm
grub> set gfxmode=640x480x24

5.2 - Papier peint

Le papier peint par défaut de grub, tel qu'il est défini par le paquet desktop-base est défini par un lien situé en

/usr/share/images/desktop-base/desktop-grub.png

Dans ce qui suit, on suppose que ce papier peint est recopié dans le répertoire $prefix sous le nom de splash.png

$ sudo cp /usr/share/images/desktop-base/desktop-grub.png /boot/grub/splash.png

Vérifier la présence et le nom du fichier :

grub> ls $prefix
./ ../ i386-pc/ locale/ fonts/ unicode.pf2 grubenv layouts/ grub.cfg splash.png
grub> insmod png
grub> insmod gfxterm_background
grub> background_image $prefix/splash.png

Note grub assurera la mise à l'échelle du papier peint par rapport à l'écran disponible