Comment booter directement sur une ISO depuis le menu GRUB.

Le chargeur de démarrage GRUB2 permet de démarrer directement des fichiers ISO (boot ISO) depuis son menu de démarrage. Cela vous évite d’avoir des clés USB ou des DVD. A travers ce tutoriel nous allons mettre en place un boot ISO du logiciel GParted via GRUB.

Ce tutoriel se déroulera sur une Elementary OS (Version 0.2.1 Luna).

Pré-Requis.

Vérifier que la version de Grub est une version > 1.97. Vous pouvez aisément voir la verison de grub avec la commande suivante :

#grub-install –v

boot_iso_grub_0

Télécharger le fichier ISO GParted.

boot_iso_grub_1

Vous pouvez télécharger la dernière version ISO de GParted depuis cette adresse : http://sourceforge.net/projects/gparted/files/gparted-live-stable/

Pour information j’ai pris l’archive : gparted-live-0.20.0-2-i486.iso. Une fois l’archive téléchargée, copier là dans un répertoire iso, par exemple dans votre profil (/home/reynaudg/iso en ce qui me concerne)

boot_iso_grub_2

Ensuite nous devons connaître notre partition de boot (avec une * devant). Pour se faire nous allons utiliser la commande :

#sudo fdisk –l

boot_iso_grub_3

Sur ma VM, ma partition de boot se nomme /sda1 ce qui se traduit dans le menu Grub par (hd0,1). Si s’était sda2 cela s’écrierai dans Grub par (hd0,2).

Si j’avais un deuxième disque par exemple sdb1 alors dans Grub cela devrait se traduire par (hd1,1). Voilà pour les subtilités de Grub.

Maintenant il faut vérifier que Grub apparaisse lors du démarrage de la machine, pour cela on doit éditer le fichier grub.

#sudo vim /etc/default/grub

boot_iso_grub_4

Vous devez mettre en commentaire les 2 lignes suivantes :

  • GRUB_HIDDEB_TIMEOUT=0
  • GRUB_TIMEOUT=10

Pour prendre en compte les modifications taper la commande suivante :

#sudo update-grub

boot_iso_grub_5

Customisation du menu Grub.

Pour rajouter une entrée dans le menu Grub nous allons créer/éditer le fichier /etc/grub.d/40_custom.

#sudo vim /etc/grub.d/40_custom

Voici la structure pour rajouter une entrée :

menuentry "[Titre du menu]" {
 set isofile="[chemin de l'image ISO]"
 loopback loop [Partiton du boot en langage Grub]$isofile
 [Différentes spécifications à définir si besoin] arguments
 }

Ce qui nous donne par exemple pour Gparted :

menuentry "GParted (Gestion Partitions)" {
 set isofile="/home/reynaudg/iso/gparted-live-0.20.0-2-amd64.iso"
 loopback loop (hd0,1)$isofile
 loopback loop $isofile
 linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt ip=frommedia toram=filesystem.squashfs findiso=${isofile}
 initrd (loop)/live/initrd.img
 }

boot_iso_grub_6

Après chaque modification n’oublier pas d’utiliser la commande update-grub pour appliquer les mises à jour.

Les paramètres des 2 dernières lignes sont spécifiques au logiciel. Je vous conseille donc de chercher sur Internet un menu déjà existant, sinon vous pouvez toujours chercher sur le site du logiciel s’il existe un menu de démarrage pour Grub2, où demander tout simplement à l’auteur.

Un des paramètres que vous pouvez vérifier facilement, c’est la localisation des fichiers vmlinuz et initrd.img pour des ISO à base de Linux.

Pour vérifier ces paramètres, vous devez d’abord monter votre image ISO à l’aide du gestionnaire d’archive ou de fichiers de votre distribution.

boot_iso_grub_7

Comme vous pouvez le voir pour l’exemple ci-dessus GParted, les fichiers de démarrage se trouvent dans le répertoire live.

boot_iso_grub_8

Maintenant vous pouvez rebooter votre VM et vous devriez voir apparaitre un nouveau menu dans Grub.

boot_iso_grub_9

Il vous suffit alors de sélectionner Gparted dans le menu pour lancer le logiciel directement depuis son Iso.

boot_iso_grub_10

Si vous utilisez un système avec LVM d’activé, je n’ai pas trouvé le moyen de lancer un fichier ISO depuis un volume LVM. La solution consiste à placer votre image ISO dans le répertoire BOOT de votre installation. Il est conseillé de sortir le répertoire BOOT des volumes LVM. Vu que ce tutoriel date un peu, il y a peut-être une autre solution notamment avec le UEFI.

That’s All.

2 Potins

  1. Bonjour,

    Je ne suis pas sûr de comprendre ce que vous voulez ?

  2. Bonjour,
    J’ai reçu d’un ami , le gparted version 0.20.0 + de deux ans, la mienne est la version 0.25 tout ce qui concerne gparted et le grub doit être utilisé selon ce que vous en préconisez qui se rajoute dans le boot-menu gparted en + comme présence dans un fichier … J’ai moi-même 14 OSs tous de gnu-linux dans mes 4 Disques dur…. Est-ce que cela doit être fait selon ce que vous en parlez ? Comme gparted est installé dans tout mes OSs, je pose une question : gparted figure aussi dans le menu qui est démontré dans votre tuto, il peut être ouvert…est-ce qu’a son ouverture, selon votre tuto, aura-t-il la possibilité de mettre le « label » sur chaque ligne des OSs présents quand gparted est ouvert ? merci pour vos réponses cordialement

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *