Ceci est une ancienne révision du document !



GRUB 2 (version Compatibles PC)

GRand Unified Bootloader, version 2 (ou GRUB 2) est la seconde version de GNU GRUB. C'est un logiciel permettant de charger un système d'exploitation. Il pourra amorcer lui-même des systèmes compatibles avec la norme POSIX (GNU/Linux, *BSD, Mac OS, etc.) ou enchaîner vers un autre chargeur d’amorçage pour les autres systèmes.

Plus qu’une continuité du projet GRUB Legacy précédent, GRUB 2 en est une réécriture complète. Il a pour but d’être un chargeur d’amorçage plus modulaire et portable que son prédécesseur avec notamment  une interface graphique et une portabilité vers diverses architectures matérielles (BIOS, EFI, Coreboot…).

GRUB 2 est le chargeur d'amorçage installé par défaut, ce document concerne la version de GRUB 2 pour les ordinateurs Compatibles PC (la plupart des ordinateurs actuels) ; des paquets grub-efi et grub-coreboot existent pour les architectures basées sur EFI (tels les MacIntel) et sur Coreboot/LinuxBIOS. Pour le moment, il n'est pas conçu pour démarrer une architecture ARM.

Lors d’une installation classique d'Ubuntu (depuis un support d'installation), si vous n’avez pas paramétré les options avancées, GRUB 2 est installé automatiquement et est votre chargeur d’amorçage principal pour Ubuntu.

Une vérification peut être faite depuis un terminal avec la commande :

grub-install -V

Si vous voyez GNU GRUB 1.98 ou +, vous avez GRUB 2, si c’est 0.97, vous avez Grub Legacy.

Si vous avez modifié les options avancées lors de l'installation d’Ubuntu et souhaitez installer Grub 2 sur le MBR ou le réinstaller après un souci, il suffit de suivre ce tutoriel.

Si vous n'avez qu'un seul système d'installé, Grub ne s'affiche pas ! Pour le voir, il suffit de maintenir la touche Majuscule (shift) enfoncée au démarrage de l'ordinateur.

Dans les autres cas, vous verrez la liste des systèmes installés :

  • Si vous ne faites rien, le système sélectionné par défaut sera lancé automatiquement au bout de quelques secondes.
  • Vous pouvez en choisir un autre avec les flèches du clavier et le lancer avec la touche 'entrée' (ou la flèche vers la droite).

Autres actions possibles :

  • avec la touche 'e' vous pouvez éditer la ligne du menu pour, par exemple, ajouter un paramètre (Ctrl X : lance le système en applicant la modification, Echap permet de revenir en arrière sans changement)
  • avec la touche 'c' vous pourrez intervenir sur Grub en ligne de commande (Echap pour revenir au menu)
À connaitre avant de configurer.

Nous n'intervenons pas directement sur un fichier de configuration mais sur des fichiers de paramètres qui sont pris en compte uniquement lors du lancement d'une commande de mise à jour (update-grub).

Les paramètrages sont situés uniquement dans le fichier /etc/default/grub et dans le dossier /etc/grub.d/.

Fichier grub.cfg

  • /boot/grub/grub.cfg : est un fichier de configuration généré automatiquement par update-grub (il est inutile d’éditer ce fichier) et ne doit donc pas être modifié manuellement.

Fichier /etc/default/grub

Dans ce fichier, on peut activer ou désactiver un paramètre en le commentant / décommentant avec le caractère dièse « # »(croisillon).

paramètres présents par défaut

  • GRUB_DEFAULT=0 correspond au menu qui sera sélectionné par défaut. (→ Détails)
  • #GRUB_HIDDEN_TIMEOUT=0 : avec le « # », le menu de grub sera visible. Sans le « # », le menu de grub sera invisible. (→ Détails)
  • GRUB_HIDDEN_TIMEOUT_QUIET=false De pair avec ‘GRUB_HIDDEN_TIMEOUT’. (→ Détails)
  • GRUB_TIMEOUT=10 est la durée en secondes de l’affichage du menu avant de se lancer sur le menu sélectionné par défaut. (→ Détails)
  • GRUB_DISTRIBUTOR="" est la ligne qui définit la syntaxe des titres du menu (→ Détails)
  • GRUB_CMDLINE_LINUX_DEFAULT="" et GRUB_CMDLINE_LINUX="" on y met les paramètres à ajouter lors de la détection automatique des systèmes (ex: radeon.modeset=1, logo.nologo,..).
  • #GRUB_GFXMODE=640x480 (→ Détails).
  • #GRUB_INIT_TUNE="480 440 1" : sans le « # », on aura un bip à l’affichage du menu Grub.

