Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
grub-pc [Le 13/05/2020, 17:45] – [Réinstaller/Restaurer GRUB 2] LukePerp | grub-pc [Le 25/02/2021, 17:50] (Version actuelle) – [Démarrer Ubuntu à partir de grub> et grub rescue>] 88.122.224.21 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== GRUB 2 (version Compatibles PC) ====== | ||
+ | |||
+ | //**GR**and **U**nified **B**ootloader, | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | Plus qu’une continuité du projet [[: | ||
+ | |||
+ | GRUB 2 est le chargeur d' | ||
+ | |||
+ | ===== Pré-requis===== | ||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | ===== Installation ===== | ||
+ | |||
+ | Lors d’une **installation classique** d' | ||
+ | |||
+ | Une vérification peut être faite depuis un [[: | ||
+ | Si vous voyez //%%GNU GRUB%% 1.98// ou +, vous avez GRUB 2, si c’est 0.97, vous avez [[:Grub Legacy]]. | ||
+ | |||
+ | Si vous **souhaitez installer** Grub 2 sur le [[: | ||
+ | |||
+ | ===== Fonctionnement général ===== | ||
+ | La configuration finale de grub est dans le fichier **/ | ||
+ | |||
+ | Ce fichier est généré automatiquement par la commande **update-grub** à partir des entrées suivantes : | ||
+ | * Le fichier de paramétrage général : **/ | ||
+ | * Tous les fichiers dans : **/ | ||
+ | * dont le fichier **/ | ||
+ | |||
+ | |||
+ | Plus d' | ||
+ | |||
+ | |||
+ | Pour un paramétrage avec interface graphique : | ||
+ | * Sous [[:KDE]] pour les versions jusqu' | ||
+ | * Sous d' | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | ===== Utilisation du menu ===== | ||
+ | **Si vous n'avez qu'un seul système d' | ||
+ | |||
+ | Pour le voir, il suffit de maintenir la **touche Majuscule (shift)** | ||
+ | <note help> Appuyer 3 ou 4 fois sur la touche Maj ou Echap à l' | ||
+ | On peut aussi forcer l' | ||
+ | |||
+ | |||
+ | 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 ' | ||
+ | |||
+ | Autres actions possibles : | ||
+ | * avec la **touche ' | ||
+ | * avec la **touche ' | ||
+ | | ||
+ | |||
+ | ===== Habillage et thèmes ===== | ||
+ | |||
+ | Veuillez consulter le tutoriel cité plus haut pour : | ||
+ | * **[[: | ||
+ | * **[[: | ||
+ | |||
+ | ===== Astuce ==== | ||
+ | En cas de dual-boot / multi-système d' | ||
+ | < | ||
+ | |||
+ | |||
+ | ===== Réparation & maintenance ===== | ||
+ | ==== Réinstaller/ | ||
+ | S'il a été effacé ou désactivé suite à l’installation d’un autre système d’exploitation ou une autre raison, voici comment vous pouvez le récupérer : | ||
+ | |||
+ | === Via le Réparateur de Démarrage === | ||
+ | |||
+ | La méthode la plus simple est d' | ||
+ | |||
+ | === Depuis votre Ubuntu ayant démarré === | ||
+ | - Optionnel - supprimer, purger et réinstaller Grub : | ||
+ | < | ||
+ | Si vous avez la **possibilité de démarrer** le système qui contient le **grub que vous souhaitez rétablir** (avec une [[#Créer une clé USB de secours|clé USB de secours]], un autre menu Grub,..), alors tapez **dans un terminal ces commandes** : | ||
+ | < | ||
+ | sudo os-prober | ||
+ | sudo update-grub | ||
+ | sudo grub-install / | ||
+ | Si vous voulez définir une partition en particulier (ou un disque en particulier) : | ||
+ | Dans cette commande l' | ||
+ | |||
+ | Pour avoir une liste des systèmes installés **à jour**, on ajoutera éventuellement un //' | ||
+ | |||
+ | === Depuis un autre système === | ||
+ | Si vous réussissez à lancer un autre linux contenant Grub2 (live-cd, système sur un autre disque,..), vous avez 2 cas de figure : | ||
+ | * **pour une installation classique** la commande à lancer est : | ||
+ | < | ||
+ | * **pour une installation ayant un boot sur une partition séparée**, | ||
+ | < | ||
+ | |||
+ | Il faut que la partition cible soit montée (ouverte via le gestionnaire de fichiers par exemple). | ||
+ | Pour savoir si le disque est bien /dev/sdb, on peut lancer la commande //' | ||
+ | |||
+ | ==== Démarrer Ubuntu à partir de grub> et grub rescue> ==== | ||
+ | |||
+ | Si Ubuntu est bien installé mais que seul Grub est cassé, alors vous devriez arriver sur une ligne de commande de grub> ou grub rescue>. Voici comment faire pour démarrer Ubuntu afin de réparer Grub par la suite. | ||
+ | |||
+ | Suivez les instructions en fonction du Grub que vous voyez. | ||
+ | |||
+ | **A partir de grub rescue> | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | Il faut identifier la partition Ubuntu et définir les commandes pour arriver au Grub normal. | ||
+ | |||
+ | < | ||
+ | # le résultat sera du genre : (hd0) (hd0, | ||
+ | # utilisez LS pour chaque partition afin d' | ||
+ | ls (hd0, | ||
+ | ls (...) | ||
+ | # la partition Ubuntu donnera un résultat du genre : | ||
+ | # ... Filesystem is ext2 | ||
+ | # Une fois la partition Ubuntu trouvée, tapez ces commandes en utilisant la bonne identification | ||
+ | # Pour l' | ||
+ | set root=(hd0, | ||
+ | set prefix=(hd0, | ||
+ | insmod normal | ||
+ | normal</ | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | En validant la dernière commande, Grub va alors démarrer en grub normal. Suivez la suite des instructions pour grub normal. | ||
+ | |||
+ | **A partir de grub> normal** | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | Il faut identifier la partition Ubuntu et définir les commandes pour démarrer Ubuntu. | ||
+ | |||
+ | < | ||
+ | # le résultat sera du genre : (hd0) (hd0, | ||
+ | # utilisez LS pour chaque partition afin d' | ||
+ | ls (hd0, | ||
+ | ls (...) | ||
+ | # la partition Ubuntu donnera un résultat du genre : | ||
+ | # ... Filesystem is ext2 | ||
+ | # Une fois la partition Ubuntu trouvée, tapez ces commandes en utilisant la bonne identification | ||
+ | # Pour l' | ||
+ | set root=(hd0, | ||
+ | linux /vmlinuz root=/ | ||
+ | initrd /initrd.img | ||
+ | boot</ | ||
+ | linux / | ||
+ | initrd / | ||
+ | boot</ | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | En validant la dernière commande, Ubuntu va alors démarrer. Ensuite, suivez le paragraphe § 7.1.2 pour réparer Grub à partir d' | ||
+ | |||
+ | **A partir de grub> | ||
+ | |||
+ | < | ||
+ | # le résultat sera du genre : (hd0) (hd0, | ||
+ | # utilisez LS pour chaque partition afin d' | ||
+ | ls (hd0, | ||
+ | ls (hd0, | ||
+ | # Donc si les partitions Ubuntu donnent un résultat du genre : | ||
+ | unknownfile system | ||
+ | # utiliser SET pour rechercher le chemin qui devrait afficher par exemple (le numéro de partition n'est pas le même suivant le cas) : | ||
+ | grub rescue> set | ||
+ | cmdpath=(hd0) | ||
+ | prefix=(hd0, | ||
+ | root=hd0, | ||
+ | # Une fois la partition Ubuntu trouvée, tapez ces commandes en utilisant la bonne identification | ||
+ | # Pour l' | ||
+ | set root=(hd0, | ||
+ | set prefix=(hd0, | ||
+ | insmod normal | ||
+ | normal</ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | En validant la dernière commande, Ubuntu va alors démarrer. Ensuite, suivez le paragraphe § 7.1.2 pour réparer Grub à partir d' | ||
+ | |||
+ | |||
+ | ==== Créer une clé USB de secours ==== | ||
+ | Avant toute installation de nouveau système, il peut être judicieux de faire une clé USB de secours pour pouvoir remettre en route votre Grub, au cas où. | ||
+ | |||
+ | Pour cela, vous pouvez **suivre [[: | ||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | Pour cela [[: | ||
+ | < | ||
+ | |||
+ | Pour prendre en compte ce changement, on lancera la commande de mise à jour : | ||
+ | < | ||
+ | |||
+ | ==== 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, | ||
+ | < | ||
+ | uuid 70e29811-71a3-4553-a16c-1cce2ff334ed | ||
+ | kernel / | ||
+ | |||
+ | ==== Amorçage multiple : | ||
+ | En cas d' | ||
+ | - allez dans cette autre installation, | ||
+ | - ouvrez le [[: | ||
+ | < | ||
+ | sudo update-grub | ||
+ | sudo grub-install / | ||
+ | avec'' | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== Problèmes connus ===== | ||
+ | ====Grub n' | ||
+ | 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. | ||
+ | |||
+ | Pour cela [[: | ||
+ | < | ||
+ | Enregistrer le fichier et quitter l’éditeur de texte puis dans le terminal : | ||
+ | < | ||
+ | Redémarrer le pc. | ||
+ | |||
+ | ==== grub:sh (Shell GRUB 2 à l' | ||
+ | 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: | ||
+ | |||
+ | Pour charger tout de même Ubuntu, entrez la suite de commandes suivante. | ||
+ | * Faites très attention à la structure et la graphie des commandes. Un espace mal placé 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: | ||
+ | < | ||
+ | |||
+ | 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 : | ||
+ | < | ||
+ | |||
+ | ==== 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) : | ||
+ | < | ||
+ | réinstallez GRUB2 comme décrit dans [[# | ||
+ | |||
+ | ==== 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 [[https:// | ||
+ | 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 1** : installer une version plus récente de GRUB, par exemple via les Options avancées de [[: | ||
+ | |||
+ | **Solution 2** : 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 [[http:// | ||
+ | |||
+ | ==== Long temps de chargement / grub.cfg trop gros==== | ||
+ | Ca peut se produire en présence de multiboot avec plusieurs systèmes GNU/Linux utilisant aussi GRUB. Cela semble dû au fait que grub-mkconfig (appelé par update-grub) lit le fichier grub.cfg des autres systèmes mais ne traite pas correctement les entrées de menu de ce fichier provenant elles-mêmes d' | ||
+ | |||
+ | **Contournement 1 :** | ||
+ | * Désactiver tous les fichiers / | ||
+ | * Mettre à jour Grub : sudo update-grub | ||
+ | Cette méthode est rapide mais sera potentiellement annulée lors des prochaines mis à jour de grub dans les autres distributions | ||
+ | |||
+ | |||
+ | **Contournement 2 :** | ||
+ | * Suivre la procédure de [[https:// | ||
+ | |||
+ | |||
+ | ====Utilisation du clavier freeze Grub-PC ==== | ||
+ | |||
+ | **Description** : | ||
+ | |||
+ | **Origine** : | ||
+ | |||
+ | **Solution** : | ||
+ | Le démarrage ne devrait plus bloquer. | ||
+ | < | ||
+ | |||
+ | ==== Grub attend pour rien après un petit crash serveur ==== | ||
+ | Problème gênant quand le dit serveur n’a pas de clavier/ | ||
+ | |||
+ | **Solution** : | ||
+ | < | ||
+ | Dans le fichier / | ||
+ | < | ||
+ | Finissez par le //sudo update-grub// | ||
+ | |||
+ | ==== 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** : | ||
+ | |||
+ | Le résultat devrait ressembler à ceci : | ||
+ | < | ||
+ | |||
+ | Finissez par le //sudo update-grub// | ||
+ | |||
+ | ====Via un CD-Live ou USB-Live==== | ||
+ | Possible que vous obteniez cette erreur : <code bash>/ | ||
+ | |||
+ | Pour y remédier, la solution est le chroot (si vous obtenez une erreur, arrêtez de suite la procédure) : | ||
+ | <code bash> | ||
+ | mkdir -p / | ||
+ | mount -t ext4 /dev/sda3 / | ||
+ | mount --bind /proc / | ||
+ | mount --bind /dev / | ||
+ | mount --bind /sys / | ||
+ | chroot / | ||
+ | / | ||
+ | / | ||
+ | exit</ | ||
+ | |||
+ | * remplacer sda3 par la réponse que vous donne <code bash> | ||
+ | [[http:// | ||
+ | |||
+ | ==== Error: diskfilter writes are not supported ==== | ||
+ | Si vous rencontrez au boot le message d' | ||
+ | |||
+ | Ou attendre le paquet " | ||
+ | |||
+ | Lancer les commandes suivantes : | ||
+ | |||
+ | < | ||
+ | patchFile=~/ | ||
+ | sed -i " | ||
+ | cd /etc/ && sudo patch -p2 < $patchFile | ||
+ | sudo chmod +x ./ | ||
+ | sudo update-grub | ||
+ | </ | ||
+ | |||
+ | Au prochain reboot, le message ne devrait plus apparaître. | ||
+ | |||
+ | |||
+ | ===== Liens externes ===== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ===== Autres pages en rapport ===== | ||
+ | |||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[refind|rEFInd]], | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // Contributeurs : | ||