Comment démarrer des fichiers ISO à partir du chargeur de démarrage GRUB2

Ce tutoriel vous montrera comment démarrer des fichiers ISO stockés sur votre disque dur avec le chargeur de démarrage GRUB2. Normalement, vous devez créer un DVD live ou une clé USB live afin d’amorcer des images ISO de Linux. Vous pouvez le faire avec des outils graphiques ou en ligne de commande. Mais que faire si vous n’avez pas de disque optique ou de clé USB sous la main, ou si votre ordinateur ne prend pas en charge la gravure d’images ISO sur un disque optique ?

grub 40_custom

Copiez et collez le texte suivant à la fin de ce fichier.

menuentry "ubuntu-20.04.2.0-desktop-amd64.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/ubuntu-20.04.2.0-desktop-amd64.iso" loopback loop (hd0,5

)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash initrd (loop)/casper/initrd}Boot ISO Files From GRUB2 Boot Loader btrfs

Où :

  • entrée de menu: Cette entrée sera affichée dans le menu de démarrage de GRUB2. Vous pouvez lui donner le nom que vous voulez.
  • La commande insmod insère un module. Comme le fichier ISO est stocké sur mon répertoire personnel ext4, le module ext2 est nécessaire. S’il est stocké sur une partition NTFS, vous devez utiliser insmod ntfs à la place. Notez que GRUB peut ne pas être capable de reconnaître les systèmes de fichiers XFS et Btrfs, il n’est donc pas recommandé de stocker le fichier ISO sur une partition XFS ou Btrfs.
  • set isofile: Spécifiez le chemin de votre fichier image ISO. Ici, j’utilise le fichier ISO du bureau Ubuntu 20.04 enregistré dans le dossier Downloads.
  • loopback: Monte le fichier ISO. hd0 signifie le premier disque dur de l’ordinateur et 5 signifie que le fichier ISO est stocké sur la 5ème partition du disque.
  • La commande linux charge un noyau Linux à partir du chemin spécifié. casper/vmlinuz.efi est le noyau Linux contenu dans l’image ISO Ubuntu.
  • La commande initrd charge un disque RAM initial à partir du chemin spécifié. Il ne peut être utilisé qu’après l’exécution de la commande linux. Le ramdisk initial est un système de fichiers racine minimal monté sur la RAM. casper/initrd.lz est le fichier initrd contenu dans l’image ISO Ubuntu.

Notez que GRUB ne fait pas la distinction entre IDE et SCSI. Dans le noyau Linux, /dev/hda fait référence au premier disque dur IDE et /dev/sda fait référence au premier disque dur SCSI ou SATA. Si vous utilisez un SSD NMVe, il peut être nommé /dev/nvme0n1, /dev/nvme1n1 et ainsi de suite. Mais dans GRUB, le premier disque dur est toujours désigné par hd0, quel que soit le type d’interface. Notez également que les numéros de partition dans GRUB commencent à 1, pas à 0.

Si le fichier ISO est stocké sur une partition étendue d’un disque MBR, le numéro de la partition commence à 5, au lieu de 1. Par exemple, la première partition logique à l’intérieur d’une partition étendue sera numérotée 5 ; la deuxième partition logique à l’intérieur d’une partition étendue sera numérotée 6. Pour vérifier votre numéro de partition, vous pouvez exécuter la commande lsblk ou sudo parted -l dans la fenêtre du terminal.

Enregistrez et fermez le fichier. (Appuyez sur Ctrl O, puis sur Entrée pour enregistrer un fichier dans l’éditeur de texte Nano. Appuyez sur Ctrl X pour quitter).

Ensuite, mettez à jour le menu de démarrage GRUB avec la commande suivante :

sudo grub-mkconfig -o /boot/grub/grub.cfg

Sur Fedora, CentOS, RHEL, OpenSUSE, la commande à exécuter est :

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Sur Debian, Ubuntu, Linux Mint, vous pouvez utiliser la commande suivante pour mettre à jour le menu de démarrage de GRUB.

sudo update-grub

Vous ne verrez peut-être pas la nouvelle entrée de menu tout de suite, mais vous la verrez lorsque vous redémarrerez votre ordinateur.

sudo shutdown -r now

Vous verrez votre entrée personnalisée en bas du menu de démarrage de GRUB2. Si GRUB n’a pas pu démarrer votre image ISO, vérifiez le fichier /etc/grub.d/40_custom pour voir s’il n’y a pas une faute de frappe ou si vous avez oublié un espace ou quelque chose de ce genre.

