Wie kann ich von Nicht-Ubuntu-Live-ISO-Images wie Fedora oder CentOS booten?


26

Ich fand, dass es mit loopbackwie folgt getan werden kann

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
}

Aber es funktioniert nur mit Ubuntu oder seinen Derivaten. Wie soll es geschrieben werden, wenn ich andere Live-Images wie Fedora, Cent, OpenSuse usw. booten möchte?

Bearbeiten: Ich habe einige andere Einträge gefunden, aber alle sind wahrscheinlich Debian-basiert.

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: Wie kettenladen grubund syslinuxab grub2?

Edit3: Ich möchte andere Livebilder ohne Wechseldatenträger booten und grub2benötige dazu spezielle Menüeinträge grub2.


1
Dies ist nicht vom Thema, noch UNIX- und Linux - Stack Austausch ist besser unix.stackexchange.com
Tachyonen

@Rinzwind wie ??
Tachyonen

2
Die Frage ist über Fedora, CentOS und OpenSuse. Nicht über Ubuntu. @abcd
Rinzwind

2
Übrigens: Fedora ist dazu nicht in der Lage. CentOS ist im Grunde Fedora. dracuthat eine Feature-Anfrage dagegen und es muss dafür gepatcht werden. Sie finden diesen Patch auf bugzilla.redhat.com
Rinzwind

Antworten:


19

Das Booten von ISO ist eine Funktion, die von der Distribution unterstützt werden muss, und die iso-scan/filename=Option funktioniert nicht in Fedora oder anderen. Diese haben möglicherweise andere Kerneloptionen für diese Funktion, oder die Funktion wird möglicherweise überhaupt nicht unterstützt.

Ich habe eine Methode gefunden, um Fedora 16 DVD zu booten.

Fedora 15 DVD iso von grub booten

Menüeintrag "Fedora 15 (DVD)" {
 Insmod Loopback
 insmod iso9660
 set isofile = "/ Fedora-15-x86_64-DVD.iso"
 Loopback-Schleife (hd0,2) $ isofile
 linux (loop) / isolinux / vmlinuz rootfstype = auto root = live: UUID =: $ isofile ro quiet
 initrd (loop) /isolinux/initrd.img
}

Es wird davon ausgegangen, dass sich Ihre ISO-Datei im Stammverzeichnis der zweiten Partition der internen Festplatte befindet.

Quelle: diese Seite

Sie können in Google nach anderen Distributionen suchen, da dies keine von der Distribution unabhängige Funktion ist.

Hinweis 1: Es hat auch mit Fedora 16 funktioniert, ich habe es gerade getestet.
Hinweis 2: Es scheint, dass die Methode funktioniert hat, als Sie die ISO-Datei in einer Fat- oder Ext4-Partition abgelegt haben.


Grml small iso von grub2 booten

Grml kann auch von grub2 gebootet werden. Beachten Sie, dass findisostatt der iso-scan/filenameOption die Option verwendet wird, was darauf hinweist, dass das Booten von ISO als unterschiedliche Optionen in unterschiedlichen Distributionen implementiert ist.

(Menüeintrag "Grml small 2009.10" {
  Loopback-Schleife /boot/iso/grml-small_2009.10.iso
  linux (loop) / boot / grmlsmall / linux26 findiso = / boot / iso / grml-small_2009.10.iso apm = ausschalten lang = us vga = 791 boot = live nomce noeject noprompt -
  initrd (Schleife) /boot/grmlsmall/initrd.gz
}

Diese Seite enthält einige Beispiele für andere Distributionen, die von Grub2 booten.


OpenSUSE 13.1 Live von ISO booten

Hier ist die einzige Lösung, die funktioniert hat (alle anderen gaben mir die Meldung MBR-Kennung nicht gefunden und angehalten). In diesem Beispiel wird die ISO auf der dritten Partition der ersten Festplatte im Verzeichnis abgelegt /home/username/.

Menüeintrag "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 / benutzername / openSUSE-13.1-GNOME-Live-i686.iso'
  set loader = '/ boot / i386 / loader'
  Loopback-Schleife $ isofrom_system
  linux (loop) $ loader / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro quiet splash $ vt_handoff preloadlog = / dev / null showopts
  initrd (Schleife) $ loader / initrd
}

