Documentation Ubuntu

GRUB 2 est le chargeur et gestionnaire de démarrage par défaut d’Ubuntu depuis la version 9.10 (Karmic Koala). Lorsque l’ordinateur démarre, GRUB 2 présente un menu et attend les entrées de l’utilisateur ou transfère automatiquement le contrôle à un noyau de système d’exploitation. GRUB 2 est un descendant de GRUB (GRand Unified Bootloader). Il a été entièrement réécrit pour offrir à l’utilisateur une flexibilité et des performances accrues. GRUB 2 est un logiciel libre.

Dans ce guide, GRUB 2 correspond à la version 1.98 ou ultérieure. GRUB legacy (version 0.97) sera désigné par le terme GRUB. Pour déterminer votre version, utilisez grub-install -V. La version 1.99 de Grub est devenue la version par défaut sur Ubuntu 11.04 (Natty Narwhal) et a introduit quelques changements majeurs dans le contenu du fichier Grub. Ce guide couvre l’utilisation de Grub 1.98, la version de Grub trouvée dans Ubuntu 10.04 LTS (Lucid Lynx). et Grub 1.99, emballé avec Ubuntu 12.04 LTS (Precise Pangolin). Le contenu reflétant d’autres versions de Grub 2 sera noté dans l’entrée appropriée.

http://pix.toile-libre.org/upload/original/1353953772.png

Améliorations

Les principales améliorations de GRUB 2 par rapport au GRUB original comprennent :

  • Prise en charge des scripts, y compris les instructions conditionnelles et les fonctions
  • Chargement dynamique des modules
  • Mode de secours
  • Menus personnalisés
  • Thèmes
  • .

  • Prise en charge du menu de démarrage graphique et amélioration de la capacité d’éclaboussure
  • Démarrage des images ISO LiveCD directement à partir du disque dur
  • Nouvelle structure de fichier de configuration
  • Non-.x86 platform support (such as PowerPC)
  • Universal support for UUIDs (not just Ubuntu)

GRUB vs GRUB 2

Le menu par défaut de GRUB 2 semblera familier aux utilisateurs de GRUB mais il y a un grand nombre de différences sous la surface.

  • Sur une nouvelle installation d’Ubuntu 9.10 ou plus récente sans aucun autre système d’exploitation installé, GRUB 2 démarrera directement à l’invite de connexion ou au Bureau. Aucun menu ne sera affiché.
  • Maintenez enfoncée (à droite) la touche SHIFT pour afficher le menu pendant le démarrage. Dans certains cas, appuyer sur la touche ESC peut également afficher le menu.
  • Pas de /boot/grub/menu.lst. Il a été remplacé par /boot/grub/grub.cfg.

  • Il n’y a pas de « /find boot/grub/stage1 » à l’invite de grub. L’étape 1.5 a été éliminée.
  • Le principal fichier de configuration de Grub 2, normalement situé dans le dossier /boot/grub, est grub.cfg. Il est le produit de divers scripts et ne doit normalement pas être édité directement.

  • grub.cfg est écrasé par certaines mises à jour du paquet Grub 2, chaque fois qu’un noyau est ajouté ou supprimé, ou lorsque l’utilisateur exécute update-grub.

  • La liste des menus des noyaux Linux disponibles est automatiquement générée en exécutant update-grub.

  • L’utilisateur peut créer un fichier personnalisé dans lequel il peut placer ses propres entrées de menu. Ce fichier ne sera pas écrasé. Par défaut, un fichier personnalisé nommé 40_custom est disponible pour être utilisé dans le dossier /etc/grub.d.

  • Le principal fichier de configuration permettant de modifier les paramètres d’affichage des menus s’appelle grub et se trouve par défaut dans le dossier /etc/default.

  • Il existe plusieurs fichiers pour configurer le menu – /etc/default/grub mentionné ci-dessus, et tous les fichiers dans le répertoire /etc/grub.d/.

  • La numérotation des partitions a changé. La première partition est désormais 1 et non plus 0. Le premier périphérique/drive est toujours hd0 par défaut (pas de changement). Ces désignations peuvent être modifiées si nécessaire dans le fichier device.map du dossier /boot/grub.

  • Les recherches automatiques d’autres systèmes d’exploitation, tels que Windows, sont accomplies chaque fois que update-grub est exécuté. Les systèmes d’exploitation trouvés seront placés dans le menu Grub 2.

  • Les modifications apportées aux fichiers de configuration ne prendront pas effet avant l’exécution de la commande update-grub.

Mise à niveau vers GRUB 2 depuis GRUB

GRUB 2 est le chargeur de démarrage par défaut pour Ubuntu. Les utilisateurs qui ont encore Grub 0.97 installé sur leurs systèmes Ubuntu peuvent passer à GRUB 2 en installant les versions actuellement prises en charge d’Ubuntu ou en activant les dépôts qui contiennent le paquet GRUB 2 grub-pc.

