Démarrer vos ISO à partir de GRUB/GRUB2

Partagez ici vos Trucs et vos Astuces.
Répondre
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
On a toujours besoin à un moment ou à un autre de démarrer sur un système LIVE; pour redimensionner une partition, réparer grub, etc.
En guise de pense bête je vais poster ici mon grub pour démarrer sur une iso

La démarche est toujours la même:

Code : Tout sélectionner

On récupère l'ISO:
$ wget http://site.tld/xxx.iso

On crée le répertoire qui va accueillir les ISOs s'il n'existe pas et on copie l'ISO dedans:
$ su -
# mkdir /boot/iso
# cp xxx.iso /boot/iso/xxx.iso

On ajoute le code permettant de démarrer sur l'iso de son choix
# $editor /etc/grub.d/40_custom

Et on met à jour grub:
# update-grub
Choisissez votre iso ici par exemple: http://cdimage.debian.org/debian-cd/cur ... so-hybrid/
$ wget http://cdimage.debian.org/debian-cd/cur ... esktop.iso

Et le contenu de 40_custom:

Code : Tout sélectionner

menuentry "Debian Live 8.5.0 amd64 XFCE Desktop" {
set isopath="/boot/iso"
set isoname="debian-live-8.5.0-amd64-xfce-desktop.iso"
set isofile="${isopath}/${isoname}"
echo "Chargement de ${isoname}..."
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live findiso=${isofile} config quiet splash
initrd (loop)/live/initrd.img
}
Si vous avez d'autres entrées fonctionnelles, n'hésitez pas à compléter ce T&A! :icon_wink:
C'est même recommandé!
Je ferais une page sur le wiki, vous aurez certainement des choses à partager sur le sujet!
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
marcastro
Membre actif
Membre actif
Messages : 718
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

