web-dev-qa-db-fra.com

Comment démarrer à partir d'images ISO en direct non-Ubuntu telles que Fedora ou CentOS?

J'ai trouvé que cela peut être fait avec loopbackcomme suit

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

Mais cela ne fonctionne qu'avec ubuntu ou ses dérivés. Comment cela devrait-il être écrit si je veux démarrer d'autres images en direct comme Fedora, cent, opensuse, etc.?

Edit: J'ai trouvé d'autres entrées, mais toutes sont probablement basées sur Debian.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Edit2: Comment charger en chaîne grubet syslinuxà partir de grub2?

Edit3: Je veux démarrer d’autres images en direct sans aucun périphérique amovible et utiliser grub2 afin d’avoir besoin des entrées de menu spécifiques à grub2.

26
Rahul Virpara

Démarrer à partir d’iso est une fonctionnalité qui doit être prise en charge par la distribution, et l’option iso-scan/filename= ne fonctionnera pas dans Fedora ou dans d’autres. Ceux-ci peuvent avoir d'autres options de noyau pour cette fonctionnalité ou la fonctionnalité peut ne pas être supportée du tout.

J'ai trouvé une méthode pour démarrer Fedora 16 DVD, ci-dessous.

Amorcer Fedora 15 DVD iso à partir de grub

 menuentry "Fedora 15 (DVD)" {
 insmod loopback 
 insmod iso9660 
 set isofile = "/ Fedora-15-x86_64-DVD.iso" 
 loopback loop (hd0,2) $ isofile 
 linux (boucle)/isolinux/vmlinuz rootfstype = auto root = live: UUID =: $ isofile ou calme 
 initrd (boucle)/isolinux /initrd.img
}

Cela suppose que votre fichier iso se trouve à la racine de la seconde partition du disque dur interne.

source: cette page

Vous pouvez rechercher une autre distribution dans Google, car ce n'est pas une fonctionnalité indépendante de la distribution.

Note 1: Il a également fonctionné avec Fedora 16, je viens de le tester.
Note 2: Il semble que la méthode ait fonctionné lorsque vous avez placé le fichier iso dans une partition fat ou ext4.


Amorcer grml small iso à partir de grub2