Veuillez consulter la documentation de la communauté Grub2/Upgrading pour plus d’informations et d’instructions.

Structure des fichiers

GRUB 2 intègre une hiérarchie de répertoires et de fichiers totalement révisée. Les principaux dossiers de GRUB 2 comprennent /etc/grub.d, qui contient les principaux scripts de GRUB 2, et /boot/grub, qui contient les modules de GRUB 2 et le fichier de menu (grub.cfg). Les personnalisations de l’utilisateur sont normalement effectuées dans le fichier /etc/default/grub.

La description des principaux dossiers et fichiers de GRUB 2 se trouve sur la page de documentation de la communauté Grub2/Setup.

Configuration de GRUB 2

Les modifications de configuration sont normalement apportées au fichier /etc/default/grub et aux scripts personnalisés situés dans /etc/grub.d. Aucune modification n’est apportée au menu GRUB 2 jusqu’à ce que la commande update-grub soit exécutée en tant que root. Cette commande exécute les scripts de configuration de GRUB 2 et met à jour le fichier /boot/grub/grub.cfg.

Les descriptions des options de GRUB 2 et la façon de les modifier sont présentées sur la page de documentation communautaire Grub2/Setup.

Comportement de l’affichage au démarrage

GRUB 2 se charge avant tout système d’exploitation. Ses composants modulaires sont chargés au fur et à mesure des besoins. Le comportement d’affichage du menu est généralement déterminé par les paramètres dans /etc/default/grub. Passez en revue la section  » Configuration de GRUB 2  » ci-dessus pour obtenir des conseils spécifiques sur l’entrée et le formatage.

Défaut initial

  • Si aucun autre système d’exploitation n’est détecté, GRUB 2 démarrera directement dans le système d’exploitation par défaut et aucun menu ne sera affiché.
  • Si un autre système d’exploitation est détecté, le menu de GRUB 2 s’affichera.

Affichage temporisé

  • Le menu s’affiche pendant un nombre prédéterminé de secondes. L’entrée par défaut est mise en évidence et d’autres sélections peuvent être effectuées par l’utilisateur jusqu’à l’expiration du délai d’attente. Le délai d’attente par défaut est de 2 secondes. Le minuteur continue jusqu’à ce qu’une touche quelconque soit pressée ou que l’entrée en surbrillance soit sélectionnée en appuyant sur ENTER.

  • Si aucune entrée n’est faite par l’utilisateur, GRUB 2 démarre l’entrée par défaut à la fin du délai d’attente.
  • Une fois qu’une touche a été pressée, le délai d’attente est désactivé et l’utilisateur doit faire une sélection manuellement.
  • L’entrée par défaut est déterminée par le paramètre GRUB_DEFAULT= dans /etc/default/grub ; la première « entrée de menu » a une valeur de « 0 ».

Caché

  • Les opérations normales de caché sont activées :
    • Aucune entrée de menu n’est affichée. L’écran d’accueil, s’il est configuré, s’affiche.
    • Le temps pendant lequel l’écran reste vide mais disponible pour l’affichage est déterminé par un paramètre dans /etc/default/grub (GRUB_HIDDEN_TIMEOUT)

    • GRUB 2 peut afficher un compte à rebours pour fournir un retour visuel sur le temps restant jusqu’à ce que la sélection par défaut soit choisie. Le réglage du délai est activé dans /etc/default/grub (GRUB_HIDDEN_TIMEOUT_QUIET)

    • L’utilisateur peut afficher le menu en appuyant sur n’importe quelle touche.
      • Une fois le menu affiché, le compteur GRUB_TIMEOUT commence. L’appui sur n’importe quelle touche arrête le décompte.
        • Si aucune touche n’est pressée à la fin du délai, l’entrée par défaut déterminée par les paramètres dans /etc/default/grub sera sélectionnée.

  • Les opérations du menu caché ne sont pas attendues (anormal) :
    • L’utilisateur peut être en mesure d’afficher le menu d’une ou plusieurs des manières suivantes :
      • Maintien de la touche SHIFT au début du processus de démarrage jusqu’à ce que le menu s’affiche.
        • GRUB 2 recherche un signal de touche SHIFT enfoncée pendant le démarrage. Si la touche est enfoncée ou si GRUB 2 ne peut pas déterminer l’état de la touche, le menu s’affiche.
      • Appuyer sur la touche ESC pendant une fenêtre de 3 secondes pendant que GRUB 2 s’exécute.

