Grub2 et Grub-Légacy

Articles en rapport

Il existe deux grub !

Vous pourriez consulter avantageusement l'article suivant multiboot_facile_avec_grub sur Icaunux. Ces deux articles sont complémentaires.

Grub Legacy

L'ancien grub se nomme Grub Legacy. Des précisions dans cet article d'ubuntu.org.frgrub legacy. Utilisé jusqu'à Ubuntu version 9.04. De moins en moins utilisé sauf sur de vieux systèmes linux équipant des machines anciennes. Sa mise à jour pour amélioration n'était plus possible; il a dû être abandonné.

Grub PC dit aussi Grub2

Le nouveau ou grub2 ou grub PC. Une bonne partie de cet article est inspiré de la page grub PC sur Ubuntu.fr et de shell_grub_2_a_l_amorcage

Présent depuis Ubuntu 9.10, et sur toutes les distributions modernes.Des changements radicaux ont été apportés au chargeur de démarrage préféré des linuxiens. Ces modifications le rendent plus solide, il reconnait automatiquement les systèmes d'exploitation présents sur le disque et les ajoute au démarrage (en particulier windows, que ce soit XP, vista ou seven).

Le contenu de cet article est assez lourd et complexe. Il est là à titre de compilation des données de base sur le coeur de grub-PC. Mais en cas de plantage du système à cause de manipulations des partitions, vous devez lire ce qui suit !
Ce nouveau grub se configure tout seul. Il n'est donc pas utile de tenter de modifier ses fichiers, sauf en le mettant à jour par un sudo update-grub !

Faire apparaître le menu de grub

Le menu de Grub ne s'affiche pas sur un PC mono-système depuis Ubuntu Lucid / 10.04. Il suffit de laisser la touche Majuscule (shift) enfoncée avant le chargement de Grub pour afficher son menu.

Pour que le menu s'affiche systématiquement, il faut éditer le fichier /etc/default/grub puis il suffit d'ajouter le # au début de la ligne

GRUB_HIDDEN_TIMEOUT=0

Définition

GRUB 2 (version Compatibles PC)

gnu-head-sm.jpg GRand Unified Bootloader, version 2 (ou GRUB 2) est la seconde version de GNU GRUB.

C'est un logiciel permettant de charger un système d'exploitation. Il pourra amorcer par lui-même des systèmes compatibles avec la norme POSIX (GNU/Linux, *BSD, Mac OS, etc.) ou enchaîner vers un autre chargeur d'amorçage pour les autres systèmes.

Cet autre article d'Icaunux traite d'un sujet proche.multiboot et grub

Ce qui a changé

Grub 2 ou GRUB-PC n'est pas grub-legacy !

Plus qu'une continuité du projet GRUB Legacy précédent, GRUB 2 en est une réécriture complète. Il a pour but d'être un chargeur d'amorçage plus modulaire et portable que son prédécesseur avec notamment :

une interface graphique, un chargement de modules au moment de l'exécution plutôt qu'à la compilation, une portabilité vers diverses architectures matérielles (BIOS, EFI, Coreboot…), un mode de secours qui reprend la main en cas d'erreur de chargement. Les stage1.5 ont été éliminés. une révision de la numérotation des partitions, ce qui ne pouvait être fait sur GRUB Legacy.

Quelle version de grub ais-je ?

Une vérification peut être faite avec la commande :

grub-install -v

