Lancer ses ISOs avec Grub permet de :
Voici comment lancer vos isos présents sur le disque dur directement avec Grub 2.
Nous utiliserons un fichier de configuration par système d'exploitation et le référencerons dans grub.cfg.
...@...:~$ grub-install -V grub-install (GRUB) 2.04-1ubuntu26.15
Dans les exemples, la partition pour les fichiers isos sera /dev/sdb5 → (hd1,5)
Rappel de la notation de GRUB :
...@...:~$ sudo mkdir /media/partisos
...@...:~$ sudo blkid /dev/sdb5 /dev/sdb5: LABEL="isos" UUID="19D22ADE39FB5783" TYPE="ntfs" PARTUUID="6db6c434-05"
... UUID=19D22ADE39FB5783 /media/partisos ntfs-3g rw,user,auto,gid=1000,uid=1000,nls=utf8,umask=002 0 0
...@...:~$ sudo mount /media/partisos
...@...:~$ sudo mkdir -p /media/partisos/isos ...@...:~$ sudo chown $USER:$USER isos
...@...:~$ ln -f -s -r -t ~/Téléchargements isos
Désormais, les fichiers iso téléchargés pourront être déplacés dans ce dossier isos depuis le dossier ~/Téléchargements.
Les fichiers de configuration de grub dans /boot/grub/grub.cfg
... menuentry " " { true } menuentry "===>> lancer mes isos" { search --set=root --file /isos/grubiso.cfg configfile /isos/grubiso.cfg }
Les sous-menus seront écrits dans le fichier grubiso.cfg, accessible sans droits d'administrateur depuis ~/Téléchargements/isos/grubiso.cfg
...@...:~$ sudo update-grub
set iso_root="/isos" # à adapter selon le répertoire des isos menuentry "------------------- Sous-titre -------------------" { true } menuentry "Titre_entrée_menu" { set iso_name="<nom_fichier>.iso" set iso_path="$iso_root/$iso_name" search --set=root --file $iso_path loopback loop $iso_path echo "Lancement de l'iso en cours, veuillez patienter.." <Lignes variables> }
Voici les lignes variables pour quelques cas :
... set VAR="<variante>" linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper \ file=/cdrom/preseed/$VAR.seed noprompt quiet splash toram -- initrd (loop)/casper/initrd
Ubuntu | set VAR=“ubuntu” |
---|---|
Kubuntu | set VAR=“kubuntu” |
Lubuntu | set VAR=“lubuntu” |
Ubuntu-Budgie | set VAR=“ubuntu-budgie” |
Ubuntu-Mate | set VAR=“ubuntu-mate” |
Ubuntu Studio | set VAR=“ubuntustudio” |
Xubuntu | set VAR=“xubuntu” |
Ubuntu Kylin | set VAR=“cli” |
Linux Mint | set VAR=“linuxmint” |
Voyager | set VAR=“xubuntu” |
Archbang | linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda2 img_loop=$iso_path earlymodules=loop archisobasedir=arch archisolabel=ARCHBANG initrd (loop)/arch/boot/intel_ucode.img (loop)/arch/boot/x86_64/archiso.img | environnement Openbox (modifier 'img_dev' selon la partition où est votre iso et 'archisolabel') |
---|---|---|
ArchEX | linux (loop)/arch/boot/x86_64/vmlinuz img_dev=/dev/sda2 img_loop=$iso_path earlymodules=loop archisobasedir=arch archisolabel=ARCH_201607 initrd (loop)/arch/boot/intel_ucode.img (loop)/arch/boot/x86_64/archiso.img | environnement Lxde (modifier 'img_dev' selon la partition où est votre iso et 'archisolabel') |
Manjaro Lxqt | menuentry “.. Manjaro Lxqt” { set iso_path=“/manjaro-lxqt-20.0-200423-linux56.iso” search –set=root –file $iso_path probe -u $root –set=iso_disk set iso_device=“/dev/disk/by-uuid/$iso_disk” loopback loop $iso_path echo 'Lancement en cours, patientez …' probe -l (loop) –set=klabel linux (loop)/boot/vmlinuz-x86_64 img_dev=$iso_device img_loop=$iso_path misobasedir=manjaro misolabel=$klabel driver=free lang=fr_FR keytable=fr tz=Europe/Paris initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img } | ('img_dev' et 'misolabel' sont trouvés avec la commande “probe”) |
Stable | linux (loop)/live/vmlinuz-4.9.0-4-amd64 boot=live findiso=${iso_path} components keyboard-layouts=fr locales=fr_FR.UTF-8 timezone=Europe/Paris initrd (loop)/live/initrd.img-4.9.0-4-amd64 | (version 9.3 : Stretch) |
---|---|---|
LMDE | linux (loop)/live/vmlinuz boot=live findiso=${iso_path} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash initrd (loop)/live/initrd.lz |
set isolabel="Fedora-WS-Live-32-1-6" linuxefi (loop)/images/pxeboot/vmlinuz root=live:CDLABEL=$isolabel iso-scan/filename=$iso_path rd.live.image rhgb initrdefi (loop)/images/pxeboot/initrd.img
Gentoo Live DVD | linux (loop)/isolinux/gentoo isoboot=$iso_path root=/dev/ram0 init=/linuxrc aufs looptype=squashfs loop=/image.squashfs cdroot vconsole.keymap=fr locale=fr_FR console=tty1 nomodeset initrd (loop)/isolinux/gentoo.xz | (les codes pour le lancer directement en français ne fonctionnent plus depuis la version 2016) |
---|---|---|
Sabayon | linux (loop)/boot/sabayon root=/dev/ram0 init=/linuxrc lang=fr_FR isoboot=${iso_path} cdroot looptype=squashfs loop=/livecd.squashfs overlayfs initrd (loop)/boot/sabayon.igz | (lui peut être lancé en français sans problème) |
menuentry "OpenMandriva" { set iso_path=/isos/OpenMandrivaLx.4.1-plasma.x86_64.iso set isoname=OpenMandrivaLx_4.1 loopback loop $iso_path echo 'Lancement en cours, patientez ...' linux (loop)/boot/vmlinuz0 root=live:LABEL=${isoname} iso-scan/filename=${iso_path} locale.LANG=fr_FR.UTF-8 vconsole.keymap=fr rd.live.image toram -- initrd (loop)/boot/liveinitrd.img }
linux (loop)/boot/x86_64/loader/linux install=hd:$iso_path initrd (loop)/boot/x86_64/loader/initrd
linux (loop)/kernels/huge.s/bzImage load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s locale=fr_FR.utf8 kbd=fr tz=Europe/Paris initrd (loop)/isolinux/initrd.img
set isolabel="Fedora-Game-Live-24-1-2" linux (loop)/isolinux/vmlinuz root=live:CDLABEL=$isolabel iso-scan/filename=$iso_path rootfstype=auto rd.live.image rhgb KEYTABLE=fr LANG=fr_FR.utf8 locale.lang=fr_FR vconsole.keymap=fr\\ initrd (loop)/isolinux/initrd.img
edubuntu | pas d'iso depuis 2014 |
---|---|
PrimTux | linux (loop)/live/vmlinuz2 boot=live findiso=${iso_path} components live-config hostname=localhost lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash initrd (loop)/live/initrd2.img |
Uberstudent | linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/uberstudent.seed noprompt quiet splash initrd (loop)/casper/initrd.lz |
Ubuntu Studio | (déjà cité plus haut) |
---|---|
Musix | linux (loop)/live/vmlinuz boot=live findiso=${iso_path} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes quiet splash initrd (loop)/live/initrd.img |
linux (loop)/live/vmlinuz1 username=eliveuser boot=live findiso=${iso_path} live-config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr timezone=Europe/Paris utc=yes loglevel=0 quiet splash initrd (loop)/live/initrd1.img
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper noprompt quiet splash initrd (loop)/casper/initrd.lz
probe -u $root --set=iso_disk linux (loop)/antiX/vmlinuz fromiso=$iso_path bootuuid=$iso_disk lang=fr tz=Europe/Paris xres=1920x1080 toram hwclock=utc quiet splasht disable=lxF initrd (loop)/antiX/initrd.gz
Remarque : 'xres' est à adapter à votre configuration. Sur leur site web, on trouve aussi une autre distribution nommée MX19 qui fonctionne avec le même menu grub.
menuentry "Windows 10" --class windows --class os { # Insert modules needed in order to access the iso-file insmod part_gpt #insmod part_msdos insmod ntfs #insmod ext2 # Insert module needed in order to find partition insmod search_fs_uuid # Set UUID of partition with the iso-image # and let grub2 find the partition # (save it's identifier to the variable $root) set uuid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" search --no-floppy --set=root --fs-uuid $uuid # Mount the iso image by addressing it with (partition)/path set iso=/ISO_PATH/file.iso loopback loop ($root)$iso # boot (chain-load) the image using the cdboot.efi file located # on the win10-image chainloader (loop)/efi/microsoft/boot/cdboot.efi }
menuentry "------------------- Distributions Ubuntu -------------------" { true } menuentry "Ubuntu 20.04.4 LTS (Focal Fossa) 64 bits" { set iso_name="ubuntu-20.04.3-desktop-amd64.iso" set iso_path="$iso_root/$iso_name" search --set=root --file $iso_path loopback loop $iso_path echo "Lancement de l'iso en cours, veuillez patienter.." linux (loop)/casper/vmlinuz \ locale=fr_FR bootkbd=fr console-setup/layoutcode=fr \ iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/xubuntu.seed \ noprompt quiet splash toram -- initrd (loop)/casper/initrd }
menuentry " " { true }
menuentry "------------------- Sous-titre -------------------" { true }
menuentry "Titre_de_menu" { set iso_name="nom_du_fichier.iso" set iso_path="$iso_root/$iso_name" search --set=root --file $iso_path loopback loop $iso_path echo "Lancement de l'iso en cours, veuillez patienter.." linux (loop)/casper/vmlinuz \ locale=fr_FR bootkbd=fr console-setup/layoutcode=fr \ iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/xubuntu.seed \ noprompt quiet splash toram -- initrd (loop)/casper/initrd }
Voir aussi :Commandes disponibles dans GRUB