PROJET AUTOBLOG


NeoSting.net

source: NeoSting.net

⇐ retour index

Comment Booter des ISOs directement depuis Grub #astuce

jeudi 22 août 2013 à 19:25

Peut-être ne le saviez-vous pas, mais il est tout à fait possible de booter une ISO directement depuis Grub, le système d'amorçage utilisé par une bonne majorité de distributions Linux. Ainsi, si vous avez installé votre OS libre, vous n'avez pratiquement plus besoin de créer une live-USB ou un CD/DVD live pour tester à peu près toutes les autres distributions. C'est relativement simple à mettre en place, puisqu'il suffit d'éditer un simple fichier de configuration de Grub, et de mettre vos ISO dans un répertoire.

Là où ça se complique un peu, c'est qu'il faut parfois jongler avec les partitions, et parfois aussi, avec certains types de configurations spécifiques. Mais rassurez-vous, ça ne coûte vraiment rien d'essayer, puisque le fichier de configuration que l'on doit éditer est justement prévu à cette effet. Si ça ne fonctionne pas, ça n'empêchera pas les autres distributions de s'afficher dans le menu de démarrage.

Je prends ici, l'exemple de la dernière distribution linux Elementary OS. Ouvrez un terminal, et écrivez (aidez-vous de la touche TAB pour aller plus vite).

sudo mkdir -v /iso
sudo cp -v ~/Téléchargements/elementaryos-stable-amd64.20130810.iso /iso

Ensuite, on rajoute une entrée au menu de grub, en modifiant le fichier 40_custom avec un éditeur, comme nano (très simple à utiliser).

sudo nano /etc/grub.d/40_custom

Et on ajoute les quelques lignes suivantes, en prenant soin de faire pointer vers la bonne ISO. Vous pouvez, sur ce même principe, ajouter d'autres ISOs ; il faudra donc plusieurs entrées "menuentry". Cerise sur le gâteau, on demande ici à ce que notre OS Live soit lancé en français avec la locale définie. Une fois l'ajout terminé, ctrl+o (pour sauvegarder) et ctrl+x (pour quitter). On pourrait définir une variable afin de ne pas répéter deux fois l'adresse, mais faisons simple.

menuentry "Elementary OS 0.2 64 bits" {
# Ces 4 insmod servent à charger des pilotes, elles peuvent être optionnelles.
 insmod ext2
 insmod loopback
 insmod linux
 insmod iso9660
# identifier la partition où sont les ISOs (voir ci-dessous)
# On peut aussi mettre (hd0,1)
 set root=(hd0,msdos1)
 loopback loop /iso/elementaryos-stable-amd64.20130810.iso
 linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr boot=casper iso-scan/filename=/iso/elementaryos-stable-amd64.20130810.iso noprompt noeject
 initrd (loop)/casper/initrd.lz
}

Il ne reste plus qu'à faire une mise à jour de grub.

sudo update-grub

Identifier la bonne partition pour Grub. Avec la commande mount, ou avec un logiciel graphique comme "Disques", on voit les différents montages, par exemple sda2... "a" correspond pour grub au disque 0 et "b" au disque 1... et le nombre représente la partition. Donc sda1 = hd(0,1), sdb2 = (hd1,2), sda6 = (hd0,6), etc.


Bien sûr, je n'ai pas cerner toutes les possibilités. C'est ici juste une base, qui devrait normalement fonctionner. Mais si j'ai raté des notions importantes à rajouter, n'hésitez pas à me contacter pour que je les ajoute.


Comment Booter des ISOs directement depuis Grub est une publication originale sur le blog NeoSting.net
Article sous licence Creative Commons CC-By