====== GRUB 2 : scripts systèmes ====== * Objet : GRUB 2, le chargeur d'amorçage version 2. * Niveau requis : {{tag>débutant avisé}} * Commentaires : // scripts à destination d'ajout ou de modification des différents systèmes installés. // * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * Suivi : {{tag>à-tester}} * Créé par [[user>smolski]] le 16/02/2010 * Testé par **...** le ... * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=130660#p130660 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) Voir ce post sur le forum : * https://debian-facile.org/viewtopic.php?id=16770 ===== /etc/grub.d/40_custom ===== C'est le script **modèle** destiné à faire l'objet de vos modifications. Par défaut il ne contient rien ! On le copie et on lui donne un **chiffre** et un **nom** différent, puis on y intégre un script **spécifique** ou une **entrée** supplémentaire pour un système qui ne serait pas détecté par la commande : os-prober On peut créer ses propres scripts et leurs attribuer un préfixe libre afin de déterminer l'ordre d'exécution. Veillez à ce que les nouveaux scripts soient exécutables ! **ATTENTION !** \\ Les distributions autres que **DEBIAN** n'ont pas vocation ici d'être maintenues à jour par nos membres ! \\ Les indications les concernant sont donc formulées __//à titre d'exemple//__ seulement. ==== Ajouter un système Archlinux ==== Il peut arriver qu'en ajoutant un second système linux, il y ait un méli mélo entre les partitions des 2 systèmes en configuration automatique. Ainsi, bien que la distribution d'une //archlinux// fraîchement ajoutée soit correctement trouvée et la ligne d'ouverture visible, il y a la possibilité d'une confusion entre les boot de debian et celui de arch qu'il faut corriger manuellement. Voir, cette installation de //archlinux// mise en exemple ou le boot trouvé automatiquement par grub2 était celui de debian sur **/dev/sda6** et non celui de arch sur **/dev/sda7** ! Pour ajouter un système archlinux sur la partition /dev/sda7 par exemple : On pourra créer : cp /etc/grub.d/40_custom /etc/grub.d/10_archlinux Et y copier le script : #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "ArchLinux" { set root=(hd0,6) linux /boot/vmlinuz-linux root=/dev/sda6 ro initrd /boot/initramfs-linux.img } Mettre à jour le grub : update-grub Et la configuration du ''/boot/grub/grub.cfg'' est à jour avec cette nouvelle distribution dans les lignes du **grub**. Sans que nous ayons à intervenir dans le fichier ''grub.cfg'' directement. //Merci pour ce test et pour son amicale collaboration à// **TechDesk** //sur le salon #debianfr !// :-) ==== Ajouter un système Ubuntu ==== Pour ajouter un système Ubuntu Jaunty sur /dev/sdc1 par exemple : Pour ajouter la même entrée pour Ubuntu, après les entrées par défaut mais avant les systèmes détectés par **40_os-prober** et l'entrée de **memtest**, on pourra créer : cp /etc/grub.d/40_custom /etc/grub.d/11_ubuntu-jaunty Et y copier le script : #!/bin/sh exec tail -n +3 $0 # This file is an example on how to add custom entries # #Ubuntu Jaunty sur /dev/sdc1 menuentry "Ubuntu (on /dev/sdc1)" { set root=(hd2,1) linux /vmlinuz root=/dev/sdc1 ro quiet silent initrd /initrd.img } Mettre à jour le grub : update-grub Et la configuration du ''/boot/grub/grub.cfg'' est à jour avec cette nouvelle distribution dans les lignes du **grub**. Sans que nous ayons à intervenir dans le fichier ''grub.cfg'' directement. ==== Ajouter un système Windows ==== Dans cet exemple, le boot et la racine de windows se trouve sur : ''/dev/hda1''. Pour ajouter une distribution non reconnue par os_prober au démarrage, vous copiez et renommer le fichier ''40_custom'' ainsi : cp /etc/grub.d/40_custom /etc/grub.d/36_windows Il vous revient de mettre un chiffre intermédiaire à votre convenance... Ensuite, vous l'éditez : nano /etc/grub.d/36_windows Et vous y ajoutez sous les lignes déjà écrites les renseignements nécessaire entre deux balises ''EOF'' (EndOfFile). Pour mon exemple d'un windows en **/dev/hda1** : #!/bin/sh exec tail -n +3 $0 # This file is an example on how to add custom entries # # WINDOWS EOF menuentry "Windows" { set root=(hd0,1) chainloader +1 } EOF Mettre à jour le grub : update-grub ==== Ajouter un système personnel : Studio ==== Un exemple d'entrée /etc/grub.d/12_studio avec chainage, grub-set-default (ou grub-reboot) et retour sur l'entrée par défaut de grub2. Editez : nano /etc/grub.d/12_studio Ecrire : #!/bin/sh exec tail -n +3 $0 # studio menuentry "Studio" { search --fs-uuid --set 929247df-0ca7-46d3-b1d0-8e7fc1bca0b3 chainloader +1 saved_entry=0 save_env saved_entry } Mettre à jour le grub : update-grub //Offert et corrigé par phlinux de ses mimines mêmes, vrai !// Sur le forum là : http://debian-facile.org/forum/viewtopic.php?pid=19319#p19319 ==== Ajouter un système personnel : Fedora ==== #!/bin/sh exec tail -n +3 $0 #Fedora12 sur /dev/sdXx insmod chain # important a préciser pour le chainage menuentry "Fedora12 (on /dev/sdXx)" { set root=(hdX,x) # la partition de boot vue par grub chainloader +1 # et forcément préciser qu'il s'agit d'un chainage } Mettre à jour le grub : update-grub Yep ! :-D Venu de **Clem** sur le forum ici : \\ http://debian-facile.org/forum/viewtopic.php?pid=19323#p19323 ===== Suppression d'un système en dualboot ===== Une fois faite la désinstallation d'un système en dualboot, on opère sa suppression dans la liste du GRUB par la mise à jour. Soit : update-grub * https://debian-facile.org/viewtopic.php?pid=289096#p289096 //Merci qui ?\\ Merci raleur !// =)