Grml peut également être démarré à partir de grub2. Notez qu'il utilise l'option findiso au lieu de l'option iso-scan/filename, indiquant que le démarrage à partir d'iso est implémenté en tant qu'options différentes dans différentes distributions.

 (menuentry "Grml small 2009.10" {
 boucle de bouclage /boot/iso/grml-small_2009.10.iso
 linux (boucle)/boot/grmlsmall/linux26 findiso =/boot/iso/grml-small_2009.10.iso apm = éteindre lang = us vga = 791 démarrer = enregistrer nom noeject noprompt - 
 initrd (boucle) /boot/grmlsmall/initrd.gz 
} 

Cette page contient plusieurs exemples d'autres distributions démarrant à partir de Grub2.


Démarrage de openSUSE 13.1 Live from iso

Voici la seule solution qui a fonctionné (tous les autres m'ont donné un . Échec de recherche de l'identificateur MBR et arrêté). Dans cet exemple, l’iso est placé sur la troisième partition du premier disque, dans le répertoire /home/username/.

 menuentry "openSUSE_13.1_GNOME_Live" {
 load_video 
 insmod gzio 
 insmod part_msdos 
 insmod ext2 
 set root = '(hd0 , msdos3) '
 set isofrom_device ='/dev/sda3 '
 set isofrom_system ='/home/nom_utilisateur/openSUSE-13.1-GNOME-Live-i686.iso '
 loader = '/ boot/i386/loader' 
 boucle de bouclage $ isofrom_system 
 linux (boucle) $ loader/linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_systems vt_handoff preloadlog =/dev/null showopts 
 initrd (boucle) $ loader/initrd 
} 

La source est commentaire de janeppo .


Fedora 17 Gnome Live Iso

Voici l'entrée grub.cfg du menu de démarrage pour Fedora 17. L'iso est placé sur la troisième partition du premier disque. Aussi le nom de fichier est changé.

 menuentry "Fedora Live" {
 boucle de bouclage (hd0,3) /Fedora.iso 
 linux (boucle)/EFI/BOOT/vmlinuz0 root = live: /Fedora.iso rootfstype = auto ro liveimg quiet rhgb rd.luks = 0 rd.md = 0 
 initrd (hd0,3)/initrd-fromiso 
} 

Dernière remarque: Je pense que cette réponse sert d'exemple. Il ne faut pas élaborer plus avec des exemples.

19
Anwar

Voici quels fichiers iso j'ai imaginé de démarrer avec grub2.

J'ai réussi à démarrer les ISOs suivants

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Outil de détection du matériel de démarrage
  • Dos gratuit
  • Le CD de démarrage de Hiren
  • CD de démarrage ultime

J'ai constaté que si vous voulez démarrer d'autres fichiers ISO comme le CD de démarrage de Hiren, etc., vous pouvez utiliser l'utilitaire MEMDISK comme noyau.

Où se procurer MEMDISK?

Téléchargez Syslinux depuis ici . Déplacez-le sur le bureau.

Comment le faire fonctionner?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
Sudo mkdir /customboot
Sudo mv memdisk /customboot/
cd /customboot/
Sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

Collez ensuite les entrées ci-dessous dans gedit. Vous devrez changer set isofile="/path/to/iso-file.iso".

Ensuite, lancez update-grub. Redémarrez et vérifiez.

Mes entrées dans le fichier 40_custom.

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

Toutes les images ISO sont conservées sur sda6/OS et MEMDISK est conservé sur la partition où ubuntu est installé (en racine) et renommé en memdisk4.05 afin que son chemin d'accès soit /customboot/memdisk4.05

note: Fedora ne fonctionnait pas avec l'autre réponse donnée. J'essaie toujours de démarrer Fedora :(.

3
Rahul Virpara

Je trouve que l’utilisation du loopback de grub2 est très utile pour tester de nouvelles normes sans avoir besoin de clé USB ou de gravure sur CD. Des bogues ont été déposés contre Fedora pour faire quelque chose de similaire. Le suivi de l’état actuel prend un peu de temps.

1
grantbow

On dirait que 13.04 nécessite une syntaxe différente pour y parvenir. Quelqu'un a-t-il démarré avec succès ubuntu-13.04-desktop-AMD64.iso à partir d'un disque physique et souhaiterait-il partager la syntaxe grub?

EDIT: a répondu à ma propre question. Besoin de renommer vmlinuz en mvlinuz.efi et cela fonctionne.

menuentry "Ubuntu-13.04-desktop-AMD64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-AMD64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}
1
user130567

malheureusement aucune de ces recommandations ne m'a pas aidé. J'ai donc trouvé le chemin et j'aimerais partager avec vous. Pour démarrer des centos par exemple, il vous faut: Mettez une image ISO dans le répertoire. si votre répertoire racine est monté sur/dev/sda1, créez alors répertoire/iso et mettez y dans iso. allez à la console de menu (lorsque le menu apparaît, appuyez sur 'c'.)

Choisissez le périphérique approprié - hd0 signifie sda. Vous devez choisir celui où votre iso est situé.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

Et ça démarre!

1

Ce que vous demandez est hors sujet ici, car cela nécessite une connaissance de ces autres systèmes pour pouvoir configurer les entrées grub afin de les démarrer correctement. Oui c'est possible.

Cependant ... Multi System est un outil compétent pour disposer de très nombreux ISO de distribution sur un seul grand disque USB. Je trouve que cela fonctionne très bien, mais vous devrez l’installer à partir d’un PPA:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

Je l'utilise de manière à pouvoir disposer de LiveUSB Gparted et d'autres outils, ainsi que ceux d'Ubuntu sur une clé USB pour InstallFests. En prime, il permet un écran de démarrage personnalisé pour le menu, que j'ai défini comme logo pour l'équipe australienne de LoCo.

Chris

Comme indiqué, Multisystem utilise Grub2 pour faire ce que vous voulez. Puisque ce fil hors sujet est autorisé, ou du moins toléré, voici l'entrée Fedora de mon multisystème Grub2:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /Fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/Fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /Fedora1/isolinux/initrd0.img
 }

Notez que vous ne pouvez pas démarrer directement à partir de l'ISO, car il n'est pas pris en charge, contrairement aux distributions basées sur Debian. Vous aurez besoin des fichiers décompressés de l’ISO disponibles sur le disque dur comme suit:

chris@chris-office:/media/RED8/Fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

Vous devrez bien entendu modifier l'emplacement du répertoire/Fedora/et l'UUID de la partition que vous démarrez Fedora. Vous devriez probablement aussi changer le mode de montage de ro à rw, ainsi que tout ce qui est approprié, comme les autorisations sur les squashfs.

Vous pouvez également probablement configurer un disque de persistance virtuel, bien que je ne voie pas pourquoi vous ne pourriez pas monter votre partition/home normale. Encore une fois, je ne peux que vous suggérer d’installer Multidisk et d’effectuer vous-même la configuration pour apprendre à le faire.

Chris

1
fabricator4

Essayez d’utiliser Multisystem, d’installer les liveCD de votre choix, puis de copier les fichiers sur votre/et de fusionner le fichier grub.cfgs! (Je suis vraiment curieux de voir si ça marcherait!).

0
WindowsEscapist