Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:grub2:detail [16/02/2010 08:27] smolski |
doc:systeme:grub2:detail [28/08/2011 09:13] darien |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== GRUB2 - le chargeur d'amorçage version 2 ====== | ||
+ | |||
+ | ===== GRUB2 - Présentation générale ===== | ||
+ | |||
+ | Le code de **GRUB** est toujours maintenu, mais il n'y aura plus d'ajout de | ||
+ | nouvelles fonctionnalités à Grub (Legacy) premier du nom. | ||
+ | |||
+ | Le code de **GRUB2** a fait l'objet d'une réécriture complète. \\ | ||
+ | L'installation est divisée en plusieurs modules qui sont destinés à différentes | ||
+ | architectures et plateformes, avec une base commune. | ||
+ | |||
+ | //Exit// les écritures directement dans un fichier, mais configuration au petit poil grâce aux commandes et aux scripts personnalisés propre à **GRUB2**. | ||
+ | |||
+ | Au cœur du fonctionnement de **GRUB2** on trouve : | ||
+ | - L'image amorçable « boot.img » | ||
+ | - Le mini-initrd “core.img” | ||
+ | |||
+ | Ce dernier est suffisamment réduit pour être implanté entre le secteur d'amorçage du disque et le début de la première partition, ce qui rend possible de nombreuses utilisations avec : | ||
+ | * des ''multiboot'' | ||
+ | * des ''systèmes non-GNU/Linux'' | ||
+ | * des partitionnements variés, par exemple utilisant ''raid'' et/ou ''lvm'' rendant disponible les volumes de ce types __dès le menu__ Grub ! | ||
+ | |||
+ | ===== INSTALLATION - Par le CD ===== | ||
+ | |||
+ | Lors de l'installation, GRUB ne sera pas effacé du secteur d'amorçage (MBR) du disque, GRUB2 sera ''chaîné'' à partir du GRUB déjà existant pour permettre de vérifier que tout fonctionne correctement. | ||
+ | |||
+ | Au démarrage suivant il faudra choisir dans le menu grub habituel l'entrée commençant par : | ||
+ | |||
+ | "chainload into grub2 on …”. | ||
+ | |||
+ | Si tout se passe bien, il est temps de faire totalement le remplacement de GRUB par GRUB2, en exécutant la commande sous root : | ||
+ | |||
+ | # upgrade-from-grub-legacy | ||
+ | |||
+ | Après cela : | ||
+ | |||
+ | - GRUB2 sera installé dans le secteur d'amorçage | ||
+ | - Le fichier **/boot/grub/grub.cfg** prendra le relai de **/boot/grub/menu.lst**. | ||
+ | |||
+ | **/boot/grub/menu.lst** reste présent pour servir de référence, il peut aussi être supprimé maintenant. | ||
+ | |||
+ | === Nota : === | ||
+ | |||
+ | Sur certaines distribution (Ubuntu Hardy) la procédure est un peu différente. \\ | ||
+ | Pour basculer sur GRUB2 définitivement il faut l'installer sur le **mbr** en utilisant la commande ''grub-install''. | ||
+ | |||
+ | ===== COMMANDES DE GRUB2 ===== | ||
+ | |||
+ | L'utilisation des commandes spécifiques de **GRUB2** devient __la ligne de conduite obligée__ pour : | ||
+ | - configurer, | ||
+ | - réparer, | ||
+ | - administrer | ||
+ | |||
+ | le fonctionnement de **GRUB2**. | ||
+ | |||
+ | ==== grub-install - Installation de GRUB2 ==== | ||
+ | |||
+ | # grub-install --recheck "(hd0)" | ||
+ | # update-grub2 | ||
+ | |||
+ | * “**hd0**” désigne le premier disque, | ||
+ | * ”--**recheck**” est facultative, elle vérifie la liste des périphériques et | ||
+ | * affichera la table sur la console. | ||
+ | |||
+ | == Nota : == | ||
+ | |||
+ | Si votre système comporte un lecteur de disquette, et que celui-ci est listé | ||
+ | dans le fichier **/boot/grub/device.map**, il vaut mieux ajouter l'option : | ||
+ | "--no-floppy” | ||
+ | à la commande d'installation pour éviter que le lecteur de disquette ne se retrouve positionné comme cible pour la racine (/). | ||
+ | |||
+ | On peut utiliser la notation ''/dev/sda'' (par exemple) au lieu de ''(hd0)''. | ||
+ | |||
+ | ==== grub-mkconfig (update-grub) - (re)Mise à jour de GRUB2 ==== | ||
+ | |||
+ | La commande : | ||
+ | update-grub | ||
+ | fonctionne toujours avec GRUB2. | ||
+ | |||
+ | Avec les versions récentes c'est : | ||
+ | grub-mkconfig | ||
+ | qu'il faut utiliser. | ||
+ | |||
+ | Cette commande va : | ||
+ | - //sourcer// tous les scripts dans **/etc/grub.d**, | ||
+ | - eux même renvoyant les variables de **/etc/default/grub**, | ||
+ | - et générer ou mettre à jour le fichier **grub.cfg**. | ||
+ | <note tip>Il faut exécuter cette commande après chaque modification d'un script ou d'une variable de configuration de GRUB2.</note> | ||
+ | |||
+ | === Syntaxe : === | ||
+ | |||
+ | La syntaxe est la suivante: | ||
+ | |||
+ | # grub-mkconfig -o /boot/grub/grub.cfg | ||
+ | |||
+ | <note important> | ||
+ | ATTENTION ! | ||
+ | Avec l'option : ''-o'' (ou ''--output'') | ||
+ | * Sans cette option : Le résultat est écrit seulement sur ''stdout'' (la console) uniquement. //Effacé dès la prochaine mise à jour de// ''grub2''. | ||
+ | * Avec cette option : Le résultat __est bien écrit__ dans le fichier ''grub.cfg''. //Il reste intact jusquà une prochaine modification volontaire de votre part//. | ||
+ | </note> | ||
+ | |||
+ | ''grub-mkconfig'' est également invoqué //automatiquement// à l'installation d'un nouveau noyau. | ||
+ | |||
+ | |||
+ | <note>C'est la commande dont l'utilisation est la plus courante.</note> | ||
+ | |||
+ | ==== grub-setup ==== | ||
+ | |||
+ | Sert à créer une image de démarrage qui se lancera depuis la partition indiquée (de la forme **(hd0,1)**. | ||
+ | |||
+ | Parmi les options, il y a : | ||
+ | |||
+ | option : | ||
+ | --root-device= /une partition root/ | ||
+ | |||
+ | option : | ||
+ | --directory= /un autre répertoire/ que : /boot/grub pour implanter l'image. | ||
+ | |||
+ | option : | ||
+ | --device-map= /un fichier device.map/ différent de celui du système. | ||
+ | (Par exemple : Pour démarrer depuis un système sur clé usb.) | ||
+ | |||
+ | |||
+ | ==== grub-mkdevicemap ==== | ||
+ | |||
+ | Cette commande crée un fichier ''/boot/grub/device.map''. | ||
+ | |||
+ | À utiliser après : | ||
+ | * un ajout/retrait de disque, | ||
+ | * une modification dans l'agencement des disques dans le bios… | ||
+ | |||
+ | <note>Cette commande ne s'utilise pas en usage normal.</note> | ||
+ | |||
+ | ==== grub-mkrescue ==== | ||
+ | |||
+ | Sert à créer un disque de démarrage, qui peut servir de disque de secours. | ||
+ | |||
+ | Par défaut c'est un ''cdrom'' qui est proposé à être gravé. | ||
+ | |||
+ | * On peut également créer une disquette avec l'option : <code>--image-type=floppy</code> | ||
+ | * On peut aussi indiquer des modules à charger avec : <code>--modules=</code> | ||
+ | * Et encore préciser le type d'émulation afin de l'adapter au media : ''cdrom'' (par défaut) ou ''floppy''. | ||
+ | |||
+ | **Exemple :** | ||
+ | |||
+ | # grub-mkrescue --image-type=floppy --emulation=floppy --modules=lvm test.img | ||
+ | |||
+ | L'image résultante peut être copiée sur une disquette. | ||
+ | |||
+ | ==== grub-probe ==== | ||
+ | |||
+ | Les options spécifiques au système de fichier devraient être correctement détectées par grub2 grâce à la commande **grub-probe**. | ||
+ | |||
+ | Si vous voulez vous en assurer, vous pouvez taper : | ||
+ | |||
+ | # grub-probe -d /dev/sda1 --target=fs_uuid | ||
+ | |||
+ | Puis : | ||
+ | $ ls -l /dev/disk/by-uuid/ | grep sda1 | ||
+ | |||
+ | Et comparer les résultats pour voir si c'est le bon **UUID** qui est détecté. | ||
+ | |||
+ | Contrôlons que **GRUB2** détecte correctement notre volume **raid** /dev/md0, sur lequel est installé la racine du système, et chargera les modules nécessaires : | ||
+ | |||
+ | # grub-probe -d /dev/md0 -tabstraction | ||
+ | |||
+ | Ici on utilise la forme courte de **--target** qui est **-t**, pour vérifier la reconnaissance de la couche d'abstraction du système de fichier (le raid). \\ | ||
+ | La réponse devrait être : | ||
+ | raid mdraid | ||
+ | Ce qui, dans ce cas, correspond aux modules à inclure dans le **core.img** et à charger par **GRUB2**. | ||
+ | |||
+ | Les paramètres possibles sont : | ||
+ | |||
+ | * fs | ||
+ | * fs_uuid | ||
+ | * drive | ||
+ | * device | ||
+ | * partmap | ||
+ | * abstraction | ||
+ | |||
+ | On peut indiquer à la commande ''grub-probe'' : | ||
+ | |||
+ | - un fichier ''device.map'' spécifique à //un chemin vers les fichiers de configuration// (par défaut c'est : ''/boot/grub/device.map''). | ||
+ | - ou bien, à la place d'utiliser l'option ''-d (--device)'', ''/Un chemin vers un volume/''. | ||
+ | |||
+ | **Exemple :** | ||
+ | # grub-probe /boot/grub/ -tabstraction | ||
+ | |||
+ | Pour une liste //complète// des modules disponibles : | ||
+ | - vous pouvez regarder dans ''/boot/grub'' | ||
+ | - ou bien taper : | ||
+ | |||
+ | $ ls -l /boot/grub/ | grep .mod | less | ||
+ | |||
+ | ===== CONFIGURATION ===== | ||
+ | |||
+ | Pour **GRUB**, la configuration consistait à retoucher les entrées du fichier ''menu.lst'' directement. | ||
+ | |||
+ | Avec **GRUB2** on intervient sur __un ensemble de fichiers de configuration__ qui seront ''sourcés'' au moment de la génération du ''grub.cfg'' (//à la manière du //''sources.list''// pour ''apt''//). | ||
+ | |||
+ | La configuration modulaire est basée sur des scripts personnels et/ou modifiables. | ||
+ | |||
+ | **Procédure :** | ||
+ | |||
+ | - Créer un script (basé sur les modèles fournis), | ||
+ | - Le copier dans le répertoire correspondant (par exemple **/etc/grub.d/**), | ||
+ | - Mettre à jour le fichier ''/boot/grub/grub.cfg''. (Voir Commande : ''grub-mkconfig'' ) | ||
+ | |||
+ | |||
+ | |||
+ | <note important>Toute modification éditer directement dans le ''grub.cfg'' __sera écrasée__ lors des appels automatiques à **update-grub** ou **grub-mkconfig**.</note> | ||
+ | |||
+ | == NOTA : == | ||
+ | |||
+ | **GRUB2** numérote les disques à partir de ''0'' (zero) mais les partitions sont maintenant numérotées à partir de un ''1'' et non plus de zéro ''0''. | ||
+ | |||
+ | Donc, pour la première partition du premier disque : | ||
+ | * pour **GRUB** : ''(hd0,0)'' | ||
+ | devient : | ||
+ | * pour **GRUB2** : ''(hd0,1)'' | ||
+ | |||
+ | ==== Résolution ==== | ||
+ | |||
+ | GRUB2 supporte des images de plus haute résolution. Et même, au stade | ||
+ | expérimental, la vidéo paraît-il ! | ||
+ | |||
+ | ==== Shell ==== | ||
+ | |||
+ | GRUB2 propose aussi un environnement “shell” (console) développé, avec notamment : | ||
+ | * des fonctions de recherche, | ||
+ | * un support des boucles, | ||
+ | * il est scriptable, | ||
+ | * il est chaînable, | ||
+ | * il supporte le format **ext4**. | ||
+ | |||
+ | ==== MODULE : GRUB - Détail==== | ||
+ | |||
+ | Dans un terminal root, taper : | ||
+ | # nano /etc/default/grub | ||
+ | |||
+ | Vous y lisez : | ||
+ | |||
+ | <code> | ||
+ | # Ce fichier est sourcé par update-grub ou grub-mkconfig, et ses variables sont | ||
+ | # propagées | ||
+ | # aux fichiers "fils" dans /etc/grub.d. | ||
+ | |||
+ | # Entrée choisie automatiquement par défaut, "0" = première entrée du fichier | ||
+ | # grub.cfg . | ||
+ | GRUB_DEFAULT=0 | ||
+ | |||
+ | # Durée avant exécution du choix par défaut. | ||
+ | GRUB_TIMEOUT=4 | ||
+ | |||
+ | # Reconnaissance de la distribution. | ||
+ | GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` | ||
+ | |||
+ | # Chargement des modules additionnels, ici RAID, afin que ces volumes soient | ||
+ | # disponibles dès le | ||
+ | # menu grub. Indispensable pour des partitions /boot ou / (root) sur raid. | ||
+ | GRUB_PRELOAD_MODULES="raid mdraid" | ||
+ | |||
+ | # Options supplémentaires à passer au noyau (resume=/dev/sda2 , | ||
+ | # acpi=off...). Concerne aussi les entrées "recovery mode" | ||
+ | GRUB_CMDLINE_LINUX="acpi=off" | ||
+ | |||
+ | # Options supplémentaires à passer au noyau, ne concerne QUE les entrées par | ||
+ | # défaut,pas les entrées "recovery" | ||
+ | GRUB_CMDLINE_LINUX_DEFAULT="quiet vga=0x0365" | ||
+ | |||
+ | # Décommenter pour inhiber le terminal graphique et forcer un terminal texte | ||
+ | # (grub-pc seulement). | ||
+ | #GRUB_TERMINAL=console | ||
+ | |||
+ | # Résolution et type du terminal graphique (défaut 640x480, gfxgrub). Si une | ||
+ | # liste de résolution est donnée, elles serviront d'alternatives de secours en | ||
+ | # cas d'impossibilité d'utiliser la principale. | ||
+ | GRUB_GFXMODE="1440x900x24 800x600x24 640x480" | ||
+ | GRUB_TERMINAL=gfxterm | ||
+ | |||
+ | # Décommenter pour empêcher l'usage des UUID "root=UUID=xxx" dans grub.cfg . | ||
+ | #GRUB_DISABLE_LINUX_UUID=true | ||
+ | </code> | ||
+ | |||
+ | === GRUB_PRELOAD_MODULES === | ||
+ | |||
+ | Cette variable indique à GRUB2 de charger des modules additionnels, par exemple raid, lvm, video … \\ | ||
+ | Ces modules seront ajoutés à l'image de démarrage ''/boot/grub/core.img'' (//qui agit à la manière d'un initrd (Initial Ram Disk) minimal//). | ||
+ | |||
+ | === GRUB_CMDLINE_LINUX === | ||
+ | |||
+ | Cette variable concerne toutes les entrées du menu, y compris **recovery**. | ||
+ | |||
+ | Cette variable indique les options permanentes à transmettre au noyau au moment de son chargement. \\ | ||
+ | C'est ici qu'on indique : | ||
+ | * les options liées à l'**acpi**, | ||
+ | * la verbosité du démarrage ... | ||
+ | Les options doivent être séparées par un espace et l'ensemble de la liste encadrée par des guillemets. | ||
+ | |||
+ | === GRUB_CMDLINE_LINUX_DEFAULT === | ||
+ | |||
+ | Cette variable ne concerne QUE les entrées par défaut, pas les entrées | ||
+ | **recovery**. | ||
+ | |||
+ | Elle permet de spécifier les options supplémentaires à passer au noyau : | ||
+ | * **quiet**, | ||
+ | * **vga=**, | ||
+ | * etc... | ||
+ | |||
+ | Voir ici : [[manuel:modules_configuration#tp_-_option_par_defaut_quiet_et_vga_791 | TP - Utilisation de la configuration par DEFAUT]]. | ||
+ | |||
+ | === GRUB_GFXMODE - la Resolution === | ||
+ | |||
+ | Permet de choisir la résolution du terminal graphique ''gfxgrub'' lorsqu'il est utilisé. | ||
+ | |||
+ | Tout d'abord, pour connaître les modes supportés par votre carte vidéo, vous pouvez utiliser le programme (à installer si absent) **hwinfo** : | ||
+ | |||
+ | # hwinfo --framebuffer | ||
+ | |||
+ | Pour être certain que la résolution sera disponible on peut passer par un shell grub lors du démarrage. | ||
+ | - Passer en mode édition avec la touche [e], | ||
+ | - puis [ctrl][c] pour passer sur le shell grub, | ||
+ | - [esc] pour en sortir). | ||
+ | |||
+ | Dans le shell grub, pour connaître la liste des résolutions disponibles, on tape : | ||
+ | |||
+ | # vbeinfo | ||
+ | |||
+ | Si le matériel le supporte on pourra par exemple utiliser une résolution de 1280×1024 avec des couleurs codés sur 24bit : | ||
+ | GRUB_GFXMODE=1280x1024x24 | ||
+ | Ce qui se traduira dans votre **grub.cfg** par la mention: | ||
+ | “set gfxmode=1280x1024x24” | ||
+ | La première valeur donnée est celle par défaut, les suivantes (facultatives) seront utilisées en secours si la première échoue : | ||
+ | |||
+ | GRUB_GFXMODE="1440x900 800x600 640x480" | ||
+ | |||
+ | <note warning>Attention !</note> | ||
+ | - Si vous utilisez une résolution élevée supportée par votre matériel | ||
+ | - et une image de résolution inférieure | ||
+ | celle-ci ne sera pas affichée, ou ne couvrira qu'une partie de l'écran. \\ | ||
+ | Il faut donc créer une image à la bonne résolution et en indiquer le chemin dans ''/etc/grub.d/05_debian_theme'' (//voir plus bas//). | ||
+ | |||
+ | === GRUB_DISABLE_LINUX_UUID=true === | ||
+ | |||
+ | Permet d'empêcher l'utilisation automatique des **UUID** pour l'adressage de la partition racine dans le ''grub.cfg''. | ||
+ | |||
+ | ==== SCRIPTS de configuration ==== | ||
+ | |||
+ | Les autres fichiers de configuration se trouvent dans le répertoire | ||
+ | ''/etc/grub.d/'' | ||
+ | |||
+ | Sur Debian on y trouve : | ||
+ | * 00_header | ||
+ | * 05_debian_theme | ||
+ | * 10_hurd | ||
+ | * 10_linux | ||
+ | * 20_memtest86+ | ||
+ | * 30_os-prober | ||
+ | * 40_custom | ||
+ | |||
+ | On remarque le préfixe numérique placé devant (00_, 05_, 10_, ...) ! \\ | ||
+ | Ce préfixe détermine l'ordre dans lequel les scripts seront lus par | ||
+ | ''grub-mkconfig''. | ||
+ | |||
+ | === /etc/grub.d/00_header === | ||
+ | |||
+ | Gère la plupart des variables contenues dans /etc/default/grub. | ||
+ | |||
+ | Il n'y a normalement aucune raison de modifier ce script. | ||
+ | |||
+ | On y trouve des fonction d'évaluation des variables contenu dans le | ||
+ | **/etc/default/grub**, afin de les passer au **grub.cfg** | ||
+ | |||
+ | == Exemple: == | ||
+ | |||
+ | <code> | ||
+ | [...] | ||
+ | for i in ${GRUB_PRELOAD_MODULES} ; do | ||
+ | echo "insmod $i" | ||
+ | done | ||
+ | |||
+ | if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi | ||
+ | if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=4 ; fi | ||
+ | if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640x480 ; fi | ||
+ | |||
+ | cat << EOF | ||
+ | set default=${GRUB_DEFAULT} | ||
+ | set timeout=${GRUB_TIMEOUT} | ||
+ | EOF | ||
+ | [...] | ||
+ | </code> | ||
+ | Ce fragment de fichier montre que le script **00_header** source les valeurs des variables relatives au chargement de modules spécifiques : | ||
+ | * du choix par défaut dans le menu du temps avant démarrage automatique | ||
+ | * du choix par défaut de la résolution attribuée à **gfxgrub**. | ||
+ | |||
+ | === /etc/grub.d/05_debian_theme === | ||
+ | |||
+ | Ce sera spécifique à votre distribution. \\ | ||
+ | Il gère les éléments du thème graphique utilisé, comme l'image de fond du menu GRUB2 et les couleurs des polices. | ||
+ | |||
+ | == Modifier le thème par défaut == | ||
+ | |||
+ | Pour spécifier un chemin vers une image particulière on pourra modifier la partie concernant le thème par défaut : | ||
+ | <code> | ||
+ | [...] | ||
+ | # check for usable backgrounds | ||
+ | use_bg=false | ||
+ | if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then | ||
+ | for i in | ||
+ | {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do | ||
+ | [...] | ||
+ | </code> | ||
+ | |||
+ | == Inclure un chemin d'image == | ||
+ | |||
+ | Pour inclure le chemin vers une image différente (ici les images inclues dans le paquet **grub2-splashimages**): | ||
+ | <code> | ||
+ | [...] | ||
+ | # check for usable backgrounds | ||
+ | use_bg=false | ||
+ | if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then | ||
+ | for i in | ||
+ | {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/Windbuchencom.{png,tga}; do | ||
+ | [...] | ||
+ | </code> | ||
+ | |||
+ | == Couleur de la police == | ||
+ | |||
+ | Modifier la couleur de la police : | ||
+ | <code> | ||
+ | [...] | ||
+ | # set the background if possible | ||
+ | if ${use_bg} ; then | ||
+ | prepare_grub_to_access_device `${grub_probe} --target=device ${bg}` | ||
+ | cat << EOF | ||
+ | insmod ${reader} | ||
+ | if background_image `make_system_path_relative_to_its_root ${bg}` ; then | ||
+ | set color_normal=black/black | ||
+ | set color_highlight=magenta/black | ||
+ | else | ||
+ | EOF | ||
+ | fi | ||
+ | [...] | ||
+ | </code> | ||
+ | <note important>Ne modifiez pas ce qui concerne le thème par défaut, il | ||
+ | constitue le choix de secours si votre personnalisation ne fonctionne | ||
+ | pas.</note> | ||
+ | |||
+ | === /etc/grub.d/10_hurd - /etc/grub.d/10_linux === | ||
+ | |||
+ | Des scripts spécifiques au chargement d'un type de noyau, respectivement pour | ||
+ | les systèmes GNU-HURD ou GNU-Linux. | ||
+ | |||
+ | Ces scripts génèrent les entrées pour le système par défaut du **grub.cfg**. \\ | ||
+ | Il n'y a aucune raison de les modifier directement. \\ | ||
+ | Ces scripts sourcent les informations de **/etc/default/grub**, et évaluent un grand nombre de paramètres comme : | ||
+ | * la présence d'un initrd, | ||
+ | * l'emplacement, | ||
+ | * l'UUID et le type de volume sur lequel est situé la racine du système (/) | ||
+ | * … etc. | ||
+ | |||
+ | === /etc/grub.d/20_memtest86+ === | ||
+ | |||
+ | Entrée pour lancer l'application de test de mémoire ''memtest'' si elle est installée. | ||
+ | |||
+ | === /etc/grub.d/30_os-prober === | ||
+ | |||
+ | Est issu du paquet **os-prober**. \\ | ||
+ | C'est un script additionnel à grub2 qui détecte les autres systèmes | ||
+ | d'exploitation installés, et ajoute une entrée dans le **grub.cfg** | ||
+ | automatiquement. | ||
+ | |||
+ | === /etc/grub.d/40_custom === | ||
+ | |||
+ | C'est le script qui pourra faire l'objet de vos modifications. \\ | ||
+ | On peut le copier, lui donner un chiffre et un nom différent, puis y intégrer : | ||
+ | * un script spécifique, | ||
+ | * une entrée supplémentaire pour un système qui ne serait pas détecté par **os-prober**, | ||
+ | * …etc. | ||
+ | |||
+ | Par défaut il ne contient rien. | ||
+ | |||
+ | <note important>Veillez à ce que le script créé soit exécutable.</note> | ||
+ | |||
+ | Voir des TP d'utilisation ici : [[manuel:scripts_configuration | Ajouter des distributions variées]] | ||
+ | |||
+ | ===== FICHIER grub.cfg ===== | ||
+ | |||
+ | Avec **GRUB2**, le fichier **/boot/grub/grub.cfg** remplace le fichier | ||
+ | **/boot/grub/menu.lst** habituel du **GRUB** | ||
+ | <note important>Toute modification du ''grub.cfg'' faite directement sera écrasée lors d'un appel à **update-grub** ou **grub-mkconfig**.</note> | ||
+ | |||
+ | == NOTA 1 : == | ||
+ | |||
+ | GRUB2 numérote les disques à partir de ''0'' (zero) comme GRUB, mais les partitions sont maintenant numérotées à partir de ''1'' et non plus de zéro (0). \\ | ||
+ | Donc : | ||
+ | * (hd0,0) pour GRUB (première partition du premier disque) devient | ||
+ | * (hd0,1) avec GRUB2. | ||
+ | |||
+ | == NOTA 2 : == | ||
+ | |||
+ | Pour changer temporairement une entrée du **grub.cfg** on utilisera plutôt le **shell** de GRUB2 lors du démarrage. | ||
+ | |||
+ | Pour un changement permanent on créera un script dans **/etc/grub.d** | ||
+ | |||
+ | ===== GRUB2 et ext4 ===== | ||
+ | |||
+ | Le système de fichier **ext4**, fait son apparition dans plusieurs | ||
+ | distributions. | ||
+ | |||
+ | Sur Debian vous pouvez démarrer directement sur une partition système en **ext4** à partir de Squeeze. | ||
+ | |||
+ | Si vous utilisez GRUB (ou une version plus ancienne de GRUB2) vous devez avoir une partition **/boot** séparée, formatée en **ext3**. | ||
+ | |||
+ | ===== REMERCIEMENTS ===== | ||
+ | |||
+ | Voir le tuto là pour plus de renseignements encore : \\ | ||
+ | http://www.linuxpedia.fr/doku.php/expert/grub2 |