LinuxPedia

Wiki libre et indépendant dédié à GNU-Linux et BSD.

Outils pour utilisateurs

Outils du site


util:grub

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

util:grub [2018/11/17 13:54] (Version actuelle)
Ligne 1: Ligne 1:
 +======= Grub =======
  
 +
 +====== Présentation ======
 +**Grub** (acronyme de GRand Unified Bootloader) est un programme de multiboot, libre, au même titre que **Lilo** (Linux loader), qui permet de choisir au démarrage de son ordinateur entre plusieurs systèmes d'​exploitation.
 +
 +Ses avantages sont notamment la gestion d'​autres systèmes que Linux et Windows (utile pour Hurd, Solaris, FreeBSD et OpenBSD), la lecture de la configuration au boot (pas besoin de réinstaller GRUB dans le secteur de boot après un changement de configuration,​ contrairement à LILO), une ligne de commande permettant de changer la configuration au boot et surtout la reconnaissance en natif des divers systèmes de fichiers existants. Il possède également une sorte de langage de commande simple permettant de « rattraper » un boot qui se serait mal passé, suite au mauvais adressage d'une partition, par exemple.
 +
 +**Grub** doit bien entendu être capable de reconnaître tous les systèmes de fichiers sur lesquels il pourrait être amené à booter. Il est pour cette raison beaucoup plus gros que LILO.
 +
 +Il fait partie du projet GNU.
 +
 +{{  :​util:​boot2.png?​nolink ​ }}
 +
 +====== Fonctionnalités ======
 +
 +    * Contrairement à **Lilo**, **Grub** n'a pas besoin d'​être réinstallé pour mettre à jour sa configuration. **Grub** prend en compte les modifications de son fichier de configuration automatiquement.
 +    * Au cas où le fichier de configuration serait incorrect, GRUB peut fournir un interpréteur de commandes pour permettre à l'​utilisateur de charger un système d'​exploitation manuellement.
 +    * **Grub** est très portable : il permet de charger aussi bien des systèmes compatibles avec le multiboot que des systèmes non-compatibles avec cette fonction (comme Microsoft Windows). **Grub** supporte en outre beaucoup de systèmes de fichiers comme ext3, VFAT ou NTFS. **Grub** est également compatible avec le mode Logical Block Address (LBA).
 +    * **Grub** peut être utilisé avec différentes interfaces. Beaucoup de distributions GNU/Linux utilisent le support graphique de **Grub** pour afficher au démarrage de l'​ordinateur un menu avec une image de fond, et parfois un support de la souris.
 +    * **Grub** peut télécharger des images de systèmes d'​exploitation depuis un réseau, et supporte donc les ordinateurs sans disques. **Grub** peut donc décompresser ces images pour les charger ensuite.
 +
 +
 +
 +
 +
 +===== Les options et commandes de Grub =====
 +En règle générale vous n'​aurez qu'un fichier à modifier pour changer votre **Grub**. Inutile de dire que ce fichier est très important et que si vous n'​êtes pas sûr de votre modification il vaut mieux enregistrer l'​original sous un autre nom (évitez de le nommer oldmenu.lst) avant de faire votre modification et ce même si linux en fait une copie automatique sous le nom oldmenu.lst !!
 +
 +ce fichier c'est : **MENU.LST**
 +
 +Il se trouve dans le répertoire : **/​BOOT/​GRUB/​**
 +
 +
 +==== Root ====
 +
 +Sert à monter le disque dur et à activer une partition pour la démarrer , il faut lui spécifier quel disque démarrer en spécifiant quel disque ( hd + n°) puis quelle partition (son n°) exemple :
 +
 +   ​(hd1,​0)
 +
 +
 +==== Boot ====
 +
 +Cette commande permet de lancer à proprement parler le système d'​exploitation,​ en fait elle lance le noyau linux qui avait été préalablement chargé par la commande Kernel ou par celle de chainloader.
 +
 +==== Kernel ====
 +
 +Cette commande est la plus importante, en effet c'est elle qui va se charger de configurer les options définies pour votre noyau, indiquer son chemin et le charger temporairement en mémoire, la commande **boot** servant simplement à le lancer. Il est primordial de spécifier le chemin du noyau avec la commande **root**.
 +
 +exemple de commande :
 +
 +   ​kernel /​boot/​vmlinuz-2.6.21-1.3194.fc7 ro root=LABEL=/​ rhgb quiet 
 +
 +elle peut revêtir des formes plus complexes ; exemple ici de ma Suse 10.3 :
 +
 +   ​Kernel /​boot/​vmlinuz-2.6.22.9-0.4-default root=/​dev/​disk/​by-id/​scsi-SATA_WDC_WD740GD-00FWD-WMAKE1689174-part1 vga=0x346 resume=/​dev/​sdb2 splash=silent showopts ​
 +
 +==== initrd ====
 +
 +FIXME
 +
 +**Initrd** (INITial RamDisk) est une image d'un système minimal initialisé au démarrage du système.
 +
 +Ce fichier utilise le système de fichier cramFS (système de fichier compressé au format gzip et archivé via cpio), ensuite l'​image est chargée en mémoire vive et permet ainsi d'​avoir un système minimal pouvant ensuite charger le système de fichier principal ou bien des systèmes sans disque ("​diskless"​).
 +
 +Initrd est utilisé par exemple sur Debian et Ubuntu.
 +
 +==== rootnoverify ====
 +
 +Sert à activer une partition mais ne la monte pas dans le système (contrairement à la commande **root**). C'est cette option que l'on utilise pour monter des systèmes Windows.
 +
 +par exemple :
 +
 +   ​rootnoverify (hd1,0)
 +
 +
 +==== Chainloader ====
 +
 +Cette commande ne s'​utilise qu'​avec un OS de type Windows ( xp, vista, dos ). Sa fonction est de charger les blocs de fichier contenus dans un chargeur de démarrage secondaire. Il faut impérativement la combiner avec la commande rootnoverify.
 +
 +elle s'​utilise de la façon suivante :
 +
 +   ​chainloader +1
 +
 +
 +==== title ====
 +
 +Vous pouvez mettre ce que vous voulez. Il s'agit en fait du nom qui apparaîtra dans le **Grub** comme par exemple "ma distro Linux préférée"​. ​
 +En règle générale on indique le nom du système (exemple : vista, xp, frugal, ubuntu, suse, fedora ...) et éventuellement la version du noyau. Bien évidemment on ne met qu'un nom par ligne et on crée autant de lignes qu'il y a d'​options de démarrage ou de systèmes installés. La seule fonction de la commande title est d'​afficher le nom dans **Grub**.
 +
 +   title Fedora (2.6.21-1.3194.fc7) ​
 +
 +==== defaut ====
 +Ne doit être présent que sur l'une des lignes du **Grub**, cette commande sert à indiquer à **Grub** la distribution à booter par défaut en cas d'​inaction de votre part, elle doit être combinée à la commande **timeout**.
 +
 +s'​utilise comme cela :
 +
 +   ​defaut=0 ​
 +
 +==== timeout ====
 +
 +Indique le temps en secondes avant de lancer le système d'​exploitation ou distribution choisi par la commande defaut. Il suffit de mettre par exemple :
 +
 +   ​timout 8 
 +
 +==== hiddenmenu ​ ====
 +
 +Sert à masquer les autres choix du menu **Grub** et ne fait apparaître que celui possédant la mention defaut. Cette option étant activée par défaut sur les distributions Fedora notamment.
 +
 +==== Splashimage ====
 +
 +Spécifie l'​utilisation d'une image pour afficher le **Grub**, il faut lui indiquer l'​emplacement de cette image. Dans l'​exemple ci-dessous on lui indique le disque et la partition (hd1,0) et le chemin jusqu'​à l'​image /boot/grub/ et enfin le nom de votre image splash.xpm.gz :
 +
 +   ​splashimage=(hd1,​0)/​boot/​grub/​splash.xpm.gz ​
 +
 +===L'​image utilisée doit avoir les caractéristiques suivantes :===
 +
 +    * 640*480 en résolution
 +    * 14 couleurs maxi
 +    * extension .xpm.gz
 +
 +===Pour convertir une image dans ce format rien de plus simple :===
 +
 +   ​convert -size 1200x1024 monimage.jpg -resize 640x480 -colors 15 -profile '​*'​ splash.xpm $ 
 +   gzip splash.xpm
 +
 +à noter qu'il faut indiquer la taille initiale de votre image (ici 1200*1024) et son nom (ici monimage.jpg)
 +
 +=== Avec Gimp ===
 +Dans Gimp faites un clic gauche sur votre image et pressez les touches ALT + I, mettez le chiffre 14, cochez "​générer une palette optimisée"​ dans le haut du menu. Si la combinaison de touche Alt+I ne fonctionne pas, faites un clic droit sur l'​image et allez dans le menu image => mode => Indexed ​
 +et spécifiez 14 couleurs et puis sélectionnez NO DITHERING (recommandé). Ceci va demander à Gimp de ne pas essayer de deviner les couleurs de transition. il vous est aussi possible de spécifier les couleurs pour la palette de 14, en fait j'ai dû le faire pour une de mes images et j'ai remplacé une couleur sombre par une couleur claire. :) et Gimp secoue ! 
 +
 +==== Exemple d'un fichier menu.lst ====
 +
 +   #​boot=/​dev/​sdb1 ​
 +    default=0 ​
 +    timeout=5 ​
 +    splashimage=(hd1,​0)/​boot/​grub/​splash.xpm.gz ​
 +    hiddenmenu ​
 +    title Fedora (2.6.21-1.3194.fc7) ​
 + root (hd1,​0) ​
 + kernel /​boot/​vmlinuz-2.6.21-1.3194.fc7 ro root=LABEL=/​ rhgb quiet 
 + initrd /​boot/​initrd-2.6.21-1.3194.fc7.img ​
 +
 +
 +    title windows vista
 + rootnoverify (hd0,​0) ​
 + chainloader +1
 +
 +==== Liens ====
 +[[http://​www.trustonme.net/​didactels/​136.html|de bon tuto sur Grub et son install]]
 +
 +[[http://​www.linux-france.org/​article/​sys/​chargeurs/​ix86/​grub/​grub-manual-fr.html|le manuel de Grub en français]]
 +
 +[[http://​www.gnu.org/​software/​grub/​| site officiel de Grub en anglais]]
 +
 +[[http://​geocities.com/​supergrubdisk/​| cd super Grub pour réparer Grub]]
 +
 +[[http://​ruslug.rutgers.edu/​~mcgrof/​grub-images/#​1.0| guide en anglais pour créer des Grub]]
 +
 +[[http://​www.gnu.org/​software/​grub/​grub-2.en.html|Grub 2 site officiel en anglais]]
 +
 +[[expert:​grub2:​|grub2]] Nouvelle version du chargeur d'​amorçage.
util/grub.txt · Dernière modification: 2018/11/17 13:54 (modification externe)