Sauvegardé

  • Sauvegarder un OS peut être réalisé en exécutant sudo grub-set-default si GRUB_DEFAULT=saved est défini dans /etc/default/grub. Il peut également être sauvegardé si GRUB_SAVEDEFAULT=true est également défini dans /etc/default/grub. Dans ce cas, le système d’exploitation par défaut reste jusqu’à ce qu’un nouveau système d’exploitation soit sélectionné manuellement dans le menu GRUB 2 ou que la commande grub-set-default soit exécutée.

Dernier démarrage échoué ou démarrage en mode récupération

Si le dernier démarrage a échoué ou après un démarrage en mode récupération, le menu sera affiché jusqu’à ce que l’utilisateur fasse une sélection.

Pour modifier ce comportement, éditez /etc/default/grub et ajoutez la variable GRUB_RECORDFAIL_TIMEOUT. Définissez la valeur de manière similaire au paramétrage de GRUB_TIMEOUT.

  • Pour -1, il n’y aura pas de compte à rebours et donc le menu s’affichera.
  • Pour 0, le menu ne s’affichera pas même en cas d’échec du démarrage.
  • Pour >=1, le menu s’affichera pendant le nombre de secondes spécifié.

Lancer update-grub après que la modification ait été effectuée.

Dans certains cas, l’astuce avec GRUB_RECORDFAIL_TIMEOUT ne fonctionne pas. Dans ce cas, éditez /etc/grub.d/00_header et modifiez la valeur de timeout à la ligne 236 (cette ligne se trouve dans la fonction make_timeout())

set timeout=-1

à la valeur décrite ci-dessus.

Lancez update-grub après que les modifications aient été effectuées. Remerciements particuliers à McCunha sur Ubuntu Forums pour l’astuce ci-dessus.

La modification ci-dessus, cependant, fait toujours en sorte que GRUB2 démarre en mode graphique texte. Ainsi, une modification supplémentaire est nécessaire. Editez /etc/grub.d/10_linux et changez la ligne 188 en

set linux_gfx_mode=keep

Une fois de plus, exécutez update-grub après que la modification ait été effectuée.

Protection par mot de passe

GRUB 2 est capable de protéger par mot de passe l’édition des menus, l’accès au terminal GRUB 2 et certaines ou toutes les entrées de menu. Il peut également limiter l’accès à des entrées spécifiques pour des utilisateurs spécifiques, et peut chiffrer les mots de passe en texte clair pour une sécurité accrue. Veuillez vous référer à la documentation de la communauté Grub2/Passwords.

Entrées de menu personnalisées

GRUB 2 permet aux utilisateurs de créer des sélections de menu personnalisées qui seront automatiquement ajoutées au menu principal lorsque sudo update-grub est exécuté. Un fichier 40_custom est disponible dans /etc/grub.d/ pour être utilisé ou servir d’exemple pour créer d’autres menus personnalisés. Des informations sur la construction et l’utilisation de menus personnalisés dans GRUB 2 se trouvent dans le document communautaire Grub2/CustomMenus.

Dépannage

GRUB 2 offre d’excellentes capacités de dépannage et de correction des problèmes de démarrage à partir du menu de démarrage ou du terminal GRUB 2. Les procédures de dépannage et de récupération sont détaillées dans le document communautaire Grub2/Troubleshooting qui comprend également une section Selected_Problems_and_Bugs.

Réparation des gels de redémarrage/arrêt

Si votre machine se fige lors des tentatives d’arrêt ou de redémarrage, essayez de modifier /etc/default/grub. Ouvrez le fichier avec gksudo gedit /etc/default/grub (interface graphique) ou sudo nano /etc/default/grub (ligne de commande). Tout autre éditeur de texte en clair (Vim, Emacs, Kate, Leafpad) convient également. Trouvez la ligne qui commence par GRUB_CMDLINE_LINUX_DEFAULT et ajoutez reboot=bios à la fin.

Si cela est fait correctement, cela devrait donner quelque chose comme GRUB_CMDLINE_LINUX_DEFAULT= »quiet splash reboot=bios »

Puis enregistrez le fichier, exécutez sudo update-grub et redémarrez de toutes les manières possibles pour vous. Après cela, les redémarrages et les arrêts devraient commencer à fonctionner correctement.

Avec certains matériels (notamment DELL), le paramètre du noyau que vous ajoutez doit être reboot=pci (au lieu de reboot=bios), la procédure reste la même.

Affichages

GRUB 2 peut faire plus que de fournir un simple menu noir & blanc. Son menu peut être personnalisé par l’utilisateur pour présenter un menu plus attrayant visuellement en changeant les couleurs de police, les fonds et les résolutions.

Pour plus d’informations sur l’utilisation des images splash et la modification des couleurs de police et des résolutions de menu, veuillez vous référer à la documentation de la communauté Grub2/Displays.

Thèmes