paramètres qu'on peut ajouter

  • GRUB_GFXPAYLOAD=1024x768 : définit la résolution d’affichage entre Grub et celle définie dans la distribution (pour le splash screen par exemple). Défini à 'keep' par défaut.
  • GRUB_GFXPAYLOAD_LINUX=auto : définit la résolution d’affichage par défaut du linux lancé FIXME
  • GRUB_BACKGROUND="/boot/grub/images/fjord.jpg" : pour mettre une image en fond d'écran (→ Détails)
  • GRUB_DISABLE_OS_PROBER="true" : si on souhaite désactiver la recherche d'autres systèmes à chaque update-grub (inutile si on les lance autrement)
  • GRUB_OS_PROBER_SKIP_LIST="…" : liste de partitions à ne pas inclure dans la recherche automatique de systèmes. (→ Détails)
  • GRUB_DISABLE_LINUX_RECOVERY="true" : on mettra ce paramètre si on ne veut plus avoir la possibilité de lancer les systèmes en mode 'maintenance'
  • GRUB_DISABLE_SUBMENU=y : si on souhaite voir directement une entrée de menu par noyau linux disponible (On peut supprimer les noyaux les plus anciens → Nettoyer Ubuntu)
  • LANG=fr_FR : pour définir la langue utilisée pour l'édition du menu depuis Grub ou le mode 'ligne de commande'
  • GRUB_TERMINAL_INPUT=at_keyboard : nécessaire pour paramétrer le clavier français (pour ne plus avoir à chercher les ()[]= .. du clavier Qwerty). (→ Détails)
  • GRUB_THEME="/boot/grub/themes/ubuntu-mate/theme.txt" : chemin vers le fichier de configuration du thème (mode graphique). (→ Détails)

Dossier /etc/grub.d/

