====== 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 !// =)