Quelle ist der Kommentar von janeppo .


Fedora 17 Gnome Live Iso

Hier ist der Eintrag für das Boot-Menü grub.cfg für Fedora 17. Die ISO-Datei befindet sich auf der dritten Partition der ersten Festplatte. Auch der Dateiname wird geändert.

Menüeintrag "Fedora Live" {
    Loopback-Schleife (hd0,3) /fedora.iso
    linux (loop) / EFI / BOOT / vmlinuz0 root = live: /fedora.iso rootfstype = automatisch liveimg leise rhgb rd.luks = 0 rd.md = 0
    initrd (hd0,3) / initrd-fromiso
}

Letzte Anmerkung: Ich denke, diese Antwort dient als Beispiel. Es sollte nicht mehr mit Beispielen ausgearbeitet werden.


Ich habe versucht, über Eintrag für Fedora 15, aber es hat nicht funktioniert. Irgendwelche Ideen?
Rahul Virpara

mein Eintrag wie folgt aussieht pastebin.com/1ksBVu21
Rahul Virpara

3

Hier sind die ISO-Dateien, die ich zum Booten verwendet habe grub2.

Ich habe folgende ISOs erfolgreich gebootet

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Starten Sie das Hardware Detection Tool
  • Kostenlose Dos
  • Hirens Boot-CD
  • Ultimative Boot-CD

Ich habe festgestellt, dass Sie ein MEMDISKDienstprogramm als Kernel verwenden können, wenn Sie andere ISOs wie Hirens Boot-CD usw. booten möchten .

Wo bekomme ich MEMDISK?

Laden Sie Syslinux hier herunter . Verschieben Sie es auf den Desktop.

Wie funktioniert es?

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 

Dann fügen Sie die folgenden Einträge in gedit ein. Du musst dich ändern set isofile="/path/to/iso-file.iso".

Dann ausstellen update-grub. Neustart und überprüfen.

Meine Einträge in der 40_customDatei.

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
}

Alle ISOs werden gehalten auf sda6/OSund MEMDISKist auf der Partition gehalten , wo Ubuntu (in root) und umbenannt installiert ist , memdisk4.05so Pfad ist/customboot/memdisk4.05

hinweis: fedora hat mit der anderen antwort nicht funktioniert. Ich versuche immer noch, Fedora zu booten :(.


Beachten Sie, dass beim Laden von ISO-Dateien mit memdisk und grub initrd16die ISO-Datei kleiner als 462 MB sein muss. Zugehörige Fehlermeldungen: grub: error: passendes Speicherziel nicht gefunden , memdisk: MEMDISK: Kein RAM- Disk-Image angegeben . Weitere Details finden Sie hier und hier .
gregn3

2

Leider hat mir keine dieser Empfehlungen geholfen. Also habe ich den Weg gefunden und würde ihn gerne mit Ihnen teilen. Zum Booten von Centos benötigen Sie beispielsweise: Legen Sie ein ISO-Image in das Verzeichnis. Wenn Ihr Root-Verzeichnis auf / dev / sda1 gemountet ist, dann erstellen Sie dir / iso und fügen Sie iso dort ein. Gehe zur Grub-Konsole (wenn das Menü Grub erscheint, drücke 'c'.)

Wählen Sie ein geeignetes Gerät - hd0 bedeutet sda. Sie müssen einen auswählen, in dem sich Ihre ISO befindet.

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

Und booten Sie es!


1

Was Sie fragen, ist hier ohne Thema, da es Kenntnisse dieser anderen Systeme erfordert, um in der Lage zu sein, Grub-Einträge einzurichten, um sie korrekt zu starten. Ja, es ist möglich.

Allerdings ... Sie werden feststellen, dass Multi System ein kompetentes Werkzeug ist, um sehr viele verschiedene ISO-Werte auf einem großen USB-Laufwerk zu speichern. Ich finde, dass es in der Tat sehr gut funktioniert, aber Sie müssen es von einem PPA installieren:

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

Ich benutze es, damit ich das Gparted LiveUSB und andere Tools sowie Ubuntu-Tools auf einem Laufwerk für InstallFests haben kann. Als Bonus erlaubt es einen benutzerdefinierten Begrüßungsbildschirm für das Menü, den ich als Logo für das australische LoCo-Team festgelegt habe.

Chris

Wie bereits erwähnt, verwendet Multisystem Grub2, um das zu tun, was Sie wollen. Da dieser Off-Topic-Thread erlaubt ist oder zumindest toleriert wird, ist hier der Fedora-Eintrag von meinem Multisystem 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
 }