Ce dossier contient tous les scripts qui seront utilisés (en respectant l'ordre de numérotation) par update-grub pour créer le fichier grub.cfg.

  • 00_header : script gérant les paramètres définis dans /etc/default/grub ;
  • 05_debian_theme : script pour gérer le thème en mode texte (fonds d'écran et couleurs) ;
  • 10_linux : contient le script de lancement du système sur lequel on est ;
  • 20_memtest86+ : script permettant de générer les entrées memtest ;
  • 20_linux_xen : script pour Xen Linux et Xen Hypervisor ;
  • 30_os-prober : contient le script de recherche des autres systèmes installés ;
  • 30_uefi-firmware FIXME
  • 40_custom : configuration personnelle (systèmes à lancer en configuration manuelle, paramètres qui n'existent pas pour /etc/default/grub,..)
  • 41_custom : identique à 40_custom (si on le renomme par exemple 07_custom, on pourra y mettre le lancement du mediacenter ou de Windows en premier sur la liste)

Nous n'utiliserons pour nos paramétrages que les fichiers 'custom'.

Sous KDE, vous pouvez installer le paquet kde-config-grub2. Sous d'autres environnements, vous pouvez notamment utiliser Grub Customizer et Super Boot Manager. Ces applications vous permettent, entre autres :

  • choisir une entrée de menu d’amorçage à sélectionner par défaut ;
  • masquer, changer l’ordre, ajouter ou supprimer des entrées du menu d’amorçage ;
  • ajouter des paramètres au noyau ;
  • modifier la résolution d’affichage ;
  • modifier les couleurs du menu GRUB ;
  • ajouter une image d’arrière-plan.
À partir de ce chapitre, vous allez intervenir directement sur les fichiers de GRUB. Soyez prudent, les fichiers de GRUB ne doivent pas être modifiés à la légère, sous peine d'avoir un système qui ne démarre plus. Si vous ne maîtrisez pas bien, n'hésitez pas à demander de l'aide sur le forum.
Avant de commencer, il est souhaitable :
  • de lancer dans un terminal une commande de mise à jour : sudo update-grub ;
  • de créer une sauvegarde (ex. : sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.autogénéré) ;

De même, aucun script de configuration présent dans /etc/grub.d/ ne doit être effacé.
Par exemple, pour ne pas détecter les autres OS, il est préférable d'utiliser le paramètre GRUB_DISABLE_OS_PROBER="true" de /etc/default/grub.

Pour tous nos paramétrages, on éditera, avec les droits d’administration, quasi exclusivement les fichiers /etc/default/grub et /etc/grub.d/40_custom.

Une fois toutes les modifications opérées, on lancera la commande de mise à jour :

sudo update-grub

Afficher/Masquer le menu

Pour afficher ou non le menu Grub, on utilisera les paramètres GRUB_HIDDEN_TIMEOUT et GRUB_HIDDEN_TIMEOUT_QUIET du fichier /etc/default/grub.

cas 1

Caché. Grub lance sans attendre le choix par défaut.

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0	# dépendance: lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0

cas 2

Caché. Un décompte de 5 secondes est lancé pendant lequel on peut appuyer sur les touches Échap ou majuscule (Shift) pour afficher le menu. Sans action de notre part, le choix par défaut est lancé.

GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=0	# dépendance: lorsque GRUB_HIDDEN_TIMEOUT est actif, ce paramètre doit être défini à 0

cas 3

Affiché directement.

#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10	# ne pas laisser à zéro si vous voulez avoir le temps de sélectionner éventuellement un autre système.

Intitulé dans le menu

Par défaut, la ligne du menu grub concernant la distribution sur laquelle vous êtes affiche « Ubuntu GNU/Linux ». Que vous soyez sur une variante (Xubuntu, Lubuntu, Kubuntu,..) ou sur un dérivé (Linux Mint,..), l'intitulé reste le même car il dépend de la commande 'lsb_release'.

Voici comment on peut influencer ce comportement en modifiant le paramètre GRUB_DISTRIBUTOR du fichier /etc/default/grub selon les possibilités suivantes :

GRUB_DISTRIBUTOR=`lsb_release -is 2> /dev/null || echo Debian`					# donne : Ubuntu GNU/Linux
GRUB_DISTRIBUTOR=`lsb_release -ds 2> /dev/null || echo Debian`					# donne : Ubuntu 16.04.1 LTS GNU/Linux
GRUB_DISTRIBUTOR=`echo -n $(lsb_release -cds 2> /dev/null || echo Debian)`			# donne : Ubuntu 16.04.1 LTS xenial GNU/Linux
GRUB_DISTRIBUTOR=`echo -n TITRE PERSONNALISÉ $(lsb_release -rs 2> /dev/null || echo Debian)`	# donne : TITRE PERSONNALISÉ 16.04 GNU/Linux
GRUB_DISTRIBUTOR=`echo -n TITRE PERSONNALISÉ`							# donne : TITRE PERSONNALISÉ GNU/Linux

On utilisera ici les paramètres GRUB_DEFAULT et GRUB_TIMEOUT du fichier /etc/default/grub

Pour changer le système d'exploitation sur lequel grub démarre par défaut on paramètrera GRUB_DEFAULT= au choix avec :

  • un chiffre (0 = le premier, 1 = le deuxième, etc.) ;
  • saved (sans guillemet) pour ce qui a été sélectionné lors du précédent lancement (nécessite de rajouter GRUB_SAVEDEFAULT=true) ;
  • ou le titre de menu exact d’un menu mis entre guillemets (par exemple : "Microsoft Windows 10 (on /dev/sda1)"). Pour obtenir les titres exacts des menus : grep menuentry /boot/grub/grub.cfg

La temporisation avant un lancement automatique se définit avec le paramètre GRUB_TIMEOUT :

  • GRUB_TIMEOUT=10, lancera le système par défaut au bout de 10 secondes. Si on ne veut pas de temporisation, on mettra : GRUB_TIMEOUT=-1

Désactiver Memtest

Si on ne souhaite plus voir dans les menus Memtest, on changera le statut du script pour qu'il ne soit plus exécutable à la prochaine commande de mise à jour :

sudo chmod -x /etc/grub.d/20_memtest86+

Pour le réactiver, on mettra '+x' au lieu de '-x' avec la même commande.

os-prober partiel

On peut demander à grub d'éviter de scanner certaines partition par leur UUID (sudo blkid pour avoir leur liste). On utilisera le paramètre GRUB_OS_PROBER_SKIP_LIST du fichier /etc/default/grub :

GRUB_OS_PROBER_SKIP_LIST="3a43c682-cb67-47e6-83cf-e647a72abb5d@/dev/sda3","1397cb72-27f1-4e01-acaf-86495341c71d@/dev/sda4"

Changer l'ordre des menus

On peut renommer les scripts utilisés par 'update-grub' dans le dossier /etc/grub.d/ pour en changer l'ordre, par exemple :

  • sudo mv /etc/grub.d/30_os-prober /etc/grub.d/06_os-prober (par exemple pour mettre Windows en premier sur le menu)

On peut copier les entrées des menus dans 40_custom (depuis /boot/grub/grub.cfg) dans l'ordre qu'on souhaite et désactiver la détection automatique en mettant le paramètre GRUB_DISABLE_OS_PROBER="true" dans /etc/default/grub. On peut renommer 41_custom en 07_custom pour qu'il se place avant 10_linux (on y mettra le menu qu'on veut en premier).

Clavier français

Quand on édite un menu, c'est galère de retrouver la ponctuation, les parenthèses ou encore le signe égal sur un clavier qwerty. La solution est de paramétrer la disposition azerty :

  • testé avec le clavier 'Français (variante)' actif. On commencera par créer le dossier /boot/grub/layouts. Ensuite, on générera la disposition du clavier dans un fichier reconnu par grub :
sudo mkdir /boot/grub/layouts
sudo grub-kbdcomp -o /boot/grub/layouts/fr.gkb fr
  • On ajoutera le paramètre GRUB_TERMINAL_INPUT=at_keyboard au fichier /etc/default/grub
  • On ajoutera ces lignes au fichier /etc/grub.d/40_custom :
# Clavier fr
insmod keylayouts
keymap fr

Tous ces contenus sont ajoutés à /etc/grub.d/40_custom

Chaîner un autre menu

chainloader vous permettra de lancer un autre gestionnaire d’amorçage présent sur le premier secteur des partitions concernées : Windows, Lilo…. Ça ne fonctionne pas toujours bien donc on préfère souvent une autre alternative. Voici quelques exemples :

menuentry "Windows 10" {
  insmod ntfs
  search --set=root --label WINDOWS_10 --hint hd0,msdos2
  ntldr /bootmgr
}
menuentry 'Bootloader Lilo sur sda7' {
  set root=(hd0,7)
  chainloader +1
}
menuentry "Menu grub2 sur sda8" {
  set root=(hd0,8)
  configfile /boot/grub/grub.cfg
}
menuentry "Menu grub-legacy sur sda6" {
  set root=(hd0,6)
  legacy_configfile /boot/grub/menu.lst
}

Aérer le menu

Pour ajouter des lignes vides, de sous-titres,.. on procédera ainsi avec juste un 'true' pour qu'elles soient prises en compte :

## ligne vide
menuentry "   " {
	true
}
## ligne de sous-titre
menuentry "-------------------     Dérivés Ubuntu     -------------------" {
	true
}

Ancien paramètre vga=xxx

Dans les options de boot d’un Linux, on trouve parfois le paramètre « vga=788 » avec une définition d’écran donné. Consultez ce tableau pour pouvoir ajouter un 'set gfxpayload' équivalent dans votre 'menuentry'.

Donc, par exemple, au lieu de vga=788 dans la ligne 'linux', on ajoutera au-dessus une ligne set gfxpayload=800x600 à la place.

Dans ce tutoriel vous aurez des exemples de menus « prêts à l'emploi » pour lancer les livecd Ubuntu ou autres depuis leur fichier iso :

menuentry 'Arrêt du système' {
	halt
}
menuentry 'Redémarrage du système' {
	reboot
}

mise à jour

Comme toujours, après tous ces paramétrages, on lancera la commande de mise à jour :

sudo update-grub

Résolution d'affichage

vbeinfo

Quand on est sur le menu grub, on appuie sur « c ». On est ainsi en ligne de commande. On lancera alors la commande :

vbeinfo

Toutes les résolutions supportées par grub s'affichent. La plus haute est la dernière sur la liste. On la note (par exemple: 1280x1024x32)

GRUB_GFXMODE

Sur le fichier /etc/default/grub, on modifiera le paramètre GRUB_GFXMODE qui définit la résolution d'affichage pour Grub ainsi (sans « # » devant) :

GRUB_GFXMODE=1280x1024,1024x768x32

La deuxième valeur sera prise en compte si la première n’est pas supportée par votre matériel. Le x32 est la profondeur de codage des couleurs en bits.

Si le démarrage se bloque sur un écran noir ou sur l'image de fond, appuyez sur 'c' pour passer en ligne de commande et saisissez, par exemple :

set gfxpayload=1024x768

GRUB_GFXPAYLOAD

On fera la même chose qu'au paragraphe précédent pour les résolutions après Grub avec les paramètres GRUB_GFXPAYLOAD et GRUB_GFXPAYLOAD_LINUX.

Fond d'écran

Pré-requis

  • GRUB_GFXMODE doit être défini (→ voir plus haut)
  • une image dans un format compatible avec la capacité d'affichage de grub (→ voir plus haut)

Convertir l'image

Si vous avez Gimp d'installé ou au moins ImageMagick, vous pourrez lancer cette commande de conversion en l'adaptant à vos besoins :

convert ~/Images/"image exemple.jpg" -resize 1280x1024! -depth 16 ~/Bureau/"00_image_de_fond.jpg"
sudo mv ~/Bureau/"00_image_de_fond.jpg" /boot/grub/.

Utilisation

Pour l'utiliser, on ajoutera le paramètre GRUB_BACKGROUND au fichier /etc/default/grub

GRUB_BACKGROUND="/boot/grub/00_image_de_fond.jpg"

Lancer ensuite la commande de mise à jour :

sudo update-grub

Si le fond d'écran n'est pas détecté lors de cette mise à jour, c'est qu'il n'est pas dans un format compatible pour Grub.

Couleurs d'affichage

Pour définir les couleurs utilisées par grub, on ajoutera au fichier /etc/grub.d/40_custom les lignes suivantes :

set color_normal=light-gray/black				# définit les couleurs de texte/fond d'écran autour du cadre de menu
set menu_color_normal=light-gray/black		# définit les couleurs de texte/fond d'écran dans le cadre de menu
set menu_color_highlight=yellow/light-blue	# définit les couleurs de texte/surbrillance pour la ligne de menu sélectionnée

Les couleurs à notre disposition sont : black, blue, brown, cyan, dark-gray, green, light-cyan, light-blue, light-green, light-gray, light-magenta, light-red, magenta, red, white, yellow. 'black' devient une couleur transparente si on a une image de fond.

Lancer ensuite la commande de mise à jour :

sudo update-grub
Ce sont des thèmes prêt à l'emploi. Attention tout de même à l'image incluse (background.png) qui doit, comme indiqué précédemment, être compatible avec la résolution d'affichage de votre Grub.

On peut tester sa compatibilité en la définissant comme fond d'écran (→ voir plus haut) et en regardant si elle est détectée par la commande de mise à jour.

Sources

On peut installer le theme inclus dans les dépots : grub2-themes-ubuntu-mate. On en trouve aussi ici (en cherchant bien 'themes Grub2' et non pas seulement 'gfx')

Où sont-ils installés ?

Par défaut, ils sont installés dans le dossier /boot/grub/themes.

Activation

Dans le fichier /etc/default/grub, on renseignera le paramètre GRUB_THEME ainsi :

GRUB_THEME="/boot/grub/themes/ubuntu-mate/theme.txt"

Il s'agit du chemin vers le fichier de configuration. Il peut très bien porter un autre nom (par exemple theme-fr.txt sur un autre theme).

Lancer ensuite la commande de mise à jour :

sudo update-grub

Réinstaller/Restaurer GRUB 2

Réinstallation/Restauration du GRUB, par exemple lorsqu’il a été effacé ou désactivé suite à l’installation d’un autre système d’exploitation (par exemple, Microsoft® Windows®, Suse (OpenSuse)). Voir ce tutoriel.

Activer un autre Grub

Vous venez d'installer un nouveau système et un nouveau grub a pris la place de votre grub habituel. Ce nouveau système n'est pas définitif donc vous souhaitez réactiver votre ancien grub.

  • redémarrer votre ordi sur le système qui contient le grub que vous souhaitez rétablir
  • dans un terminal, lancez les commandes suivantes :
    sudo grub-install /dev/sda
    sudo update-grub

Ajouter du rootdelay au démarrage

Si vous tombez sur une Busybox au démarrage, il est possible que le système n’ait pas attendu assez longtemps pour que les disques durs s’initialisent. Vous pouvez continuer le démarrage par un simple CTRL+D dans la Busybox. Si cela fonctionne, une solution sera d'insérer un rootdelay dans grub.

Pour cela éditer /etc/default/grub avec les droits d'administration (commande "gksudo gedit /etc/default/grub") pour mettre par exemple : en

GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=40 quiet splash"

Pour prendre en compte ce changement, on lancera la commande de mise à jour :

sudo update-grub

Lancement depuis un Grub-Legacy

En plaçant ces lignes (avec l’UUID correspondant à la partition souhaitée) dans le menu.lst d’un Grub-Legacy, on pourra lancer un Grub-pc derrière un grub-legacy.

title		Xenial via GRUB-pc
uuid		70e29811-71a3-4553-a16c-1cce2ff334ed
kernel		/boot/grub/i386-pc/core.img

Grub n'apparaît pas au démarrage

En cas de double boot, le menu de grub doit s’afficher par défaut, si l’écran de l’ordinateur reste noir au démarrage avec un message d’erreur de l’écran, il faut changer une option dans grub pour obliger un affichage non graphique. Ouvrir le terminal, écrire

sudo xdg-open /etc/default/grub

Enlever le croisillon « # » au début de la ligne

#GRUB_TERMINAL=console

Enregistrer le fichier et quitter l’éditeur de texte puis dans le terminal :

sudo update-grub

Redémarrer le pc.

grub:sh (Shell GRUB 2 à l'amorçage)

Vous démarrez votre ordinateur et au lieu de charger directement Ubuntu ou afficher un menu vous permettant de choisir un système d’exploitation à charger, votre écran vous montre une ligne grub:sh>. Ce que vous obtenez ici est un shell, une interface en ligne de commande qui permet de dépanner le chargeur d’amorçage GRUB 2. Si vous obtenez, de manière non-intentionnelle, une telle invite de commande, il y a de fortes chances que le fichier de menu de GRUB 2 soit corrompu. L’invite de commande vous permet d’exécuter des commandes, malgré les erreurs des fichiers de menu, afin de tout de même charger Ubuntu.

Pour charger tout de même Ubuntu, entrez la suite de commandes suivante.

  • Faites très attention à la structure et la graphie des commandes. Une espace mal placée ou une lettre majuscule inscrite en minuscule peut rendre la commande inopérante ;
  • Chaque ligne doit être entrée séparément. À la fin de chaque ligne de commande, appuyez sur la touche [Entrée] de votre clavier pour la valider.

Inscrivez chacune des commandes suivantes sur une seule ligne, après l’invite grub:sh> :

search -f --set=Root /boot/grub/core.img

set root=(${Root})

probe -u (${Root}) --set=UUID

linux /vmlinuz root=UUID=${UUID} ro

initrd /initrd.img

boot

Ceci effectué, Ubuntu se charge. Pour regénérer le menu de GRUB 2, vous exécuterez ensuite la commande suivante dans un terminal :

sudo update-grub

Error 15

Si au boot, ou plutôt au lancement de grub, vous vous retrouvez avec ce message (empêchant tout démarrage du système) :

GRUB Error 15.

réinstallez GRUB2 comme décrit dans ce tutoriel.

Long temps de chargement

Si au boot, le lancement de grub est long et que le disque dur fait du bruit, vous souffrez probablement du bug 420933. Le problème semble être que GRUB2 cherche les UUID de toutes les partitions au démarrage, jusqu’à trouver celle contenant /boot/grub. Cela prend du temps.

Solution : installer une version plus récente de GRUB, par exemple via les Options avancées de Boot-Repair.

Une autre solution est de modifier le disque de démarrage dans le BIOS pour démarrer sur le disque où se trouve votre Ubuntu. Plus de détails dans ce sujet du forum.

Utilisation du clavier freeze Grub-PC

Description : sur certains portables (Compaq 21xx, HP ZE4600, Packard Bell iGo 3581) le démarrage se déroule bien si on le laisse se faire sans intervention, par contre toute pression sur le clavier (que ce soit pour changer de ligne, configurer le démarrage ou passer le compte à rebours) provoque un blocage complet du PC. Seul un redémarrage « sauvage » permet de démarrer l’ordinateur.

Origine : incompatibilité de GrUB-PC et de la gestion de l’USB par certains BIOS (Pheonix KAM 1.60 ?)

Solution : entrer dans les options de BIOS (presser F2 pendant l'affichage du BIOS sur les Compaq 21xx), et désactiver l’option « Prise en charge USB léguée ». Sauvegarder et redémarrer. Le démarrage ne devrait plus bloquer.

La désactivation de cette option n’a pas d'influence sur l’utilisation des ports USB par la suite.

Grub attend pour rien après un petit crash serveur

Problème gênant quand le dit serveur n’a pas de clavier/écran.

Solution : dans le fichier /etc/default/grub ajoutez :

GRUB_RECORDFAIL_TIMEOUT=0

Dans le fichier /etc/default/rcS ajoutez pour vérifier les disques automatiquement :

FSCKFIX=yes

Finissez par le sudo update-grub évidemment.

Apparition d’images au boot

Certains noyaux affichent une image lors du chargement du système (manchot, tux…). Une image est générée par processeur que possède la machine (l’HyperThreading sur les processeurs Intel double ce nombre).

Solution : Éditez le fichier /etc/default/grub et ajoutez « logo.nologo » à la ligne GRUB_CMDLINE_LINUX_DEFAULT.

Le résultat devrait ressembler à ceci :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash logo.nologo"

Finissez par le sudo update-grub évidemment.

Via un CD-Live ou USB-Live

Possible que vous obteniez cette erreur :

/usr/sbin/grub-probe: error: failed to get canonical path of /cow.

ou

impossible d'obtenir le chemin canonique de "/cow"

Pour y remédier, la solution est le chroot (si vous obtenez une erreur, arrêtez de suite la procédure) :

sudo -s
mkdir -p /tmp/newroot
mount -t ext4 /dev/sda3 /tmp/newroot
mount --bind /proc /tmp/newroot/proc
mount --bind /dev /tmp/newroot/dev
mount --bind /sys /tmp/newroot/sys
chroot /tmp/newroot/
/usr/sbin/update-grub
/usr/sbin/grub-install /dev/sda
exit

* remplacer sda3 par la réponse que vous donne

sudo os-prober

Source de cette astuce.

Error: diskfilter writes are not supported

Si vous rencontrez au boot le message d'erreur : "Error: diskfilter writes are not supported" sur Ubuntu 14.10, récupérer le code du patch sur https://bugs.debian.org/754921 et l'enregistrer dans le fichier "00_header_754921.patch" (par exemple).

Ou attendre le paquet "grub-common" version "2.02~beta2-26ubuntu3" cf. https://bugs.launchpad.net/bugs/1274320/

Lancer les commandes suivantes :

patchFile=~/00_header_754921.patch
sed -i "s/00_header.in/00_header/g" $patchFile
cd /etc/ && sudo patch -p2 < $patchFile
sudo chmod +x ./grub.d/00_header
sudo update-grub

Au prochain reboot, le message ne devrait plus apparaître.

  • utilisateurs/frombenny/brouillon.1479469948.txt.gz
  • Dernière modification: Le 18/11/2016, 12:52
  • par frombenny