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 l'instruction "dd" ou avec un utilitaire comme usb-creator, Unetbootin, Easy2boot, 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é.
Voici la procédure à suivre pour lancer vos isos présents sur le disque dur directement avec Grub 2.
grub-install -V
Pour simplifier les descriptions dans ce tutoriel, on créera un dossier unique pour tous les fichiers 'iso' :
Pour cela, on saisira les commandes suivantes dans le terminal:
cd / # pour aller à la racine de la partition si ce n'est déjà fait sudo mkdir isos sudo chown ben:ben isos # username:groupname : à adapter à votre configuration (le plus souvent le nom du groupe est identique à celui de l'utilisateur) ln -f -s -r -t ~/Téléchargements isos
Donc, tous les fichiers 'iso' téléchargés seront désormais déplacés dans ce dossier 'isos' dans 'Téléchargements'.
Modifier le menu principal en configurant le fichier /etc/grub.d/40_custom ou /boot/grub/custom.cfg nous obligerait à lancer la commande 'sudo update-grub' après chaque modification. Pour éviter cela :
On configure donc le fichier /etc/grub.d/40_custom ainsi :
(Cliquez sur le nom du fichier pour l'afficher dans votre éditeur de texte)
menuentry " " { true # true permet d'afficher la ligne de titre (ici une ligne vide pour 'aérer' le menu) sans rien faire d'autre } menuentry "===>> Distribs lancées depuis leur fichier 'iso'" { set root=(hd0,2) configfile /isos/00_isoboot.cfg }
Note : avec la commande 'set root=(hd0,2)', on définit comme partition où est le dossier 'isos' /dev/sda2 (c'est donc à adapter à votre configuration).
Pour activer ce changement, il faut lancer la commande :
sudo update-grub
On aura ainsi une ligne à notre menu grub pour se rendre sur une page dédiée aux lancements de fichiers 'iso'.
Ce sont des paramètres qui concernent tous les menus qu'on évite ainsi de répéter dans chacun d'entre eux :
### Lancement des modules grub qui ne seraient pas déjà lancés en standard #insmod ntfs # décommentez si les isos sont sur une partion MS Windows insmod loopback insmod iso9660 ### la racine est définie pour tous les menus qui suivront car tous les isos sont au même endroit set root=(hd0,2) # correspond à /dev/sda2 (la commande peut être aussi set root=(hd0,msdos2) ou (hd0,gpt2) selon le type de votre partition) ### effacer les deux lignes ci-dessous si vous ne voulez pas de menu par défaut set default="2" # la ligne de menu qui sera sélectionnée par défaut sera la 3ème (on compte à partir de 0 dans grub !) set timeout=8 # durée en secondes avant le lancement du menu par défaut
Si votre grub principal est en mode texte, il est préférable de conserver ici un habillage en mode texte.
#insmod gfxterm # nécéssaire pour personnaliser l'aspect du menu. Peut être déjà lancé si vous avez une image de fond pour votre menu principal set gfxmode=1920x1200 # définit la résolution d'affichage du menu grub insmod jpeg # insmod png si votre image de fond est au format png background_image -m stretch /isos/0_image_de_fond.jpg # si votre image ne s'affiche pas, se référer à la doc (tutoriel:Grub2_paramétrage_manuel#Fond d'écran) ### note: pour que le texte des menus reste lisible, une image plus foncée que la normale est conseillée. ### couleurs dispo : black, blue, green, cyan, red, magenta, brown, light-gray, dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow, white ### black équivaut à transparent lorsqu'on a une image de fond set color_normal=light-cyan/black # définit les couleurs de texte/fond d'écran autour du cadre de menu set menu_color_normal=light-cyan/black # définit les couleurs de texte/fond d'écran dans le cadre de menu set menu_color_highlight=light-magenta/blue # définit les couleurs de texte/surbrillance pour le menu sélectionné set gfxpayload=1920x1200 # définit la résolution d'affichage par défaut en sortant du menu grub (par défaut il est à 'keep')
Si votre grub principal s'affiche via un thème, on pourra en définir un autre ici pour se repérer plus facilement (on ne cumulera pas avec le paragraphe précédent : c'est soit l'un soit l'autre).
Le thème utilisé vient de cette page. Les polices de caractères doivent être lancées 'manuellement' ainsi que le fond d'écran.
insmod png # s'il n'est pas déjà lancé pour le thème du menu principal loadfont /isos/themes/Crunchy-ubuntu-ish/Ubuntu_normal.pf2 loadfont /isos/themes/Crunchy-ubuntu-ish/Ubuntu_title.pf2 background_image /isos/themes/Crunchy-green/term_borders_c.png # le fond d'écran n'est utile que pour la ligne de commande ou l'édition d'un des menus theme=/isos/themes/Crunchy-ubuntu-ish/theme-fr.txt
Cet extrait de fichier est à ajouter éventuellement à votre fichier de configuration et à modifier à votre convenance.
menuentry ".. Ubuntu 16.04" { set isofile="/isos/ubuntu-16.04-desktop-amd64.iso" loopback loop $isofile 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 noprompt quiet splash -- initrd (loop)/casper/initrd.lz }
On dupliquera ce menu autant de fois que de menus souhaités. 'root=..' étant déjà indiqué dans les paramètres généraux, il n'est pas répété dans le menu type.
set isofile est à adapter en fonction du fichier iso téléchargé,
loopback loop $isofile peut être modifié en loopback loop (hd0,2)$isofile si le fichier n'est pas trouvé par grub,
/cdrom/preseed/ est à adapter en fonction de la variante (C'est souvent la seule chose qui diffère dans la ligne 'linux loop' des variantes ubuntu, cf paragraphe suivant).
Voici les lignes 'vmlinuz' pour toutes les variantes d'Ubuntu :
Attention ! Pour les versions 32 bits d'Ubuntu et ses variantes, vmlinuz.efi doit être modifié en vmlinuz tout court.
2 solutions :
sudo umount -l -r -f /isodevice
L'option 'only-ubiquity' ou 'maybe-ubiquity' ne fonctionne pas toujours. Le démontage de 'isodevice' puis clic sur l'icône 'installer ubuntu', lui, a toujours fonctionné.
Comme pour ubuntu, n'oubliez pas les paramètres généraux (surtout les 'insmod' et 'set root') et le menu de base dont on modifiera les lignes 'linux loop' et 'initrd loop' comme indiquées en italique.
Très complet mais pas gratuit (liste des programmes, 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) - Téléchargement
Seuls les outils via l'interface graphique sont accessibles. Aucune tentative de lancer les outils en mode texte lancés via syslinux n'a abouti.
Page de téléchargement - Manuel d'utilisation - Documentation Officielle SystemRescue ISO et grub2
CloneZilla vous permettra de cloner une partition vers une image ou une autre partition ou inversement.
linux (loop)/live/vmlinuz persistent boot=live findiso=$isofile union=overlay username=user config components quiet noswap lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 edd=on nomodeset nodmraid ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=fr ocs_live_batch=\"no\" vga=normal ip=frommedia nosplash toram=filesystem.squashfs timezone=Europe/Paris utc=yes initrd (loop)/live/initrd.img
linux (loop)/live/vmlinuz persistent boot=live findiso=$isofile union=overlay username=user hostname=xenial config components quiet noswap lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 edd=on nomodeset nodmraid noeject ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=fr ocs_live_batch=\"no\" vga=normal ip=frommedia nosplash toram=filesystem.squashfs timezone=Europe/Paris utc=yes net.ifnames=0 initrd (loop)/live/initrd.img
N'oubliez pas les paramètres généraux et les lignes en italiques sont celles qui sont différentes du menu de base.
Ne connaissant aucune version livecd officielle, voici quelques distributions dérivées de Arch Linux (pas trouvé comment les lancer directement en français) :
Même si Debian est parent du projet Ubuntu, son lancement est différent car il n'utilise pas casper.
Dérivées
Par rapport au menu standard, on définira une variable de plus : $isolabel. Pour la trouver, il faut ouvrir l'iso avec le gestionnaire d'archive (clic droit). Dans le dossier 'isolinux', il faut ouvrir 'isolinux.cfg' puis rechercher CDLABEL.
Dérivées
Un petit tour chez la grand-mère des distros. Pas réussi à lancer la version live depuis Grub.
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.
linux (loop)/manjaro/boot/x86_64/manjaro img_dev=/dev/sda2 img_loop=$isofile misobasedir=manjaro misolabel=MJRO1605 nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo locale.LANG=fr_FR.utf8 vconsole.keymap=fr-latin1 timezone=Europe/Paris overlay=free -- initrd (loop)/manjaro/boot/x86_64/manjaro.img
Antix est une distribution pouvant tourner sur de vieux systèmes. Elle utilise notamment des environnements de bureau légers tels que IceWm et Fluxbox.
Page de téléchargement
Remarque : 'bootdev' correspond à la même partition que 'set root=(hd0,2)' dans les paramètres généraux. Il faut l'adapter ainsi que 'xres' à votre configuration.
Un linux qui tient sur une "iso" de 50 Mo. Seules les versions "core" peuvent être lancées depuis Grub :
version 4 (stable), version rolling 32 et 64-bit
:pas réussi à amorcer complètement une BSD depuis un fichier iso. Debian est l'essai le plus encourageant.
Parmi les tests effectués :
Site de téléchargement de l'iso-cd ou l'iso-dvd
menuentry "kFreeBSD netinst" { insmod ufs2 set isofile=/isos_autres/debian-7.11.0-kfreebsd-amd64-netinst.iso loopback loop $isofile set root=(loop) kfreebsd (loop)/boot/kernel/kfreebsd-9.gz kfreebsd_module (loop)/boot/mfsroot.gz type=mfs_root set kFreeBSD.vfs.root.mountfrom=ufs:/dev/md0 }
Pour lancer ces isos on peut créer une clé USB ayant un grub d'intégré en suivant cette procédure. Ensuite on intégrera les menus directement au fichier /boot/grub/grub.cfg de celle-ci.
Contributeurs principaux : Frombenny …