Beachten Sie, dass Sie nicht direkt von der ISO booten können, da dies nicht unterstützt wird, wie dies bei Debian-basierten Distributionen der Fall ist. Sie benötigen die entpackten Dateien von der ISO, die auf der Festplatte verfügbar sind, wie folgt:

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

Sie müssen natürlich den Speicherort des Verzeichnisses / fedora / und die UUID der Partition ändern, von der Sie Fedora booten. Sie sollten wahrscheinlich auch den Mount-Modus von ro auf rw ändern, sowie alles andere, was angemessen ist, z. B. die Berechtigungen für die Squashfs.

Sie können wahrscheinlich auch eine virtuelle Persistenz-Festplatte einrichten, obwohl ich keinen Grund sehe, warum Sie Ihre normale / Home-Partition nicht mounten konnten. Auch hier kann ich nur vorschlagen, dass Sie Multidisk installieren und die Konfiguration selbst vornehmen, um zu lernen, wie dies funktioniert.

Chris


Die Frage ist, wie man einen Eintrag in bestehende erstellt und GRUB2nicht, wie man ein bootfähiges Pendrive oder eine externe Festplatte mit unterschiedlichen Distributionen erstellt. Übrigens erfordert es bessere Kenntnisse GRUB2als andere Distributionen, sodass es sich tatsächlich um Fragen handelt GRUB(da einige Distributionen immer noch GRUB verwenden) oder GRUB2.
Rahul Virpara

1
Ich würde sagen, dass das Erstellen von Grub-Einträgen für Distributionen wie Fedora, Centos und Suse viel mehr mit diesen Distributionen zu tun hat als mit Grub und mit Ubuntu überhaupt nichts zu tun hat.
Hersteller4

1
@virpara: Sie haben auch nicht angegeben, dass Sie ISOs von der Festplatte booten. Der vernünftigste Grund, verschiedene LiveISOs booten zu wollen, besteht darin, ein Gerät zu haben, auf dem alles installiert werden kann. Wir sind keine Mindreader oder Experten für andere Distributionen. Wenn Sie tatsächlich MultiSystem installieren und verwenden, um ein Pendrive auf diese Weise zu erstellen, wird Ihnen gezeigt, wie dies gemacht wird. Mit grub2 werden die gewünschten Ergebnisse erzielt.
Verarbeiter4

1

Scheint, als ob 13.04 eine andere Syntax erfordert, um dies zu erreichen. Hat jemand die Datei ubuntu-13.04-desktop-amd64.iso erfolgreich von einer physischen Festplatte gebootet und möchte die Grub-Syntax mit anderen teilen?

EDIT: Beantwortete meine eigene Frage. Muss vmlinuz in mvlinuz.efi umbenennen und es funktioniert.

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
}


0

Versuchen Sie es mit Multisystem, installieren Sie die gewünschten Live-CDs, kopieren Sie die Dateien auf Ihr / und fügen Sie die Datei grub.cfgs zusammen! (Eigentlich bin ich gespannt ob es klappen würde!).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.