Grub
Un article de SeRoM - Wiki.
Sommaire |
[modifier] Grub 2
Grub 2 est le sucesseur de grub legacy. Je suis tomber sur ce très bon article alors plut que de recopier, je donne le lien:
Mais vous trouverez toujours les astuces de l'ancien Grub ci-dessous
[modifier] Grub legacy
[modifier] Modification des options du boot loader
Les options du boot loader, se trouve dans le fichier:
/boot/grub/menu.lst
[modifier] Rajouter une entrée windows
Ajouter les lignes suivantes:
title Windows 2000 root (hd0,0) savedefault makeactive chainloader +1
[modifier] Modifier la résolution du mode console
C'est aussi dans le menu.lst de grub que ca se passe. Il faut aller ajouter le mode vga à la fin de la ligne kernel de l'entrée que l'on désire modifier (vga=xxx).
title Debian GNU/Linux, kernel 2.6.18-4-686 root (hd0,0) kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/hda1 ro vga=791 initrd /boot/initrd.img-2.6.18-4-686 savedefault
Voici un tableau sur lequel vous pouvez vous baser pour choisir votre résolution:
_________________|_Résolution___________________________________________ Couleurs | 640x480 800x600 1024x768 1280x1024 256 (8bit)| 769 771 773 775 32000 (15bit)| 784 787 790 793 65000 (16bit)| 785 788 791 794 16.7 Mill.(24bit)| 786 789 792 795
Attention, cette solution est fonctionnel mais pas du tout perenne ... Si un update d'un kernel surviens, la consequence de cela est le regeneration du fichier /boot/grub/menu.lst via la commande update-grub. Ce qui ecrasera le vga=791 !!!
Pour rendre perenne ses modifications, il y a une ligne comprenant une variable nomme kopt. Cette variable contient les different argument a passe au kernel au boot ... on peux y ajouter les infos de resolution ... On fais donc les modification suivante :
# kopt=root=/dev/hda1 ro
par
# kopt=root=/dev/hda1 ro vga=791
et on relance un update-grub. Ce qui auras pour effet de recreer les "lignes de kernel" avec toutes les options specifie dans la variable kopt.
[modifier] Passer de lilo à grub
Si vous êtes sous lilo et que vous souhaitez passer sous grub, rien de plus facile:
apt-get install grub grub-doc
Lancez ensuite grub par la commande très complexe:
grub
Vous allez entrer dans grub, et vous pouvez à présent écrires des lignes de commande pour la configuration de votre grub. Vous pouvez soit installer grub sur le MBR ou sur le premier secteur d'une partition. Dans mon cas, je vous montre comment le faire sur le MBR (ce qui sera le + souvent utilisé). Dans un premier temps tapez:
cfdisk
Cette uilitaire vous affichera l'ensemble des partitions sur votre/vos disques.
Les partitions sont nommées sous la forme (hdn,p) où hdn est le disque dur et p le numéro de partition, simple ! Les partitions principales sont numérotées de 0 à 3, les partitions étendues à partir de 4. Par exemple, votre partition hda2 sous Linux sera désignée (hd0,1) sous GRUB. En effet, Linux numérote les partitions à partir de 1 et GRUB à partir de 0. Maintenant, vous pouvez donc repérer le disque dur où se trouve votre linux, ainsi que la partition où se trouve votre / Dans mon cas, mon linux se trouve sur mon sda (convertit en hd0 pour grub), et la partition / sur sda3 (convertit en hd0,2 pour grub), je vais donc devoir taper ces commandes:
root (hd0,2) setup (hd0)
Dans la première ligne je spécifie donc où est mon root, et sur la deuxième ligne, je dis d'installer grub dans le MBR du disque dur.
[modifier] Restauration du Grub
Attention la 1ere partie de ce paragraphe est aproximative - voir Discution de la page.
Après avoir installer un Windows sur la partition fraîchement créé par redimensionnement; le Master Boot Record (et donc le sélectionneur de partition de GNU/Linux) est écrasé. Il faut donc le restaurer pour créer un 'dual boot'. On va supposer que le répertoire /boot est monter sur la partition /dev/hda1.
- Lancer un LiveCD
- Ouvrir une console en root
- Monter la partition sur la quelle se trouve le dossier /boot
mount /dev/hda1 /media/hda1 mount -o bind /dev /media/hda1/dev mount -o bind /proc /media/hda1/proc
- On copie un certain nombre de paramètre que grub aura besoin pour se remettre en place.
cp /proc/mounts /media/hda1/etc/mtab
- On change d'environnement architecture de répertoire du CD pour simuler celui du disque
chroot /media/hda1
- Et finalement on lance le grub-install
grub-install /dev/hda1
- Si cette dernière commande génère des erreurs sortez du dernière environnement
exit
- Et lancer l'utilitaire de grub existant sur le disque
/media/hda1/sbin/grub
- Une fois que vous avez atterri dans le menu grub:
grub> find /boot/grub/stage1 grub> root (hd?,?) # ? doit être remplacé par le texte trouvé précédemment grub> setup (hd?) # ? 1er nombre donner par le find précédemment grub> quit
- Vous pouvez redémarrer (retirer le LiveCD).
Bien normalement après ceci, le grub se lance au démarrage de la machine. Mais ne propose pas directement d'entrée vers la partition du Windows. On va la rajouter.
- Une fois sous GNU/Linux lancer une console en route
- Et éditer le fichier /boot/grub/menu.lst en rajoutant cette entré à la fin de fichier:
title Windows 95/98/NT/2000 root (hd0,0) # remplacer le (0,0) selon le cas makeactive chainloader +1
[modifier] Notes
- Quelques exemples de hd0,0 à remplacer:
(hd0,0) = hda1 (hd0,1) = hda2 (hd0,2) = hda3 (hd1,0) = hdb1 (hd1,2) = hdb2 ... = ...
Cela n'est pas vraiment correct meme si ca peut l'etre dans certain cas ... A la difference de linux qui nomme les peripheriques ide en fonction du controleur sur lequel il se trouve ainsi que de sa place dans la chaine, grub nomme les disques durs en fonction de l'ordre selon lequel ils sont detectes !!!
Ce qui a pour consequence que si vous n'avez que un seul disque dur dans votre machine, il se nomera toujours hd0 ... quelque soit sa place (hda, hdb ... hdz) !
Dans le "rare cas" ou vous avez un controleur ide supplementaire a celui de votre carte-mere, il faut donc voir dans quelle odre ils sont initialise (dans le cas de plusieurs disque toujours). Ses derniers sont generalement considerer par le bios comme des "carte scsi" externe, et ils est generalement possible de specifier dans le dit bios l'odre d'initialisation, en premier ide ou scsi et l'autre ensuite ...
- Installation de GNU/Linux postérieur au Windows :
Si le système GNU/Linux est installé après le système Windows, toute cette manipulation est inutile. Car à l'installation, GNU/Linux détectera toutes entré d'OS sur le disque et génèrera le grub qui va bien automatiquement.