dans la foulée de lol je vous donne mon fichier /etc/grub.d/40_custom.
Ce fichier me permet de booter directement sur les isos de clonezilla(version 25025-amd64), de knoppix 7.71(alias kn771) avec home persistant knoppix-data.img; de debian-live-amd64.
J'avais aussi gparted.iso mais je l'ai supprimé,faisait doublon avec knoppix . Debian live et sparkylinux sont en version 64 bits; handylinux est diésée mais elle est fonctionnelle en enlevant les dièses

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### START /etc/grub.d/40_custom ###
menuentry "Clonezilla" {
set root="hd0,msdos2"
set isofile="/clonezilla25025amd64.iso"
loopback loop (hd0,msdos2)$isofile
linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts= ocs_live_batch=\"no\" locales= vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}

menuentry "kn771" {
set root="hd0,msdos2"
set iso_path="/kn771.iso"
loopback loop (hd0,msdos2)$iso_path
linux (loop)/boot/isolinux/linux knoppix bootfrom=/dev/sdb2/kn771.iso lang=fr tz=Europe/Paris
initrd (loop)/boot/isolinux/minirt.gz
}



#menuentry "debian live" {
#set root="hd1,msdos2"
#set isofile="/debian-amd64-lxde.iso"
#loopback loop (hd1,msdos2)$isofile
#linux (loop)/live/vmlinuz boot=live config splash findiso=$isofile keyboard-layouts=fr locales=fr-FR.UTF-8 lang=fr swapon=/dev/sdb6
#initrd (loop)/live/initrd.img
#}


menuentry "sparky lxde" {
set root="hd0,msdos2"
set isofile="/sparkylinux-lxde.iso"
loopback loop (hd0,msdos2)$isofile
linux (loop)/live/vmlinuz boot=live config splash findiso=$isofile keyboard-layouts=fr locales=fr-FR.UTF-8 swapon=/dev/sdb6
initrd (loop)/live/initrd.img
}








#menuentry "handylinux" {
#set isofile="/opt/Iso/handy686.iso"
#loopback loop (hd1,msdos5)$isofile
#linux (loop)/live/vmlinuz boot=live config quiet splash toram=filesystem.squashfs findiso=$isofile noswap keyboard-#layouts=fr locales=fr-FR.UTF-8 lang=fr
#initrd (loop)/live/initrd.img
#}



### END /etc/grub.d/40_custom ###





#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.





J'ai deux disques;sda et sdb; grub2 commence la numérotation des disques à partir de zéro et la numérotation des partitions à partir de un.
Le disque hd0 est celui qui démarre le premier dans l'ordre de priorité de démarrage des disques;ça se détermine dans le bios ou dans l'uefi
Chez moi c'est sdb qui démarre en premier; donc chez moi sdb=hd0 ; si vous n'avez que un seul disque sda alors ce sera sda=hd0


Explication pour clonezilla
-l'image clonezilla2117amd64.iso est écrite sur la partition sdb2; donc sur msdos2 du disque hd0.
(J'ai utilisé l'expression msdos2 pour respecter la même terminologie que celle utilisée dans grub.cfg; msdos2 peut aussi s'écrire hd0,2)

-l'image debian-amd64-lxde.iso est écrite sur la partition sdb2; donc sur msdos2 du disque hd0

-idem pour knoppix.


Après avoir modifié votre fichier 40_custom mettre grub à jour avec la commande:

Code : Tout sélectionner

#update-grub
et lors du prochain démarrage de votre machine vous aurez un menu grub qui vous permettra de booter directement sur l'iso de votre choix.

Il est judicieux de mettre les images iso sur une partition data et pas sur une partition système,ceci permet d'avoir l'accès à toutes les partitions systèmes pour travailler dessus en cas de besoin.
sur le forum depuis 2007.
sid et bookworm avec xfce
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

En voici quelques autres:

Gparted Live Je n'ai pas réussi à booter la 0.26.1-3 i686, je m'arrête sur initramfs...

Code : Tout sélectionner

menuentry "Gparted Live 0.18.0-2 amd64" {
	set isopath="/boot/iso"
	set isoname="gparted-live-0.18.0-2-amd64.iso"
	set isofile="${isopath}/${isoname}"
	loopback loop $isofile
	linux (loop)/live/vmlinuz boot=live username=user config components quiet noswap noeject findiso="$isofile" toram=filesystem.squashfs nosplash
	initrd (loop)/live/initrd.img
}
Kali-linux

Code : Tout sélectionner

menuentry "Kali-linux Light 2016.1 64bits" {
	set isopath="/boot/iso"
	set isoname="kali-linux-light-2016.1-amd64.iso"
	set isofile="${isopath}/${isoname}"
	echo "Using ${isoname}..."
	loopback loop $isofile
	linux (loop)/live/vmlinuz boot=live findiso=${isofile} config quiet splash
	initrd (loop)/live/initrd.img
}
Clonezilla

Code : Tout sélectionner

menuentry "CloneZilla" {
	set isopath="/boot/iso"
	set isoname="clonezilla-live-2.4.7-8-amd64.iso"
	set isofile="${isopath}/${isoname}"
	loopback loop $isofile
	linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap nolocale$
	initrd (loop)/live/initrd.img
}
Linuxmint J'ai laissé commenté deux lignes volontairement. Le loopback sur certaines machines (en fonction de la partition ou se trouvent les fichiers iso) doit être fixé avec (hdx,y).

Code : Tout sélectionner

menuentry "Mint 18 Mate 64bit" {
	set isopath="/boot/iso"
	set isoname="linuxmint-18-mate-64bit.iso"
	set isofile="${isopath}/${isoname}"
#	loopback loop (hd0,gpt2)$isofile
#	loopback loop (hd0,1)$isofile
	loopback loop $isofile
	linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject toram
	initrd (loop)/casper/initrd.lz
}
Vous aurez sûrement d'autres entrées, ou des trucs à ajouter...
J'ai vu sur un "autre" forum ceci, je n'ai pas osé pomper... Mais l'auteur est invité à nous en expliquer l'utilisation! :icon_e_wink:

Code : Tout sélectionner

set france="lang=fr_FR.UTF-8 locales=fr_FR.UTF-8"
set keyboard="keyboard-layouts=fr keyboard-model=pc105"
set tz_utc="timezone=Europe/Paris utc=yes"
set params="config quiet splash noprompt ${france} ${keyboard} ${tz_utc}"
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
marcastro
Membre actif
Membre actif
Messages : 718
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

pour gparted:

Code : Tout sélectionner

menuentry "Gparted live" {
set root="hd0,msdos2"
set isofile="/gparted2503amd64.iso"
loopback loop (hd0,2)$isofile
linux (loop)/live/vmlinuz boot=live config union=overlay username=user noswap noprompt vga=788 ip=frommedia toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}
sur le forum depuis 2007.
sid et bookworm avec xfce
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4974
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Cool! merci.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
marcastro
Membre actif
Membre actif
Messages : 718
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

pour sparkylinux avex lxde:

Code : Tout sélectionner

menuentry "sparky lxde" {
set root="hd1,msdos2"
set isofile="/sparkylinux-lxde.iso"
loopback loop (hd1,msdos2)$isofile
linux (loop)/live/vmlinuz  boot=live config  splash  findiso=$isofile keyboard-layouts=fr locales=fr-FR.UTF-8  swapon=/dev/sdb6
initrd (loop)/live/initrd.img 
}
à adapter selon vos partitions.
sur le forum depuis 2007.
sid et bookworm avec xfce
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

Hmm, voilà un sujet intéressant, je reviens bientôt pour expliquer comment lancer une iso depuis le prompt de GRUB (donc sans modifier le fichier grub.cfg), pratique quand on n'a par exemple pas d'accès root à la machine.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4958
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

ni accés au BIOS, car le plus simple est d'aller dans le BIOS et de booter en priorité sur le lecteur de DVD.
Certains vous diront que c'est pas terrible niveau sécurité, mais ce serait une remarque idiote. Ce qui est grave, c'est l'accés au BIOS qui n'est pas protégé ...
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

Mes machines utilisant libreboot n'ont pas de BIOS "classique" (GRUB dès la mise sous tension), ce sont d'ailleurs ces machines qui m'ont finalement poussé à apprendre à utiliser le prompt de GRUB.
Répondre