Créer une partition avec GRUB2 contenant les cd d'installation et des isos

Pré-requis

Première étape

ouvrez le fichier ISO avec le monteur d'archives : dans Nautilus, un clic droit sur le fichier ISO, sélectionnez Ouvrir avec le gestionnaire d'archivesDans le contenu du fichier ISO (pour ubuntu, dans le répertoire casper), repérez dans le fichier iso et notez l'emplacement et le nom de :fichier du noyau (vmlinuz ou vmlinuz.*)image initrd (initrd ou initrd.*).

Autres étapes

Création d'un sous-menu

Éditez avec les droits d'administration le fichier /etc/grub.d/40_custom pour

Le fichier de configuration sera au même endroit que les fichiers iso, ce qui permet de le modifier sans droits super utilisateur.
Pour activer ce changement, lancez la commande :

...@...:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Création du fichier de configuration GRUB…
Image Linux trouvée : /boot/vmlinuz-4.15.0-112-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-112-generic
Image Linux trouvée : /boot/vmlinuz-4.15.0-111-generic
Image mémoire initiale trouvée : /boot/initrd.img-4.15.0-111-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Windows 10 trouvé sur /dev/sdb1
fait

Cela ajoute une ligne au menu grub pour se rendre sur une page dédiée aux lancements de fichiers iso.

Édition du sous-menu

Allez dans le répertoire isos (par exemple via le lien ~/Téléchargements/isos) et créez le fichier 00_isoboot.cfg :

# partition et répertoire contenant les isos : /dev/sdb5
set root=(hd1,5)
set fra="locale=fr_FR bootkbd=fr console-setup/layoutcode=fr"
set isoroot="/isos"
menuentry "Ubuntu 16.04 64 bits live" {
set isoname="ubuntu-16.04.3-desktop-amd64.iso"
set isofile="${isoroot}/${isoname}"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Boot-repair" {
set isoname="boot-repair-disk-64bit.iso"
set isofile="${isoroot}/${isoname}"
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
menuentry "Clonezilla" {
set isoname="clonezilla-live-2.5.2-31-i686.iso"
set isofile="${isoroot}/${isoname}"
loopback loop $isofile
}

isonamenom du fichier isoAdaptez les noms vmlinuz et initrd selon ce que vous avez noté dans la première étape, 2) Voici quelques modèles : Ubuntu 16.04 : menuentry "Ubuntu 16.04.3 64 bits live" { set isoname="ubuntu-16.04.3-desktop-amd64.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz } Ubuntu 19.04 : menuentry "Ubuntu 19.04 64 bits live" { set isoname="ubuntu-19.04-desktop-amd64.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd } Boot-repair : menuentry "Boot-repair" { set isoname="boot-repair-disk-64bit.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile linux (loop)/casper/vmlinuz.efi $fra iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz } Clonezilla : menuentry "Clonezilla" { set isoname="clonezilla-live-2.5.2-31-i686.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile } PING avec des ajouts : menuentry "PING with addons" { set isoname="PING-4.00-WithAddons.iso" set isofile="${isoroot}/${isoname}" loopback loop $isofile } Medicat : menuentry "Medicat" { insmod ntfs search --no-floppy -s root -l MEDICAT chainloader +1 }

Cas de Windows

Supposons que les images soient dans le répertoire /isos-images et qu'il contienne :

ubuntu-16.04.3-desktop-amd64.isoboot-repair-disk-64bit.isoWindows10-32-64.isomedicat.17.10.02.stable-004.isoAller dans ce répertoire des fichiers isos :

$ cd /isos-images

Monter l'iso windows en loop :

$ sudo mount -o loop -t udf /isos-images/Windows10-32-64.iso /media/winsource/
mount: /dev/loop0 is write-protected, mounting read-only
nicolas@chateau:~$

Copier les isos et le contenu de l'iso windows sur ISOS :

cd d'installation de Windows 10 :

menuentry "Installation de Windows 10" {
insmod ntfs
search --no-floppy -s root -l WIN10
chainloader +1
}

Conclusion

Problèmes connus

Voir aussi

(fr) https://doc.ubuntu-fr.org/tutoriel/grub2_lancer_des_images_iso

Basé sur << Lancer des images iso directement depuis GRUB 2 >> par Documentation Ubuntu.