Ceci est une ancienne révision du document !
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 :
- ou avec l'instruction "dd" (fonctionne avec Debian squeeze et dérivés mais pas toujours avec Ubuntu : la clé ne boote pas),
- ou via le créateur de disque de démarrage USB présent en standard dans Ubuntu,
- ou encore avec 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 2. Ce type de lancement ne fonctionne pas dans toutes les distributions Linux. Le fonctionnement est aussi très différent d'une distribution à l'autre.
Objectifs de ce tutoriel
- vous donner la possibilité de tester toutes les versions Ubuntu concernées par la documentation du site doc.ubuntu-fr.org sur un matériel non émulé,
- vous donner nos expériences d'installation d'Ubuntu sans gravure sur CD,
- vous donner la possibilité d'utiliser des isos de maintenance (Parted Magic, SytemRescueCD,..) depuis un menu Grub2,
- vous donner les menus pour d'autres distributions que l'on peut lancer de la même façon (à titre d'exemples),..
Pré-requis / Notice d'utilisation
- Vérifier que la version de Grub est une version 1.97 ou supérieure.
grub-install -V
- Dans les exemples cités, la partition (hd0,7) soit /dev/sda7 est à adapter à votre propre configuration (voir notice ici).
- les isos sont stockés à la racine de cette partition plutôt que dans un sous-dossier car plus facile à trouver pour grub.
- Les menus sont à ajouter au fichier /etc/grub.d/40_custom. Ensuite, pour qu'ils soient activés dans grub :
sudo update-grub
- On peut spécifier ajouter au fichier /etc/grub.d/50_isofile /etc/grub.d/666_windows et ainsi de suite, grub-mkconfig et update-grub les passe en revue dans l'ordre les exécutables
chmod +x 50* 66*
pour les désactiver 55_test :
chmod -x 55_test
- Ensuite, pour qu'ils soient activés dans grub :
sudo update-grub
- Les menus peuvent également être insérés dans le fichier /boot/grub/custom.cfg. Ils sont alors pris en compte sans avoir à mettre à jour le fichier /boot/grub/grub.cfg par la commande update-grub
Note: le fichier /boot/grub/grub.cfg ne peut normalement pas être édité pour ça, toute modification disparaîtra à la prochaine exécution de update-grub !
Ubuntu ou ses dérivés
Cette configuration fonctionne aussi pour Linux Mint.
Menu de base
Voici le menu de base pour le lancement du CD Live avec prise en charge du français :
- /etc/grub.d/40_custom_(extrait)
menuentry ".. Ubuntu 14.04 Trusty i386" { insmod loopback insmod iso9660 set isofile="/ubuntu-14.04-desktop-i386.iso" #recherche de la partition dans laquelle se trouve le fichier ISO et montage de celle ci dans "/" search -sf $isofile #Montage du fichier ISO dans (loop)/ loopback loop $isofile echo 'Chargement du noyau Linux ...' linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed quiet splash -- echo 'Chargement du disque mémoire initial ...' initrd (loop)/casper/initrd.lz }
Adaptations pour Ubuntu
Article détaillé sur cette variante.
CD : Precise, Quantal, Raring, Saucy. DVD : Precise. Versions de développement : Alpha, Beta,..1), Daily builds.
Selon votre configuration, il faudra adapter "(hd0,7)" en mettant le numéro de partition sur laquelle est votre iso.
NB: À partir d'Ubuntu 13.10, pour les versions AMD64 exclusivement, il faut modifier le début de la ligne la ligne linux (loop)/casper/vmlinuz en linux (loop)/casper/vmlinuz.efi
En fonction de la version à lancer, vous devrez aussi adapter "set isofile=" (nom et emplacement du fichier à lancer) ainsi :
- Ubuntu Amd64 (français partiellement fonctionnel) :
- Ubuntu i386 :
- Ubuntu Amd64 DVD (le français y est fonctionnel) :
- Precise (torrent) : set isofile="/ubuntu-12.04.2-dvd-amd64.iso"
- au delà (plus de version spécifique)
Pour Ubuntu Gnome
Article détaillé sur cette variante basé sur l'environnement de bureau GNOME Shell.
CD : Raring, Saucy. Versions de développement : Alpha, Beta,.., Daily builds.
Comme pour la version d'Ubuntu standard, il faudra adapter "(hd0,7)" en fonction de la partition sur laquelle se trouve l'iso à lancer.
- Ubuntu Gnome Amd64 :
- Ubuntu Gnome i386 :
Pour Kubuntu
Article détaillé sur cette variante.
CD : Precise, Quantal, Raring, Saucy. Versions de développement : Alpha, Beta,.., Daily builds.
Comme pour les versions Ubuntu, il faudra adapter "(hd0,7)" en fonction de la partition sur laquelle se trouve l'iso à lancer. Mais en plus, il faudra modifier "file=/cdrom/preseed/ubuntu.seed" en mettant kubuntu.seed au lieu de ubuntu.seed.
- Kubuntu Amd64 :
- Kubuntu i386 :
Pour Xubuntu
Article détaillé sur cette variante.
CD : Precise, Quantal, Raring, Saucy. Versions de développement : Alpha, Beta,.., Daily builds.
Idem que pour version Kubuntu pour le "(hd0,7)" à adapter ou le "file=/cdrom/preseed/ubuntu.seed" à mettre en xubuntu.seed.
- Xubuntu Amd64 :
- Xubuntu i386 :
Pour Lubuntu
Article détaillé sur cette variante sous environnement LXDE.
CD : Precise, Quantal, Raring, Saucy. Versions de développement : Alpha, Beta,.., Daily builds.
Idem que pour version Kubuntu pour le "(hd0,7)" à adapter ou le "file=/cdrom/preseed/ubuntu.seed" à mettre en lubuntu.seed.
- Lubuntu Amd64 :
- Lubuntu i386 :
Installer à partir d'un iso "desktop"
Lorsqu'on lance la procédure d'installation depuis un iso desktop, on est bloqué souvent par un message nous demandant de démonter certaines partitions et notamment : /isodevice.
Il suffit de forcer maintenant le démontage de /isodevice avec cette commande :
sudo umount -l -r -f /isodevice
Si cela ne fonctionne pas, le recours sera une installation "net-install".
Le lancement peut également planter si les modules acpi et/ou apm sont inadéquats au matériel. Ajouter acpi=off apm=off noacpi noapm. Concrètement : linux (loop)/casper/vmlinuz locale=fr_FR
… devient linux (loop)/casper/vmlinuz locale=fr_FR acpi=off apm=off noacpi noapm
…
net-install
Télécharger un 'mini.iso'
Menu grub
menuentry "... Install d'Ubuntu via une connexion internet" { insmod loopback insmod iso9660 search --set -f /mini.iso loopback loop /mini.iso linux (loop)/linux locale=fr_FR bootkbd=fr console-setup/layoutcode=fr -- quiet initrd (loop)/initrd.gz }
Maintenance
Parted Magic
Très complet (liste des programmes, http://partedmagic.com/downloads/) :
- Gparted (et autres manipulateurs de partitions),
- Partclone, Ghost,
- des gestionnaires de fichiers, éditeurs de texte, navigateurs internet,..
menuentry "Parted Magic" { insmod loopback insmod iso9660 set isofile="/pmagic_2013_06_15.iso" loopback loop (hd0,7)$isofile echo 'Chargement du noyau Linux ...' linux (loop)/pmagic/bzImage keymap=fr-latin1 fr_FR echo 'Chargement du disque mémoire initial ...' initrd (loop)/pmagic/initrd.img }
Rappel: la ligne "set isofile" (emplacement du fichier iso) et l'indication de disque "(hd0,7)" sont à adapter en fonction de la version du fichier que vous avez téléchargée et du disque sur lequel vous l'avez mise.
Ou
menuentry "Parted Magic" { set root=(hd0,2) loopback loop /pmagic_2013_06_15.iso linux (loop)/pmagic/bzImage keymap=fr initrd (loop)/pmagic/initrd.img }
(hd0,2) et pmagic_2013_06_15.iso sont à adapter selon le disque dur et la partition sur lesquels se trouve la version de l'ISO de Parted Magic.
SystemRescueCd
Site de téléchargement Manuel d'utilisation Documentation Officielle SystemRescue ISO et grub2
menuentry "SytemRescueCD" { insmod ext2 insmod loopback insmod iso9660 #Si emplacement ISO ≠ emplacement partition démarrage GRUB2 #adapter et dé-commenter la ligne suivante : #set root='(hd2,1)' #l'emplacement peut s'écrire aussi: #set root='(hd2,msdos1)' #Si emplacement à la racine de la partition en question: set isofile="/systemrescuecd-x86-x.y.z.iso" #Sinon exemple set isofile="/opt/systemrescuecd-x86-x.y.z.iso" loopback loop $isofile #Si 32 bit et claviers français linux (loop)/isolinux/rescue32 isoloop=$isofile setkmap=fr #si 64 bit,claviers français et startX supporté décommenté la ligne suivante: #linux (loop)/isolinux/rescue64 isoloop=$isofile setkmap=fr dostartx #Pour pouvoir écrire sur l'emplacement disque de l'ISO #en mode 64 bit, claviers français et startX supporté #Dé-commenté ligne suivante : #linux (loop)/isolinux/rescue64 isoloop=$isofile setkmap=fr docache dostartx initrd (loop)/isolinux/initram.igz }
sudo update-grub
dans le Terminal pour enregistrer les entrées.
GRUB 2 sur une clef USB
Installation
Il vous faut pour cela une distribution Linux avec GRUB installé.
Pour configurer GRUB sur la clé, nous n'utiliserons pas la méthode traditionnelle, mais nous modifierons directement le fichier de configuration. Attention; cette méthode est à réserver à ce cas spécifique. Pour configurer GRUB pour votre partition de disque dur, se référer à GRUB 2 : Le nouveau Grub
Lancez cette commande pour installer GRUB sur votre clé (elle doit être montée)
sudo grub-install --root-directory=<point_montage_part1_clef_usb> <peripherique_clef_usb>
où :
- <point_montage_part1_clef_usb> est le point de montage de la partition Fat de la clef usb (exemple : /media/clef_4Go)
- <peripherique_clef_usb> est le périphérique correspondant à la clef usb (exemple : /dev/sdb)
Configuration du chargeur d'amorçage de la clé
Vous avez maintenant une clé bootable avec un dossier boot
à la racine, contenant un sous-dossier grub
. Il faut créer un fichier de configuration nommé grub.cfg
dans le dossier grub
. Insérez-y les blocs de texte correspondant à la distribution que vous souhaitez tester, parmi la liste de configurations détaillées ci-dessous :
Voir au tout début de la page d'autres possibilités avec clé USB telles que Unetbootin, MultiSystem, etc.
Autres distributions testées
Aptosid (anciennement Sidux)
Fonctionnelle : exemple ici pour AMD64 et tout en français. Pour installer, forcer l'installation évite d'avoir à copier sur USB. S'installe en 3 minutes environ. site de téléchargement, Manuel d'utilisation
menuentry "Live - Aptosid" { insmod loopback insmod iso9660 set isofile="/aptosid-2011-03-ponos-kde-lite-amd64-201112312100.iso" search --set -f $isofile loopback loop $isofile linux (loop)/boot/vmlinuz0.amd boot=fll lang=fr_FR quiet fromiso=$isofile initrd (loop)/boot/initrd0.amd }
Elive
Fonctionnelle : tout paraît être en français après quelques questions au démarrage. site de téléchargement
menuentry "Elive" { insmod loopback insmod iso9660 set isofile="/elive_2.0_Topaz_new-kernel_up003.iso" search --set -f $isofile loopback loop (hd0,7)$isofile set gfxpayload=800x600x16, 800x600 linux (loop)/boot/vmlinuz-2.6.30.9-elive-686 boot=eli quiet resolution fromiso=$isofile initrd (loop)/boot/initrd.img-2.6.30.9-elive-686 }
Gentoo
Impossible de mettre le clavier français par défaut (pour du 32 bits : remplacer /boot/gentoo64 par /boot/gentoo et /boot/gentoo64.igz par /boot/gentoo.igz). site de téléchargement
menuentry "... 2 - Gentoo 12 Live DVD" { set isofile="/livedvd-x86-amd64-32ul-2012.1.iso" search --set -f $isofile loopback loop $isofile echo 'Chargement du noyau Linux ...' linux (loop)/boot/gentoo64 root=/dev/ram0 looptype=squashfs loop=/image.squashfs cdroot isoboot=$isofile splash=silent,theme:livecd-10 echo 'Chargement du disque mémoire initial ...' initrd (loop)/boot/gentoo64.igz }
Slitaz 3.0
Fonctionnelle : tout paraît être en français après quelques questions au démarrage. site de téléchargement
menuentry "Slitaz-3.0" { insmod loopback insmod iso9660 set isofile="/slitaz-3.0.iso" search --set -f $isofile loopback loop $isofile linux (loop)/boot/vmlinuz-2.6.30.6-slitaz kmap=fr-latin1 initrd (loop)/boot/rootfs.gz }
à adapter aux bonnes versions de l'iso et du noyau
Vector Linux
Fonctionnelle : français absent site de téléchargement
menuentry "ISO Live - Vector Linux Live" { insmod loopback insmod iso9660 loopback loop (hd0,7)'/VL6.0-Light-LIVE-Final.iso' set gfxpayload=1024x768x16, 1024x768 linux (loop)/boot/vmlinuz slax from=/VL6.0-Light-LIVE-Final.iso auto2 splash=silent ramdisk_size=6666 root=/dev/ram0 rw initrd (loop)/boot/initrd.gz }
ZevenOS
Fonctionnelle : en français et partiellement en allemand site de téléchargement
menuentry "ISO Live - ZevenOS-20" { insmod loopback insmod iso9660 loopback loop (hd0,7)'/ZevenOS-20.iso' linux (loop)/casper/vmlinuz persistent locale=fr_FR bootkbd=fr iso-scan/filename=/ZevenOS-20.iso boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash -- initrd (loop)/casper/initrd.lz }
CloneZilla
Fonctionnelle : en anglais site de téléchargement
menuentry "CloneZilla amd64 (800x600)" { set isofile="/boot/clonezilla-live-1.2.6-24-amd64.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" gfxpayload=800x600x16,800x600 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile initrd (loop)/live/initrd.img }
Fedora
Fedora 15 (Téléchargement) ne peut être bootée directement depuis une iso (bug). Il faut donc extraire l'iso dans un dossier, ici boot/iso/LiveCD-FC15 sur une clef usb.
menuentry ".. Fedora 15 Desktop AMD64 (extracted)" { linux /boot/iso/LiveCD-FC15/isolinux/vmlinuz0 root=UUID=8816-2C13 live_dir=/boot/iso/LiveCD-FC15/LiveOS/ rootfstype=auto ro liveimg quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 locale=fr_FR bootkbd=fr console-setup/layoutcode=fr initrd /boot/iso/LiveCD-FC15/isolinux/initrd0.img }
Remplacez :
- /boot/iso/LiveCD-FC15 par le répertoire où l'iso est extraite
- 8816-2C13 par l'UUID de la partition où l'iso est extraite
Inspiré du forum anglohpone Fedora.
antiX
antiX MX 14.4 (Page du projet) démarrera de la même manière, en utilisant le bloc de texte suivant dans le fichier grub.cfg:
menuentry " MX-14.4 pae" { insmod loopback insmod iso9660 set isofile="/MX-14.4-pae.iso" #recherche de la partition dans laquelle se trouve le fichier ISO et montage de celle ci dans "/" search -sf $isofile #Montage du fichier ISO dans (loop)/ loopback loop $isofile echo 'Chargement du noyau Linux ...' linux (loop)/antiX/vmlinuz quiet fromiso=/MX-14.4-pae.iso antiX=LX -- echo 'Chargement du disque mémoire initial ...' initrd (loop)/antiX/initrd.gz }
Ici c'est une version PAE qui est employée, vous voudrez donc adapter en fonction de votre choix d'image ISO.
Contributeurs principaux : Frombenny …