Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tutoriel:grub2_lancer_des_images_iso [Le 26/01/2020, 12:24] frombenny [Environnements à tester] elementary OS |
tutoriel:grub2_lancer_des_images_iso [Le 05/04/2020, 08:16] sangorys [Problèmes connus] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
====== Lancer des images iso directement depuis GRUB 2 ====== | ====== Lancer des images iso directement depuis GRUB 2 ====== | ||
- | Pour **lancer une distribution linux sans avoir à graver sur Cd**, les solutions existantes ont le plus souvent le recours à une clé USB gravée avec **[[:live_usb#en_ligne_de_commandes|l'instruction "dd"]]** (en mode graphique avec [[:Etcher]]) ou avec un utilitaire comme **[[:usb-creator]]**, **[[:Unetbootin]]**, **[[:Multisystem]]**, etc. | + | Pour **lancer une distribution linux sans avoir à graver sur Cd**, les solutions existantes ont le plus souvent le recours à une **clé USB** gravée avec : |
+ | * **[[:live_usb#en_ligne_de_commandes|l'instruction "dd"]]** (en mode graphique avec [[:Etcher]]) | ||
+ | * un utilitaire comme : | ||
+ | * **[[:usb-creator]]** | ||
+ | * **[[:Unetbootin]]** | ||
+ | * **[[:Multisystem]]** | ||
+ | * etc. | ||
On peut aussi utiliser **[[:Virtualbox]]** qui ne nécessite pas de clé USB mais dont l'inconvénient est qu'il ne teste pas votre configuration mais un matériel émulé. | On peut aussi utiliser **[[:Virtualbox]]** qui ne nécessite pas de clé USB mais dont l'inconvénient est qu'il ne teste pas votre configuration mais un matériel émulé. | ||
**Voici la procédure à suivre pour lancer vos ISOs présents sur le disque dur directement avec [[:grub-pc|Grub 2]]**. | **Voici la procédure à suivre pour lancer vos ISOs présents sur le disque dur directement avec [[:grub-pc|Grub 2]]**. | ||
- | **Remarques avant de démarrer:** | + | |
- | * la version de Grub est une version 1.97 ou supérieure. <code>grub-install -V</code> | + | ===== Généralités ===== |
+ | |||
+ | ==== Pourquoi lancer les ISOs avec Grub2 ? ==== | ||
+ | * pouvoir **tester** n'importe quelle distribution Linux | ||
+ | * pouvoir **installer** vos distributions préférées sans avoir à graver un CD | ||
+ | * pouvoir **installer** les distributions de maintenance pour quand l'ordinateur ne marche plus (gparted live, rescueCD,.. ) | ||
+ | |||
+ | ==== Prérequis ==== | ||
+ | * la version de Grub doit etre en version 1.97 ou supérieure. <code>grub-install -V</code> | ||
* la page de doc principale pour grub est **[[:grub-pc|ici]]**. | * la page de doc principale pour grub est **[[:grub-pc|ici]]**. | ||
* ce type de lancement est très différent d'une distribution linux à l'autre voir impossible avec certaines d'entre elles. | * ce type de lancement est très différent d'une distribution linux à l'autre voir impossible avec certaines d'entre elles. | ||
- | **Objectifs de ce tutoriel:** | ||
- | * pouvoir **tester** toutes les versions et variantes Ubuntu sur votre matériel, | ||
- | * pouvoir **installer** ces distributions sans avoir à graver un CD, | ||
- | * connaitre aussi les astuces de lancement des ISOs en dehors du seul monde Ubuntu (pour de la maintenance : gparted live, rescueCD,.. ou pour tester d'autres environnements : dernières versions de [[:Gnome-Shell]], [[:Cinnamon]], Mate, [[:Lxqt]],..) | ||
<note important>Pour les versions 19.10 et suivantes installées en mode Uefi -> **[[#Problèmes connus]]** pour pouvoir continuer à utiliser cette fonctionnalité.</note> | <note important>Pour les versions 19.10 et suivantes installées en mode Uefi -> **[[#Problèmes connus]]** pour pouvoir continuer à utiliser cette fonctionnalité.</note> | ||
- | ===== Principe général ===== | + | |
- | * Dans ce tutoriel, les **fichiers "iso"** sont tous stockés **dans un dossier /isos à la racine** d'une des partitions présentes dans l'ordinateur. | + | ==== Installation depuis l'iso lancé ==== |
+ | Par défaut, Ubuntu monte le support d'installation dans **/isodevice**. On n'en a **pas besoin** car Ubuntu est lancé en ram. Pour **éviter** que l'installation ne soit **bloquée**, on **lancera la commande**:<code>sudo umount -lrf /isodevice</code> | ||
+ | |||
+ | **Maintenant**, il suffit de double cliquer sur "**installer ubuntu**". | ||
+ | |||
+ | ===== Comment ajouter un ISO à Grub ? ===== | ||
+ | |||
+ | ==== Les étapes ==== | ||
+ | Dans ce tutoriel, les **fichiers "iso"** sont tous stockés **dans un dossier /isos à la racine** d'une des partitions présentes dans l'ordinateur. | ||
* On **ajoutera les menus** pour les isos **au fichier** de configuration //**/etc/grub.d/40_custom**// (avec les [[:permissions#modifier_les_permissions|droits 'administrateurs']]). | * On **ajoutera les menus** pour les isos **au fichier** de configuration //**/etc/grub.d/40_custom**// (avec les [[:permissions#modifier_les_permissions|droits 'administrateurs']]). | ||
* On lancera **ensuite dans un terminal** la commande:<code>sudo update-grub</code> | * On lancera **ensuite dans un terminal** la commande:<code>sudo update-grub</code> | ||
- | ==== Menu rapide ==== | + | |
+ | Une méthode modulaire (plus souple) est d'utiliser un fichier de configuration par système d'exploitation et de le référencer dans grub.cfg : voir la section [[tutoriel:grub2_lancer_des_images_iso#une_configuration_sans_etre_root|Une configuration sans être root]] | ||
+ | ==== La méthode universelle et rapide ==== | ||
Lorsque Grub est **en mode EFI**, on peut activer le **menu par défaut intégré** à l'iso avec ce menu type: | Lorsque Grub est **en mode EFI**, on peut activer le **menu par défaut intégré** à l'iso avec ce menu type: | ||
<file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu Focal 20.04 (Daily build)" { | <file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu Focal 20.04 (Daily build)" { | ||
Ligne 43: | Ligne 62: | ||
C'est pratique et rapide à mettre en oeuvre (**on ne change que le nom de l'iso**) mais la distribution n'est pas localisée en français.. | C'est pratique et rapide à mettre en oeuvre (**on ne change que le nom de l'iso**) mais la distribution n'est pas localisée en français.. | ||
- | ==== Menu personnalisé (Ubuntu et dérivés) ==== | + | ==== Distribution Ubuntu et dérivés ==== |
Ubuntu utilise le **paquet 'casper'** pour ses live-cd. Donc ce menu est **valable aussi** pour Linux-Mint et d'autres **distributions basées sur Ubuntu**. | Ubuntu utilise le **paquet 'casper'** pour ses live-cd. Donc ce menu est **valable aussi** pour Linux-Mint et d'autres **distributions basées sur Ubuntu**. | ||
<file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu 19.10 eoan ...." { | <file txt /etc/grub.d/40_custom>menuentry ".. Xubuntu 19.10 eoan ...." { | ||
Ligne 56: | Ligne 75: | ||
* Ce menu fonctionne **aussi avec les BIOS non EFI**. | * Ce menu fonctionne **aussi avec les BIOS non EFI**. | ||
- | ==== Sources des isos ==== | + | === Sources des isos === |
- | === Ubuntu et ses variantes === | + | == Ubuntu et ses variantes == |
<note important> **Attention ! pour certaines anciennes versions avant 18.04**, on peut avoir **vmlinuz.efi** (et non vmlinuz) et **une extension .lz ou .gz** à **initrd**. | <note important> **Attention ! pour certaines anciennes versions avant 18.04**, on peut avoir **vmlinuz.efi** (et non vmlinuz) et **une extension .lz ou .gz** à **initrd**. | ||
Ligne 78: | Ligne 97: | ||
- | === Dérivés : LinuxMint,.. === | + | == Dérivés : LinuxMint,.. == |
* **[[:linux_mint|Linux Mint]]** : [[https://linuxmint.com/download.php|versions soutenues]] - [[https://community.linuxmint.com/iso|versions en cours de développement]]\\ //file=/cdrom/preseed/linuxmint.seed// | * **[[:linux_mint|Linux Mint]]** : [[https://linuxmint.com/download.php|versions soutenues]] - [[https://community.linuxmint.com/iso|versions en cours de développement]]\\ //file=/cdrom/preseed/linuxmint.seed// | ||
* **[[https://voyagerlive.org/|Voyager]]** : [[https://sourceforge.net/projects/voyagerlive/|site de téléchargement]]\\ //file=/cdrom/preseed/ubuntu.seed// | * **[[https://voyagerlive.org/|Voyager]]** : [[https://sourceforge.net/projects/voyagerlive/|site de téléchargement]]\\ //file=/cdrom/preseed/ubuntu.seed// | ||
- | ==== Installation depuis le live-cd ==== | ||
- | Par défaut, Ubuntu monte le support d'installation dans **/isodevice**. On n'en a **pas besoin** car Ubuntu est lancé en ram. Pour **éviter** que l'installation ne soit **bloquée**, on **lancera la commande**:<code>sudo umount -lrf /isodevice</code> | ||
- | **Maintenant**, il suffit de double cliquer sur "**installer ubuntu**". | ||
- | ===== Autres distributions linux ===== | + | ==== Systèmes de maintenance ==== |
- | ==== Maintenance ==== | + | |
=== GParted Live === | === GParted Live === | ||
Elle contient [[:PhotoRec]] et [[:Testdisk]]. Par contre, le gestionnaire de fichiers est un peu limité (il n'affiche pas les partitions non montées) - **[[https://sourceforge.net/projects/gparted/files/gparted-live-stable/|Téléchargement]]** | Elle contient [[:PhotoRec]] et [[:Testdisk]]. Par contre, le gestionnaire de fichiers est un peu limité (il n'affiche pas les partitions non montées) - **[[https://sourceforge.net/projects/gparted/files/gparted-live-stable/|Téléchargement]]** | ||
Ligne 127: | Ligne 142: | ||
initrd (loop)/live/initrd.img</file> | initrd (loop)/live/initrd.img</file> | ||
- | ==== Connues ==== | + | ==== Distributions Linux prinipales ==== |
=== Arch === | === Arch === | ||
Ne connaissant aucune version livecd officielle, voici quelques distributions dérivées de Arch Linux (pas trouvé comment les lancer directement en français) : | Ne connaissant aucune version livecd officielle, voici quelques distributions dérivées de Arch Linux (pas trouvé comment les lancer directement en français) : | ||
Ligne 157: | Ligne 172: | ||
**Dérivées** | **Dérivées** | ||
* **[[wpfr>Sabayon Linux|Sabayon]]** (lui peut être lancé en français sans problème) - [[ftp://ftp.belnet.be/mirror/sabayonlinux/iso/monthly/|Téléchargement]]\\ //linux (loop)/boot/sabayon root=/dev/ram0 init=/linuxrc lang=fr_FR isoboot=${isofile} cdroot looptype=squashfs loop=/livecd.squashfs overlayfs\\ initrd (loop)/boot/sabayon.igz// | * **[[wpfr>Sabayon Linux|Sabayon]]** (lui peut être lancé en français sans problème) - [[ftp://ftp.belnet.be/mirror/sabayonlinux/iso/monthly/|Téléchargement]]\\ //linux (loop)/boot/sabayon root=/dev/ram0 init=/linuxrc lang=fr_FR isoboot=${isofile} cdroot looptype=squashfs loop=/livecd.squashfs overlayfs\\ initrd (loop)/boot/sabayon.igz// | ||
+ | |||
+ | === OpenMandriva Lx === | ||
+ | |||
+ | * **[[wpfr>OpenMandriva Lx]]** - [[https://www.openmandriva.org/|Téléchargement]]<code>menuentry "OpenMandriva" { | ||
+ | set isofile=/isos/OpenMandrivaLx.4.1-plasma.x86_64.iso | ||
+ | set isoname=OpenMandrivaLx_4.1 | ||
+ | loopback loop $isofile | ||
+ | echo 'Lancement en cours, patientez ...' | ||
+ | linux (loop)/boot/vmlinuz0 root=live:LABEL=${isoname} iso-scan/filename=${isofile} locale.LANG=fr_FR.UTF-8 vconsole.keymap=fr rd.live.image toram -- | ||
+ | initrd (loop)/boot/liveinitrd.img | ||
+ | }</code> | ||
=== openSUSE === | === openSUSE === | ||
Ligne 167: | Ligne 193: | ||
* **[[wpfr>Slackware]]** version install. [[http://bear.alienbase.nl/mirrors/slackware/slackware-iso/|Téléchargement]]\\ //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// | * **[[wpfr>Slackware]]** version install. [[http://bear.alienbase.nl/mirrors/slackware/slackware-iso/|Téléchargement]]\\ //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// | ||
- | ==== Spécialisées ==== | + | ==== Distributions linu spécialisées ==== |
Ce sont des distributions dédiées à une certaine utilisation. N'oubliez pas les paramètres généraux et les lignes en italiques sont celles qui sont différentes du menu de base. | Ce sont des distributions dédiées à une certaine utilisation. N'oubliez pas les paramètres généraux et les lignes en italiques sont celles qui sont différentes du menu de base. | ||
Ligne 186: | Ligne 212: | ||
* **[[:mao#distributions_orientees_mao|Musix]]** développée par des argentins : [[http://musix.najval.net/musix/isos/|Site de téléchargement]]\\ //linux (loop)/live/vmlinuz boot=live findiso=${isofile} 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// | * **[[:mao#distributions_orientees_mao|Musix]]** développée par des argentins : [[http://musix.najval.net/musix/isos/|Site de téléchargement]]\\ //linux (loop)/live/vmlinuz boot=live findiso=${isofile} 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// | ||
| | ||
- | ==== Environnements à tester ==== | + | ==== Distribution pour test d'environnements ==== |
=== Enlightenment === | === Enlightenment === | ||
* **[[:Enlightenment|Elive]]** a quelques racourcis intéressants (Alt + clic glissé : clic gauche déplace la fenêtre, clic droit la redimensionne par exemple) : [[http://www.elivecd.org/download/beta/|téléchargement de la version beta]]\\ //linux (loop)/live/vmlinuz1 username=eliveuser boot=live findiso=${isofile} 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// | * **[[:Enlightenment|Elive]]** a quelques racourcis intéressants (Alt + clic glissé : clic gauche déplace la fenêtre, clic droit la redimensionne par exemple) : [[http://www.elivecd.org/download/beta/|téléchargement de la version beta]]\\ //linux (loop)/live/vmlinuz1 username=eliveuser boot=live findiso=${isofile} 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// | ||
Ligne 201: | Ligne 227: | ||
Remarque : **'bootdev'** et **'xres'** sont à adapter à votre configuration. | Remarque : **'bootdev'** et **'xres'** sont à adapter à votre configuration. | ||
+ | |||
+ | ==== Windows 10==== | ||
+ | **Voici la configuration de base : ** | ||
+ | |||
+ | <code> | ||
+ | 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 | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | **Adaptation :** | ||
+ | - Remplacer XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX avec UUID de la partition ou est l'image Windows 10. | ||
+ | - Activer les modules necessaires : | ||
+ | * insmod part_gpt: ce module est nécessaire, si Win10-ISO-Image est sur une table de partition GPT. | ||
+ | * insmod part_msdos: Choisir si l'image Windows est sur une table de partition DOS | ||
+ | * insmod ntfs: ce module est nécessaire si l'image Windows est sur une table de partition NTFS. | ||
+ | * insmod ext2: Remplacer insmod ntfs par insmod ext2, si l'image est sur des partitions ext2/ext3 ou ext4 | ||
+ | - Remplacer /ISO_PATH/file.iso pas le chemin d'accès et le fichier iso | ||
===== Pour aller plus loin ===== | ===== Pour aller plus loin ===== | ||
Ligne 327: | Ligne 395: | ||
===== Problèmes connus ===== | ===== Problèmes connus ===== | ||
+ | ====grub en version 2.04 installé en mode EFI==== | ||
+ | |||
Selon ce [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311|bug]], pour les versions 19.10 et suivantes avec un grub en version 2.04 installé en mode EFI, cette fonctionnalité ne fonctionne plus. | Selon ce [[https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311|bug]], pour les versions 19.10 et suivantes avec un grub en version 2.04 installé en mode EFI, cette fonctionnalité ne fonctionne plus. | ||