(si vous voyez : GNU GRUB 1.97 ou +, vous avez Grub 2, si c'est 0.97, vous avez Grub Legacy).

Installer Grub-PC sur le Mbr

Vous avez modifié les options avancées lors de l'installation d'Ubuntu en choisisant de l'installer ailleurs que dans le MBR, et vous souhaitez l'installer à cet endroit dorénavant :

assurez-vous d'être lancé sur l'Ubuntu contenant la configuration de Grub 2, lancez cette commande (en remplaçant /dev/sda si ce disque n'est pas celui de votre ubuntu) :

sudo grub-install /dev/sda

Réinstaller/Restaurer GRUB 2

Attention : la procédure suivante n'est valable que si vous souhaitez installer GRUB dans le MBR. Attention donc si vous avez installé ubuntu dans windows avec wubi ou si vous avez conservé bootmgr (par exemple, si votre ordinateur est tatoué): dans ces cas, cette procédure ne résoudra pas votre problème et risque même de vous en créer.

Si vous n'avez plus Grub2 suite, par exemple, à l'installation d'un autre système d'exploitation, voici les étapes à suivre pour le remettre en place :

1.Munissez-vous d'un CD d'installation (ou clé USB d'installation) d'Ubuntu 9.10 ou ultérieure (Les versions antérieures d'Ubuntu n'incluant pas GRUB 2, il n'est pas possible d'utiliser un CD-ROM d'installation ou une clé USB d'installation d'Ubuntu en version 9.04 et antérieures pour réinstaller GRUB 2.);

2.Amorcez votre ordinateur avec ce CD-ROM ou cette clé USB en choisissant l'option, si besoin, Essayer Ubuntu sans rien changer sur votre ordinateur ;

3.Montez la partition qui contenait GRUB 2 auparavant. Cette partition est généralement la même qui contient tout le système Ubuntu. Dans une session d'essai d'Ubuntu, rendez-vous dans le menu Raccourcis et sélectionnez la partition à monter dans la liste des partitions existantes;

4. Allez dans Système → Administration → Utilitaire de disques…

a. notez l'identifiant de périphérique de votre disque dur primaire - « Périphérique », en haut à droite - (généralement /dev/sda),

b. cliquez sur la partition Linux principale, qui contenait GRUB 2 et qui a été montée précédemment,

c.notez le nom de montage de cette partition - « Point de montage », en bas à droite - (par exemple /mnt/sda6).

# Dans un terminal (Applications → Accessoires → Terminal), lancez la commande suivante en remplaçant “/mnt/sda6” et /dev/sda par votre point de montage et le périphérique noté précédemment :

sudo grub-install --root-directory=/mnt/sda6 /dev/sda

#Redémarrez en enlevant votre live-cd ou votre clé-usb.

Divers

Numérotation des disques

Pour Linux, on a l'alphabet pour désigner les disques durs physiques et une numérotation partant de 1 pour le numéro de la partition, soit:

-hd ou sd désignant un disque dur (autrefois, les scsi, pata et sata étaient différenciés) et

-hda pour le premier disque dur, hdb,

-hda2 pour la seconde partition du disque UN, sdc1 pour la première partition du disque TROIS….

Pour les deux Grub on a une numérotation démarrant de 0 pour les disques physiques.

- Mais Grub-legacy l'ancien note 0 pour le numéro de la partition alors que Grub2 numérote les partitions à partir de “1”.

Donc (hd0,0) pour grub “legacy” devient (hd0,1) avec Grub2 (première partition du premier disque).

Par exemple :

/dev/hdc5 ou /dev/sdc5 sera nommé hd(2,4) par grub-legacy.

Pas évident ! Mais pour grub-pc:

/dev/hda1 ou /dev/sda1 sera nommé hd(0,1).

Une gymnastique (a→ 0, b→ 1, c→ 2,..)est donc à faire pour les disques physiques, mais assi pour les partitions.

Liste des fichiers utilisés pour la configuration

Fichier utilisé par le système

**grub.cfg**

/boot/grub/grub.cfg : il est généré automatiquement 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.

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

 sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.autogénéré 

de ne pas chercher à le modifier directement (il 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)

device.map

/boot/grub/device.map

Lors d'un update-grub, 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

gksudo gedit /boot/grub/device.map

soit vous lancez la commande:

sudo grub-mkdevicemap

qui détecte les supports de stockage branchés actuellement.

Grub2 : le modifier

Pour changer temporairement une entrée du grub.cfg on utilisera plutôt le shell de grub2 lors du démarrage. Taper e au démarrage de grub. Une ligne apparait et on entre ses modifications.

Pour un changement permanent, on créera un script dans /etc/grub.d.

Ne pas éditer grub.cfg !

Avec grub2 on n'édite pas directement le fichier grub.cfg, mais on intervient sur un ensemble de fichiers de configuration qui seront “sourcés” au moment de la génération du grub.cfg. Toute modification du grub.cfg faite directement sera écrasée très rapidement lors d'un appel à “update-grub” ou “grub-mkconfig”, à éviter donc.

Fichiers de configuration

/ETC/DEFAULT/GRUB est le principal fichier de configuration sur lesquel on peut intervenir.

Les autres fichiers de configuration se trouvent dans le répertoire /ETC/GRUB.D/, on y trouve sur Debian:

00_header 05_debian_theme (section spécifique à votre distribution, couleur, thème) 10_hurd (noyaux exotiques …) 10_linux 20_memtest86+ (si installé, permet de choisir de tester la mémoire )

30_os-prober

30_os-prober est issue 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.

40_custom

40_custom C'est le script qui pourra faire l'objet de vos modifications, on peut 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”,

Passer en douceur de Grub-legacy à grub2

Prenons l'exemple de Debian, où Grub2 est proposé à l'installation, mais grub “legacy” est encore le choix par défaut. Lors de l'installation grub “legacy” ne sera pas effacé du secteur d'amorçage (MBR) du disque, grub2 sera “chaîné” à partir du grub déjà existant, pour 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 …”

Utilitaires

Grub Customizer

Grub Customizer_sur_ubuntu.fr

Ajoutez le PPA ppa:danielrichter2007/grub-customizer dans vos sources de logiciels, puis rechargez la liste des paquets.Ensuite, installez le paquet grub-customizer. Faites une sauvegarde de votre grub comme indiqué !

Boot-repair

boot-repair

Pour installer Boot-Repair, il suffit d'ajouter à vos sources de logiciels le PPA ppa:yannubuntu/boot-repair, mettre à jour les paquets puis installer le paquet boot-repair.En une ligne:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update && sudo apt-get install -y boot-repair 

bootrepair_sur_forum_ubuntu

grub2_et_grub-legacy.txt · Dernière modification: 2011/10/05 19:46 (modification externe)
GNU Free Documentation License 1.3
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5