===== Gérer le programme d'amorçage : Grub ===== Suite à une mise à jour majeur ou lors de la désinstallation d'une distribution Linux en dualboot, il arrive parfois que le système ne démarre plus. A cette effet, on tombe souvent sur le "Grub Rescue" [[https://fr.wikipedia.org/wiki/GNU_GRUB|Grub]] est un utilitaire qui permet de démarrer sur la bonne partition où le système est installé. source : * https://wiki.archlinux.org/index.php/GRUB#Windows_installed_in_UEFI-GPT_Mode_menu_entry * https://wiki.archlinux.org/index.php/Dual_boot_with_Windows ==== Si la distribution est toujours présente ==== Il est donc nécessaire de le localiser puis de le renseigner dans les variables d'environnements "prefix" et "root". grub rescues> ls (hd0) (hd0,msdos0) (hd0,msdos1) (hd1) (hd1,msdos0) (hd1,msdos1) La commande ci-dessous nous donne la liste les différentes partitions. On peut en déduire que le fichier grub.cfg se situe en réalité sur la partition hd1,msdos0. (On peut vérifier cette suggestion avec cette synthaxe : ls (hd1,msdos0)/boot/grub) Renseigner correctement les variables d'environnements et on indique à Grub que c'est une partition normale en suivant cette procédure : grub rescue> set prefix=(hd1,msdos0)/boot/grub grub rescue> set root=(hd1,msdos0) grub rescue> insmod normal grub rescue> normal A ce stade, Grub démarre le système. Après que le système ait chargé, il faut modifier la mauvaise ligne dans le fichier de configuration : # nano /boot/grub/grub.cfg On peut maintenant rebooter tranquillement! //Dans le pire des cas, il est possible de réinstaller grub en lançant l'installation d'une distribution (ex : Debian) et d'aller directement à l'option, "installation de Grub".// ==== Suite à la suppression de la partition ==== Booter sur clé USB Windows 10, par exemple, et lancer un terminal en tant qu'administrateur pour exécuter ces commandes : X:> bootrec /fixmbr X:> bootrec /fixboot On relance la machine et la système Windows redémarre. ==== Menu Grub pour Windows ==== * Avec GPT : menuentry "Windows x86_64 UEFI-GPT" { set root='(hd0,gpt3)' insmod part_gpt insmod fat insmod ntfs insmod search_fs_uuid insmod chain search --fs-uuid --set=root $hints_string $fs_uuid chainloader (${root})/Windows/System32/Boot/winload.efi # Ou chainloader +1 si la 1er partition (genre de taill 100Mo) existe toujours } ==== Menu Grub pour Debian ==== menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-763bb40c-9060-48f9-86dd-f109d087c22f' { load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 set root='hd0,gpt6' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 763bb40c-9060-48f9-86dd-f109d087c22f else search --no-floppy --fs-uuid --set=root 763bb40c-9060-48f9-86dd-f109d087c22f fi echo 'Chargement…' linux /boot/vmlinuz-3.16.0-4-amd64 root=UUID=763bb40c-9060-48f9-86dd-f109d087c22f ro quiet initrd /boot/initrd.img-3.16.0-4-amd64 } ==== Changer la résolution du tty avec Grub ==== La résolution par défaut du terminal n'est pas adapté pour les écrans d'aujourd'hui. Voici les étapes à suivres : nano /etc/default/grub GRUB_GFXMODE=1920x1080 GRUB_GFXPAYLOAD_LINUX=keep Puis on sauvegarde la configuration : update-grub