Grub2 menuentry (exemples pour iso)
https://github.com/thias/glim/tree/master/grub2 (+++)
https://help.ubuntu.com/community/Grub2/ISOBoot/Examples
Lancement à partir d’un disque dur (/etc/grub.d/40_custom) ou d’une clé USB (grub.cfg)
Pour mémoire :
- Vérifier le format du disque (MSDOS ou GPT).
- La numérotation des disques se fait à partir de celui qui boote. C’est le hd0
- Les partitions sont comptées à partir de 1 : (hd0,msdos1) ou (hd0, gpt1) pour /dev/sda1
- Ne pas oublier dans les commandes insmod part_gpt ou insmod part_msdos pour que grub voit les partitions selon le format des DD.
- Pour lire la partition il est parfois utile d’ajouter insmod ext2
- Si le lancement a lieu à partir d’une clé USB enlever (hd0,1).
- Voir dans la variante Multisystem l’utilisation de UUID.
Pour mettre à jour grub.cfg faire :
sudo update-grub
Ubuntu 13.04
A partir d’Ubuntu 12.04.2 et 13.04, le noyau c’est vmlinuz.efi
#ISO Ubuntu 13.04 Raring 64 bits mode 2
menuentry "Ubuntu 13.04 Raring amd64" {
insmod part_gpt
insmod ext2
insmod loopback
insmod iso9660
set isofile="/iso/raring-desktop-amd64.iso"
loopback loop (hd0,gpt1)$isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject
echo 'Chargement du disque mémoire initial ...'
initrd (loop)/casper/initrd.lz
}
Ubuntu 12.10
#ISO ubuntu-12.10-desktop-amd64 64 bits Clé USB (OK)
menuentry "Ubuntu 12.10 Desktop AMD64" {
insmod loopback
insmod iso9660
set isofile="/iso/ubuntu-12.10-desktop-amd64.iso"
loopback loop $isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
echo 'Chargement du disque memoire initial ...'
initrd (loop)/casper/initrd.lz
}
#ISO ubuntu-12.10-desktop-amd64 64 bits HDD (OK)
menuentry ".. Ubuntu 12.10 Quantal Desktop AMD64" {
insmod part_msdos
insmod ext2
insmod loopback
insmod iso9660
set isofile="/ubuntu-12.10-desktop-amd64.iso"
loopback loop (hd0,msdos1)$isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
echo 'Chargement du disque mémoire initial ...'
initrd (loop)/casper/initrd.lz
}
http://doc.ubuntu-fr.org/tutoriel/grub2_lancer_des_images_iso
Variante Multisystem :
#ubuntu-12.04-desktop-amd64-fr.iso
menuentry "ubuntu-12.04-desktop-amd64-fr.iso" {
search --set -f "/ubuntu-12.04-desktop-amd64-fr.iso"
loopback loop "/ubuntu-12.04-desktop-amd64-fr.iso"
linux (loop)/casper/vmlinuz root=UUID=7ED2-C22B debian-installer/language=fr keyboard-configuration/layoutcode=fr iso-scan/filename=/ubuntu-12.04-desktop-amd64-fr.iso boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash --
initrd (loop)/casper/initrd.lz
}
Pour les dérivés d’Ubuntu (Xubuntu, Lubuntu, Voyager …), il suffit de modifier le nom du fichier, le reste ne change pas.
Clonezilla
# ISO Clonezilla HDD (OK)
menuentry ".. CloneZilla amd64 " {
insmod part_msdos
insmod ext2
set isofile="/clonezilla-live-20120326-oneiric.iso"
loopback loop (hd0,msdos1)$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="" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img
}
http://clonezilla.org/livehd.php
PartedMagic
Marche avec un nom du fichier en iso pmagic.iso ou pmagic_AAAA-MM-JJ.iso
ISO booting: Remove _i486 or _x86_64 from the name of the ISO image. Parted Magic won’t be able to find the squashfs image if you don’t. Also take into account that initramfs was renamed to initrd.img in recent versions.
# ISO Parted Magic Clé USB (OK)
menuentry ".. Parted Magic 2012-10-10" {
insmod loopback
insmod iso9660
set isofile="/iso/pmagic_2012_10_10.iso"
loopback loop $isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/pmagic/bzImage iso_filename=$isofile boot=live load_ramdisk=1 prompt_ramdisk=0 keymap=fr-latin1 fr_FR noeject noprompt
echo 'Chargement du disque memoire initial ...'
initrd (loop)/pmagic/initrd.img
}
# ISO Parted Magic HDD (OK)
menuentry ".. Parted Magic 2012-10-10" {
insmod part_msdos
insmod ext2
insmod loopback
insmod iso9660
set isofile="/iso/pmagic_2012_10_10.iso"
loopback loop (hd0,msdos1)$isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/pmagic/bzImage root=/dev/sda1 boot=live load_ramdisk=1 prompt_ramdisk=0 keymap=fr-latin1 fr_FR noeject noprompt
echo 'Chargement du disque memoire initial ...'
initrd (loop)/pmagic/initrd.img
http://partedmagic.com/doku.php?id=frugal_install
Variante Multisystem :
#pmagic_2012_05_14_x86_64.iso
menuentry "pmagic_2012_05_14_x86_64.iso" {
search --set -f "/pmagic_2012_05_14_x86_64.iso"
loopback loop "/pmagic_2012_05_14_x86_64.iso"
linux (loop)/pmagic/bzImage uuid=7ED2-C22B iso_filename=/pmagic_2012_05_14_x86_64.iso edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=256MiB fr_FR
initrd (loop)/pmagic/initrd.img
}
Pour la version 32 bits, uniquement changement du nom de fichier.
SystemRescueCD
menuentry "SystemRescueCd i386" {
loopback loop /systemrescuecd.iso
linux (loop)/isolinux/rescuecd isoloop=systemrescuecd.iso setkmap=it nomodeset
initrd (loop)/isolinux/initram.igz
}
HDD (OK)
menuentry ".. SystemRescueCd x64" {
insmod part_msdos
insmod ext2
set isofile="/systemrescuecd-x86-3.0.0.iso"
loopback loop (hd0,msdos1)$isofile
linux (loop)/isolinux/rescue64 isoloop=$isofile setkmap=fr_FR nomodeset
initrd (loop)/isolinux/initram.igz
}
menuentry "SystemRescueCd - memtest" {
loopback loop /systemrescuecd.iso
linux16 (loop)/bootdisk/memtestp
}
menuentry "SystemRescueCd - ntpass" {
loopback loop /systemrescuecd.iso
linux16 (loop)/ntpasswd/vmlinuz rw vga=1
initrd16 (loop)/ntpasswd/initrd.cgz
initrd16 (loop)/ntpasswd/scsi.cgz
}
HDD (OK)
menuentry ".. SystemRescueCd - freedos" {
insmod part_msdos
insmod ext2
set isofile="/systemrescuecd-x86-3.0.0.iso"
loopback loop (hd0,msdos1)$isofile
linux16 (loop)/isolinux/memdisk
initrd16 (loop)/bootdisk/freedos.img floppy
}
menuentry "SystemRescueCd - hardware diagnostic" {
loopback loop /systemrescuecd.iso
linux16 (loop)/isolinux/memdisk
initrd16 (loop)/bootdisk/hdt.img floppy
}
menuentry "SystemRescueCd - ranish pman" {
loopback loop /systemrescuecd.iso
linux16 (loop)/isolinux/memdisk
initrd16 (loop)/bootdisk/ranish.img floppy
}
menuentry "SystemRescueCd - low level hdd" {
loopback loop /systemrescuecd.iso
linux16 (loop)/isolinux/memdisk
initrd16 (loop)/bootdisk/mhdd.img floppy
}
Sources :
- http://www.tumblr.com/tagged/partedmagic
- http://www.sysresccd.org/Sysresccd-manual-en_Easy_install_SystemRescueCd_on_harddisk#Boot_the_ISO_image_from_the_disk_using_Grub2
Application : http://www.sysresccd.org/SystemRescueCd_Homepage
Fedora 19
https://github.com/thias/glim/blob/master/grub2/inc-fedora.cfg
menuentry ".. Fedora 19 Live" {
insmod part_msdos
insmod ext2
insmod loopback
insmod iso9660
set isofile="/Fedora-Live-Desktop-x86_64-19-1.iso"
set isoname="Fedora-Live-Desktop-x86_64-19-1"
loopback loop (hd1,msdos1)$isofile
linux (loop)/isolinux/vmlinuz0 root=live:CDLABEL=$isoname rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0 iso-scan/filename=${isofile}
initrd (loop)/isolinux/initrd0.img
}
PuppyLinux
http://puppylinux.org/wikka/grub2tut
Linux Mint
http://forums.linuxmint.com/viewtopic.php?f=46&t=55543
menuentry ".. Linux Mint 15 Cinnamon 64b" {
insmod part_msdos
insmod ext2
insmod loopback
insmod iso9660
set isofile="/linuxmint-15-cinnamon-dvd-64bit.iso"
loopback loop (hd1,msdos1)$isofile
echo 'Chargement du noyau Linux ...'
linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/mint.seed noprompt quiet splash --
echo 'Chargement du disque mémoire initial ...'
initrd (loop)/casper/initrd.lz
}
Autres
http://doc.ubuntu-fr.org/tutoriel/grub2_lancer_des_images_iso
