Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:frombenny:grub-pc [Le 27/10/2009, 14:12] frombenny mise en gras des notions importantes |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Karmic amorçage}} | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | ====== GRUB-PC ====== | ||
- | Installé par défaut depuis l'édition [[:karmic|9.10 Karmic Koala d'Ubuntu]], **Grub-pc** est le gestionnaire d'amorçage qui se lance juste après le [[http://www.commentcamarche.net/pc/bios.php3|BIOS]]. C'est lui qui va ensuite transmettre le relais à un système d'exploitation via un menu dans le cas d'un système dit multiboot. | ||
- | |||
- | Anciennement nommé [[:Grub2]], c'est une réécriture complète du [[:grub|Grub 0,9x (renommé à cette occasion Grub Legacy)]]. | ||
- | |||
- | Son fonctionnement est très différent de [[:grub|grub-legacy]]. | ||
- | <note>Dans beaucoup de docs, on nous dit que grub-mkconfig a pris la place de update-grub. Seulement mkconfig ne modifie pas pour l'instant (8 oct 2009) le fichier grub.cfg. Donc, toutes les commandes de mise à jour de la config de grub-pc seront données avec update-grub. FIXME</note> | ||
- | |||
- | ===== Installation ===== | ||
- | Pour les versions précédentes à Karmic, veuillez vous reporter à [[:Grub2|cette page]]. Sinon, il vous suffit d'installer ou réinstaller le paquet : [[apt://grub-pc]] | ||
- | |||
- | Ensuite, saisissez les commandes (en remplaçant X par la **lettre** du disque sur lequel se trouve la partition /boot de votre système) : | ||
- | sudo grub-install /dev/sdX | ||
- | sudo update-grub | ||
- | Grub-install copiera tous les fichiers dont grub-pc a besoin dans le dossier /boot et update-grub génèrera un nouveau fichier grub.cfg (voir plus loin). | ||
- | |||
- | ===== A connaître avant de configurer ===== | ||
- | ==== Liste des fichiers utilisés pour la configuration ==== | ||
- | === Fichier utilisé par le système === | ||
- | * /boot/grub/**grub.cfg** : il est autogénéré par update-grub et **ne doit** donc **pas être modifié manuellement**.\\ C'est lui qui est lu au démarrage comme l'était menu.lst sur grub-legacy. du menu | ||
- | |||
- | === Fichiers utilisés pour l'autoconfiguration === | ||
- | * /boot/grub/**device.map** : indique les disques sur lesquels update-grub cherchera une configuration d'amorçage (le disque principal et la clé USB ayant servi à l'installation d'Ubuntu par exemple) | ||
- | * /etc/default/**grub** : gère les valeurs par défaut de grub (délai de lancement, résolution d'affichage, splash/quiet, options par défaut des nouveaux noyaux,..) | ||
- | * les fichiers du dossier **/etc/grub.d/** | ||
- | * **00_header** : contient le script gérant les options définies dans /etc/default/grub. | ||
- | * **05_debian_theme** : gère les couleurs du menu et le fond d'écran éventuel. | ||
- | * **10_linux** : contient le script de lancement du système sur lequel on est. | ||
- | * **20_memtest86+** | ||
- | * **30_os-prober** : contient le script de recherche des autres systèmes installés. | ||
- | * **40_custom** : **configuration perso**. C'est là qu'on pourra paramétrer manuellement le lancement des systèmes d'exploitation. | ||
- | |||
- | ==== Numérotation des disques ==== | ||
- | Pour linux, on a l'alphabet pour designer les disques durs physiques et une numérotation partant de 1 pour le numéro de la partition. Pour Grub-pc (à la différence de grub-legacy), on a une numérotation **démarrant de 0 pour les disques physiques** et **de 1 pour le numéro de la partition**. | ||
- | |||
- | Par exemple : | ||
- | * /dev/hd**a1** ou /dev/sd**a1** sera nommé hd(**0,1**) par grub-pc. | ||
- | * /dev/hd**c5** ou /dev/sd**c5** sera nommé hd(**2,5**) par grub-pc. | ||
- | |||
- | Une petite gymnastique (a-> 0, b-> 1, c-> 2,..) reste à faire pour les disques physiques. | ||
- | |||
- | ===== Configuration/reconfiguration automatisée ===== | ||
- | sudo update-grub | ||
- | Lit le contenu de ces fichiers un à un : | ||
- | - /boot/grub/device.map | ||
- | - /etc/default/grub | ||
- | - l'ensemble des fichiers contenu à la racine du dossier /etc/grub.d/ | ||
- | pour générer automatiquement un nouveau grub.cfg | ||
- | |||
- | ===== Configuration manuelle ===== | ||
- | <note important>Avant de commencer, il est souhaitable d'avoir : | ||
- | * un fichier grub.cfg à jour en lançant un update-grub (voir plus haut). | ||
- | * d'en garder une sauvegarde (ex: sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.autogénéré) | ||
- | * de ne pas chercher à le modifier directement (sera écrasé à un moment ou à un autre) | ||
- | |||
- | De même, aucun script de configuration présent dans /etc/grub.d/ ne doit être effacé.\\ On préférera les déplacer dans un dossier dormant créé pour cela (sudo mkdir /etc/grub.d/zz) | ||
- | </note> | ||
- | |||
- | ==== /boot/grub/device.map ==== | ||
- | Lors d'un grub-update, un périphérique peut être indiqué comme introuvable ou sa taille/size impossible à définir. L'erreur est due aux supports déclarés dans /boot/grub/device.map. | ||
- | * soit vous éditez le fichier manuellement avec "sudo gedit /boot/grub/device.map", | ||
- | * soit vous lancez la commande "sudo grub-mkdevicemap" qui détecte les supports de stockage branché actuellement. | ||
- | |||
- | ==== /boot/default/grub : options par défaut ==== | ||
- | Éditer le fichier des valeurs par défaut de grub avec la commande : | ||
- | sudo gedit /etc/default/grub | ||
- | |||
- | * **GRUB_DEFAULT=0** correspond au menu qui sera sélectionné par défaut (pour lancer Windows par défaut, il faudra modifier cette valeur). | ||
- | * **#GRUB_HIDDEN_TIMEOUT=0** le # sera enlevé si on veut cacher l'affichage du menu (cas où l'on n'a qu'un seul système sur le disque ou lorsque ce grub est lancé via un chainloader). La durée en seconde permettra d'appuyer sur la touche echap pour voir le menu. | ||
- | * **GRUB_TIMEOUT=10** est la durée en seconde de l'affichage du menu avant de se lancer sur le menu sélectionné par défaut. | ||
- | * **GRUB_DISTRIBUTOR=""**, **GRUB_CMDLINE_LINUX_DEFAULT=""** et **GRUB_CMDLINE_LINUX=""** sont des comportements prédéfinis qui affecteront le lancement des systèmes d'exploitation détectés automatiquement. | ||
- | Plus de détails sur [[http://grub.enbug.org/OptionsDeGrub|ce wiki]]. | ||
- | |||
- | ==== Ne faire apparaître qu'un seul noyau ==== | ||
- | L'option # howmany=1 de grub-legacy n'existe plus.\\ Une solution possible est de cacher les noyaux superflus en les déplaçant vers un dossier AnciensNoyaux (créé à cet effet). | ||
- | * Ouvrir le dossier /boot en mode administrateur | ||
- | |||
- | sudo nautilus /boot | ||
- | |||
- | * puis clic droit -> Créer un dossier (qu'on nommera AnciensNoyaux) | ||
- | * sélectionner tous les fichiers désignant un ancien noyau //en maintenant la touche CTRL// | ||
- | * les déplacer vers AnciensNoyaux à la souris ou par couper/coller | ||
- | <note important>La méthode décrite ci-dessus peut poser problème si vous cachez le noyau sur lequel vous êtes lancé.\\ La fermeture d'Ubuntu ne sera pas propre et posera des problèmes pour redémarrer depuis un autre noyau. | ||
- | |||
- | Donc, précaution à prendre : être lancé sur le noyau qu'on veut garder au menu de grub-pc avant de cacher les anciens noyaux.</note> | ||
- | |||
- | ==== Désactiver quelques automatismes ==== | ||
- | Si vous avez créé le dossier zz dans /etc/grub.d/ (voir note importante plus haut), vous pourrez y déplacer les fichiers : | ||
- | * 20_memtest86+ pour ne plus faire apparaître les tests de mémoire dans le menu de démarrage | ||
- | * 30_os-prober pour ne plus déclencher la détection automatique des autres systèmes installés | ||
- | |||
- | sudo nautilus /etc/grub.d | ||
- | |||
- | puis déplacement des fichiers à la souris ou par couper/coller. | ||
- | |||
- | ==== Paramètres personnalisés ==== | ||
- | Éditez le fichier grub.cfg autogénéré plus haut et le fichier 40_custom : | ||
- | sudo gedit /boot/grub/grub.cfg /boot/grub/grub.cfg.autogénéré /etc/grub.d/40_custom | ||
- | |||
- | Copier depuis le grub.cfg (ou une de ses sauvegardes) ce que vous trouverez entre | ||
- | ### BEGIN /etc/grub.d/30_os-prober ### | ||
- | et | ||
- | ### END /etc/grub.d/30_os-prober ### | ||
- | |||
- | et coller le dans 40_custom. Modifiez ensuite les paramètres à votre guise. | ||
- | |||
- | Pour appliquer cette nouvelle configuration lancez un : | ||
- | sudo update-grub | ||
- | |||
- | Puis, relancez votre machine. | ||
- | |||
- | ===== Restaurer Grub-pc ===== | ||
- | Lorsque qu'un autre gestionnaire d'amorçage a pris la place de grub-pc dans le MBR : | ||
- | * **Bootez** sur un système contenant grub-pc par défaut (par exemple le live-CD de Karmic ou versions suivantes) | ||
- | * **Montez le disque contenant le /boot/grub/grub.cfg** que grub-pc devra utiliser //(par exemple en allant sur "Raccourcis/Dossier personnel" en cliquant sur le disque concerné sur la gauche, puis, ok pour autoriser son montage)// | ||
- | * Lancez ensuite la **commande** suivante en remplaçant "DisqueOùJ'aiMonBoot" par votre point de montage et /dev/sda éventuellement par le disque qui devra contenir grub-pc sur le MBR : | ||
- | |||
- | sudo grub-install --root-directory=/media/DisqueOùJ'aiMonBoot /dev/sda | ||
- | |||
- | * **Redémarrez** en enlevant votre live-cd ou votre clé-usb d'amorçage. | ||
- | |||
- | ===== Cas particuliers ===== | ||
- | ==== Lancement depuis 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. | ||
- | <code>title Karmic via GRUB-pc | ||
- | uuid 70e29811-71a3-4553-a16c-1cce2ff334ed | ||
- | kernel /boot/grub/core.img</code> | ||
- | |||
- | ==== Couleurs et fond d'écran ==== | ||
- | [[:tutoriel/grub-pc thème|Tutoriel concernant le thème du menu]] [[http://blog.nizarus.org/2009/07/changement-de-limage-darriere-plan-de-grub-2]] | ||
- | |||
- | ==== Autres tutoriaux ==== | ||
- | * [[http://www.linuxpedia.fr/doku.php/expert/boot_ubuntu_iso_grub2|Installer Ubuntu à partir d'une image ".iso" avec grub-pc]] | ||
- | * chainloader | ||
- | <code>set root=(hd0,2) | ||
- | chainloader +1 | ||
- | boot</code> | ||
- | ===== Liens externes ===== | ||
- | * [[http://grub.enbug.org/FrenchFrontPage?action=show&redirect=PageD%27Accueil|Wiki grub-pc]] | ||
- | * [[http://grub.enbug.org/ListeDesCommandes|Liste des commandes de grub-pc]] | ||