boot Ubuntu ISO file from Grub

Vous pouvez ajouter autant d’entrées de menu que vous le souhaitez dans le fichier /etc/grub.d/40_custom.

Didacticiel Vidéo:

Debian ISO

Téléchargez le fichier ISO du CD Debian live. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer un fichier ISO Debian.

menuentry "debian-live-10.8.0-amd64-lxqt.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/debian-live-10.8.0-amd64-lxqt.iso" loopback loop(hd0,5)$isofile linux (loop)/live/vmlinuz-4.19.0-14-amd64 boot=live findiso=$isofile initrd (loop)/live/initrd.img-4.19.0-14-amd64}

Notez que les fichiers vmlinuz et initrd.img incluent le numéro de version. Vous devriez monter votre fichier ISO Debian et vérifier si vous devez le mettre à jour. Sauvegardez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Arch Linux ISO

Téléchargez le fichier ISO d’Arch Linux. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer un fichier ISO d’Arch Linux.

menuentry "archlinux-2021.03.01-x86_64.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/archlinux-2021.03.01-x86_64.iso" loopback boucle(hd0,5)$isofile linux (boucle)/arch/boot/x86_64/vmlinuz-linux archisolabel=ARCH_202103 img_dev=/dev/sda5 img_loop=$isofile earlymodules=loop initrd (boucle)/arch/boot/x86_64/initramfs-linux.img}

Notez que si vous téléchargez un fichier ISO Arch Linux plus récent tel que archlinux-2021.04.01-x86_64.iso, alors vous devez mettre à jour le archisolabel à ARCH_202104. Vous pouvez aussi trouver ce que le label doit être en montant l’ISO d’Arch Linux dans votre gestionnaire de fichiers. L’étiquette sera affichée dans votre gestionnaire de fichiers.

boot Arch Linux ISO from GRUB

Vous devrez peut-être aussi modifier la valeur de img_dev. C’est le nom du périphérique où votre fichier ISO est stocké.

Enregistrez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Clonezilla Live ISO

Clonezilla est un outil gratuit, open-source et fiable pour la sauvegarde et la récupération de disques durs. Téléchargez le fichier Clonezilla live ISO. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer le fichier Live ISO de Clonezilla.

menuentry "clonezilla-live-20210127-groovy-amd64.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/clonezilla-live-20210127-groovy-amd64.iso" loopback loop(hd0,5)$isofile linux (loop)/live/vmlinuz boot=live findiso=$isofile initrd (loop)/live/initrd.img}

Sauvegardez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

ISO RHEL 8/CentOS Stream

Tout d’abord, téléchargez le fichier image ISO. Pour RHEL 8, veuillez lire l’article suivant pour savoir comment télécharger le fichier image ISO.

  • Comment télécharger et installer RHEL8 gratuitement (Red Hat Enterprise Linux)

L’image ISO de CentOS Stream peut être téléchargée depuis son site officiel.

Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer le fichier ISO RHEL 8/CentOS/Fedora.

menuentry "rhel-8.3-x86_64-boot.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/rhel-8.3-x86_64-boot.iso" loopback loop(hd0,5)$isofile linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:/dev/sda5:$isofile initrd (loop)/isolinux/initrd.img}

Dans le code ci-dessus, /dev/sda5 est la 5ème partition du premier disque où est stocké le fichier image ISO. Enregistrez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Fedora ISO

L’image ISO de Fedora peut être téléchargée depuis son site officiel. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer le fichier ISO de Fedora.

menuentry "Fedora-Workstation-Live-x86_64-33-1.2.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/Fedora-Workstation-Live-x86_64-33-1.2.iso" loopback loop(hd0,5)$isofile linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-WS-Live-33-1-2 rd.live.image verbose iso-scan/filename=$isofile initrd (loop)/isolinux/initrd.img}

Dans le code ci-dessus, CDLABEL est le label affiché dans votre gestionnaire de fichiers lorsque l’image ISO est montée.

Fedora ISO image CD label

Enregistrez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

OpenSUSE Leap Live ISO

Téléchargez le fichier ISO live de OpenSUSE Leap. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer le fichier OpenSUSE Leap Live ISO.

menuentry "openSUSE-Leap-15.2-KDE-Live-x86_64-Build31.383-Media.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/openSUSE-Leap-15.2-KDE-Live-x86_64-Build31.383-Media.iso" loopback loop (hd0,5)$isofile linux (boucle)/boot/x86_64/loader/linux boot=isolinux root=live:CDLABEL=openSUSE_Leap_15.2_KDE_Live rd.live.image verbose iso-scan/filename=$isofile initrd (boucle)/boot/x86_64/loader/initrd}