Les thèmes de Grub 2 sont encore en cours de développement, tout comme l’intégration avec gfxmenu. Les éléments du thème comprendront les couleurs, les polices, les indicateurs de progression, les menus et les étiquettes. Ces deux éléments sont très prometteurs, mais ne sont pas prêts à être publiés avec Ubuntu 9.10. Consultez la section Liens en bas de cette page pour trouver des références.

  • grub2.theme.dinxter.png

    grub2.theme.bennett.png

Installation/Réinstallation/Déplacement de GRUB2

Veuillez consulter la documentation de la communauté Grub2/Installation. Les informations concernant les mises à niveau de GRUB 0.97 (Legacy) vers GRUB 2 se trouvent désormais sur Grub2/Upgrading.

Démarrer un ISO à partir d’une entrée de menu

Les ISO d’Ubuntu, ainsi que de nombreux ISO d’utilitaires et certains autres systèmes d’exploitation Linux, peuvent être démarrés à partir d’un disque dur via une entrée de menu GRUB. Cela élimine la nécessité de créer un CD/DVD et permet aux fichiers d’image amorçable d’être stockés uniquement sur le disque dur.

Pour plus d’informations sur cette fonctionnalité de Grub 2, veuillez consulter la page de documentation communautaire Grub2/ISOBoot.

Sécurité

Prévenir le démarrage via la ligne de commande Grub

La possibilité de démarrer manuellement en utilisant la ligne de commande Grub constitue le plus grand risque de sécurité de Linux. Tout système d’exploitation peut être démarré de cette manière à partir de n’importe quel lecteur USB ou CD/DVD, en contournant les restrictions du BIOS. Le fait de placer des mots de passe ou de verrouiller des éléments de menu (dans les fichiers de configuration de Grub) n’empêche pas un utilisateur de démarrer manuellement à l’aide de commandes saisies sur la ligne de commande Grub. (Une fois qu’un OS étranger est démarré, bien sûr, il peut être utilisé pour accéder à n’importe quelle partie d’un disque dur non crypté).

Il n’existe actuellement aucune option permettant d’empêcher l’utilisation de Grub en ligne de commande. Faire cela limiterait le chargement de démarrage aux seules options du menu et cela n’est pas considéré comme judicieux

Divers

Démarrage à partir d’une console série

Si vous voulez que GRUB fonctionne sur une ligne série, vous devrez décommenter GRUB_TERMINAL dans /etc/default/grub et le définir sur série (au lieu de la console par défaut). Alternativement, vous pouvez ajouter GRUB_TERMINAL= »console serial » pour avoir le menu grub à la fois sur la console série et locale. Les paramètres par défaut de la console série sont de fonctionner sur le premier port série (ttyS0) à un taux de transfert de 9600 bit/s avec 8 bits de données, 1 bit d’arrêt et aucune parité.

Si vous voulez utiliser un autre port série ou si votre console utilise des paramètres différents, vous devez ajouter une ligne GRUB_SERIAL_COMMAND pour spécifier des paramètres supplémentaires à la commande série. La commande série dans GRUB 2 utilise la même syntaxe que son homologue GRUB Legacy (documentée ici). Par exemple, pour une ligne série très courante de 9600 bits/s (bauds) avec 8 bits de données, 1 bit d’arrêt et aucune parité :

GRUB_SERIAL_COMMAND= »serial –unit=0 –speed=9600 –word=8 –parity=no –stop=1″

Un exemple est une ligne série à 4800 bits/s (bauds) avec 7 bits de données, 1 bit d’arrêt et une parité paire :

GRUB_SERIAL_COMMAND= »serial –unit=0 –speed=4800 –word=7 –parity=even –stop=1″

Démarrage de FreeBSD, NetBSD et des OS à chargement en chaîne ou multiboot

Veuillez vous référer à l’article Grub2OtherOs page de documentation communautaire.

Liens

  • Grub2/CustomMenus

  • Grub2/Affichages

  • Grub2/Installation

  • Grub2/ISOBoot.

  • Grub2/Setup

  • Grub2/Passwords

  • Grub2/Submenus

  • Grub2/Troubleshooting

  • .

  • Grub2/Upgrading

  • Grub 2 (Ubuntu Wiki)

  • GNU GRUB

  • GNU GRUB2 Manual

  • .

  • Page d’accueil illustrée du double démarrage

  • Support de Mac OS X (XNU)

  • Mac OS X Boot Snow Leopard

  • Manuel de GRUB -. Thèmes

  • Le guide définitif de la programmation de GRUB2 par Towheed Mohammed

  • Analyse des problèmes avec grub2 et RAID1 avec des solutions de contournement

  • CatégorieBootAndPartition CatégorieRescueAndCloning

    .

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *