{{tag>système "boot loader" MBR}} ======Grub====== **Grub** est un boot loader ce qui signifie que c'est un petit programme qui est lancé au démarrage de la machine et qui sert à localiser et lancer le système d'exploitation à proprement parlé. Dans l'ordre, quand on allume un PC, les étapes suivantes se déroulent : * lancement du BIOS, qui vérifie le bon fonctionnement du matériel (//Power On Self Test// ou POST) et qui bip quand ça va mal. * le BIOS lit le MBR (//Master Boot Record//) qui est le premier secteur du disque dur (les 512 premiers octets), et charge le **boot loader** qui est contenu dessus. Ce MBR ne peut contenir que quelques information : c'est l'étape 1 (//stage 1//) du lancement de Grub. * l'étape 1 se charge de trouver et de charger le gros du programme de Grub, qui va permettre de lancer l'étape 2. * l'étape 2 consiste souvent à afficher le menu Grub, afin de sélectionner le système d'exploitation sur lequel démarrer la machine. * lancement de l'OS choisi =====Syntaxe de grub===== Grub utilise une syntaxe qui suit la logique des partitions Linux. Il identifie un disque dur par ''hdX'', avec X le numéro du disque ; puis il identifie le numéro de la partition sur ce disque. La numérotation commence à 0, comme en langage C. Le tout doit être entouré de parenthèses pour indiquer que ce n'est pas une commande. Par exemple : ''hd0,0''identifie la première partition du premier disque ; ''(hd1,2)'' identifie la 3ème partition du 2nd disque, etc... Grub numérote les disques dans l'ordre sans tenir compte de leur interface (ATA, SATA, SCSI). =====Installation éclair===== aptitude install grub mkdir /boot/grub cp /usr/lib/grub/i386-pc/* /boot/grub grub-install //NB : i386-pc indique votre architecture. Si vous être en archi 64 bits, modifiez-le en conséquence.// =====Commandes utiles===== On peut les passer dans le fichier de configuration, ou dans le Grub shell. Ce dernier s'obtient en lançant la commande ''grub'' (en root) tout simplement. Ce shell complète les commandes, dispose d'une aide ('''') ainsi qu'un doc pour chaque commande (''help '') : grub> Possible commands are: blocklist boot cat chainloader clear cmp color configfile debug device disp layapm displaymem dump embed find fstest geometry halt help hide impsprobe initrd install ioprobe k ernel lock makeactive map md5crypt module modulenounzip pager partnew parttype password pause print quit read reboot root rootnoverify savedefault serial setkey setup terminal terminfo testload test vbe unhide uppermem vbeprobe grub> help cat cat: cat FILE Print the contents of the file FILE. Pour voir où est installé grub (ici sur /dev/hda1) : grub> find /boot/grub/stage1 (hd0,0) Pour désigner la partition racine, sur laquelle seront recherchés par défaut les fichiers : grub> root (hd0,0) Pour installer grub sur (hd0) : grub> setup (hd0) Il existe également un programme bash sensé simplifier la procédure d'installation de grub : elle se lance depuis un shell normal (bash par exemple) : grub-install =====Configuration===== # defini sur quel OS booter par defaut default 0 # defini le second choix si le premier default) echoue fallback 1 =====Liens===== * HOWTO Grub en français : http://www.citic74.fr/linux/howto/grub-howto.html * Grub, gestionnaire d'amorçage : http://doc.ubuntu-fr.org/grub#installer_grub_dans_le_mbr * Installation et configuration de GRUB : http://www.linux-france.org/article/sys/chargeurs/ix86/grub/installation.html * http://ebdomino.free.fr/tutoriaux/grub.html ======Grub2====== Grub 2 est la dernière version de grub, complètement de recodée. =====OS par défaut===== Pour définir l'OS par défaut au boot, c'est plus compliqué qu'avec grub1 ; pour ma part j'ai choisi de booter par défaut sur le dernier OS utilisé. Pour cela il faut éditer le fichier ''/etc/default/grub'' : #modifier ce paramètre : GRUB_DEFAULT=saved #et ajouter cette ligne si elle n'existe pas déjà : GRUB_SAVEDEFAULT=true Puis on prend en charge la nouvelle configuration : sudo update-grub