Dans le code ci-dessus, CDLABEL est le label affiché dans votre gestionnaire de fichiers lorsque l’image ISO est montée.

opensuse leap live cd label

Enregistrez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Kali Linux Live ISO

Téléchargez le fichier ISO live de Kali Linux. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer un fichier Kali Linux Live ISO.

menuentry "kali-linux-2021.1-live-amd64.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/kali-linux-2021.1-live-amd64.iso" loopback loop (hd0,5)$isofile linux (loop)/live/vmlinuz boot=live findiso=$isofile initrd (loop)/live/initrd.img}

Sauvegardez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Linux Mint Live ISO

Téléchargez le fichier ISO de Linux Mint. Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer un fichier ISO de Linux Mint.

menuentry "linuxmint-20.1-cinnamon-64bit.iso" { insmod ext2 set isofile="/home/linuxbabe/Downloads/linuxmint-20.1-cinnamon-64bit.iso" loopback loop (hd0,5)$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash initrd (loop)/casper/initrd.lz}

Sauvegardez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Trouver le nom du noyau Linux et du fichier initrd

Le noyau Linux et le fichier initrd(ramdisk initial) peuvent être différents pour différentes images ISO Linux. Pour Ubuntu, le noyau Linux est situé dans /casper/vmlinuz et le fichier image initrd est situé dans /casper/initrd. Si vous ne savez pas où ils sont situés, ouvrez simplement votre image ISO avec le gestionnaire d’archives. La capture d’écran suivante montre le fichier image ISO d’Arch Linux.

Grub Initial ramdisk file

Afficher le menu de démarrage GRUB

Certaines distributions Linux comme Ubuntu masquent le menu de démarrage GRUB si un seul système d’exploitation est installé sur le disque dur. Pour afficher le menu de démarrage GRUB, modifiez un fichier de configuration.

sudo nano /etc/default/grub

Trouvez la ligne suivante, qui indique à GRUB de cacher le menu de démarrage.

GRUB_TIMEOUT_STYLE=hidden (caché)

Ajoutez le caractère # au début pour commenter cette ligne.

#GRUB_TIMEOUT_STYLE=hidden (caché)

Ensuite, trouvez la ligne suivante.

GRUB_TIMEOUT=0

Changez 0 en 10, ainsi vous aurez 10 secondes pour choisir une entrée dans le menu de démarrage de GRUB.

GRUB_TIMEOUT=10

Enregistrez et fermez le fichier. Mettez ensuite à jour les configurations de GRUB.

sudo update-grub

Changer l’ordre de démarrage dans GRUB

Disons que vous voulez démarrer sur l’ISO par défaut dans GRUB, alors éditez le fichier de configuration.

sudo nano /etc/default/grub

Trouvez la ligne suivante, qui fait que GRUB sélectionne la première entrée du menu de démarrage.

GRUB_DEFAULT=0

Changez-le en quelque chose comme ceci :

GRUB_DEFAULT="clonezilla-live-20210127-groovy-amd64.iso"

Si le fichier /etc/grub.d/40_custom contient cette entrée menuentry "clonezilla-live-20210127-groovy-amd64.iso", alors GRUB sélectionnera cette entrée par défaut. Mettez à jour GRUB pour que les changements prennent effet.

sudo update-grub

Vous pouvez également conserver l’ordre de démarrage par défaut, mais démarrer un fichier ISO pour le prochain démarrage uniquement avec :

sudo grub-reboot clonezilla-live-20210127-groovy-amd64.iso

ou

sudo grub2-reboot clonezilla-live-20210127-groovy-amd64.iso

Puis redémarrez.

sudo shutdown -r now

Conseils supplémentaires

Si vous avez un disque SATA et un SSD NVMe dans votre ordinateur, le disque SATA est le premier et le SSD NVMe le second. Il en va de même pour un disque USB et un SSD NVMe. Si vous avez un disque optique, alors GRUB pourrait penser que le disque optique est le premier disque.

Si vous voyez l’erreur suivante lorsque GRUB essaie d’amorcer un fichier image ISO, il est probable que vous ayez spécifié l’emplacement du fichier ISO sur un disque optique.

Impossible d'obtenir la valeur C/H/S

Si vous avez un système de fichiers qui couvre tout le disque, vous n’avez pas besoin de spécifier le numéro de partition dans GRUB. Par exemple, j’ai un fichier ISO sur mon deuxième disque. Je n’ai pas créé de partition sur le deuxième disque, donc je peux spécifier (hd1) dans le fichier de configuration de GRUB.

 loopback loop (hd1)$isofile

Si vous voyez un message d’erreur comme ci-dessous lors de la mise à jour du menu de démarrage de GRUB, vous pouvez ignorer cette erreur.

grub-probe : error : cannot find a GRUB drive for /dev/loop11p3. Vérifiez votre device.map.

Windows 10 ISO

Oui, vous pouvez créer une clé USB bootable Windows 10 sur Ubuntu ou toute autre distribution Linux. Si vous n’avez pas de clé USB, vous pouvez démarrer Windows 10 ISO sur le disque dur avec GRUB2. Téléchargez le fichier ISO de Windows 10. Notez que vous ne pourrez peut-être pas télécharger l’ISO à partir de ce lien sur un ordinateur Windows. Ce lien de téléchargement est visible pour les utilisateurs d’ordinateurs Linux.

GRUB2 ne peut pas démarrer Windows 10 ISO directement. Vous devez créer une partition NTFS séparée sur votre disque avec un éditeur de partition comme GParted et extraire l’ISO Windows 10 sur cette partition. Le dernier fichier ISO de Windows 10 pèse 5.8G. La nouvelle partition NTFS doit faire au moins 7G et ne doit pas être utilisée pour stocker d’autres fichiers.

GRUB boot Windows 10 ISO BIOS

Trouvez ensuite votre ISO Windows 10 dans le gestionnaire de fichiers. Ouvrez-le avec le monteur d’image disque.

ubuntu mount windows 10 ISO image

Ouvrez le système de fichiers monté. Sélectionnez tous les fichiers et dossiers et copiez-les sur la partition NTFS.

GRUB2 boot Windows 10 ISO

Parfois, le gestionnaire de fichiers d’Ubuntu se bloque et il semble que l’opération de copie se soit arrêtée. En fait, elle fonctionne. Soyez patient. Lorsque vous voyez une coche, cela signifie que l’opération de copie est terminée.

windows 10 bootable usb creator linux

Ensuite, ouvrez une fenêtre de terminal et éditez le fichier /etc/grub.d/40_custom avec un éditeur de texte tel que Nano.

sudo nano /etc/grub.d/40_custom

Dans ce fichier, nous pouvons ajouter des entrées personnalisées au menu de démarrage de GRUB. Dans ce cas, nous voulons ajouter une entrée pour démarrer le programme d’installation de Windows 10. Si votre ordinateur utilise toujours le firmware traditionnel du BIOS, ajoutez le texte suivant dans ce fichier.

entrée de menu "Windows-10-Installer.iso" { set root=(hd0,6) insmod part_msdos insmod ntfs insmod ntldr #Décommentez la ligne suivante si votre ordinateur possède plusieurs disques durs.   #drivemap -s (hd0) ${root} ntldr /bootmgr}

Mon numéro de partition NTFS est 6, donc j’utilise (hd0,6) comme racine. Vous pouvez exécuter la commande sudo parted -l pour vérifier le numéro de votre partition NTFS. Si votre ordinateur possède plusieurs disques durs, utilisez la commande drivemap pour définir la partition (hd0,6) comme premier disque dur, afin que Windows puisse démarrer.

Si votre ordinateur utilise le micrologiciel UEFI, ajoutez le texte suivant dans ce fichier.

entrée de menu "Windows-10-Installer.iso" { set root=(hd0,6) insmod part_gpt insmod ntfs insmod chain chainloader /efi/boot/bootx64.efi}

Sauvegardez et fermez le fichier. Ensuite, mettez à jour le menu de démarrage de GRUB.

sudo grub-mkconfig -o /boot/grub/grub.cfg

ou

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Débranchez tous vos périphériques de stockage USB externes, puis redémarrez votre ordinateur. Notez que l’installateur ISO du bureau Windows ne fonctionne pas correctement sur les machines virtuelles KVM de Proxmox.

Conclusion

J’espère que ce tutoriel vous a aidé à démarrer des fichiers ISO avec le chargeur de démarrage GRUB2. Comme toujours, si vous avez trouvé ce post utile, alors inscrivez-vous à notre newsletter gratuite pour obtenir plus de conseils et d’astuces. Prenez soin de vous 🙂 .

Scroll to Top