Multiboot USB-Stick mit GRUB2

JetroNick

New member
Themenstarter
Registriert
11 Jan. 2007
Beiträge
1.544
Hallo zusammen,
ich möchte mir einen Multiboot USB-Stick erstellen. Welcher verschiedene Tools und Linux-Distributionen bootet. Die Tools und Distris liegen als iso-File vor.
Da ich in den letzten Jahren doch immer wieder mal gefragt worden bin, "schau doch mal nach meinem Rechner" hab ich mir überlegt das es praktisch wäre, wenn man alle benötigten Test-Tools auf einem bootbaren USB-Stick wären. Daher hab ich mir mal ein paar Gedanken gemacht, vielleicht wäre es für dein ein oder anderen von Euch auch nützlich oder interessant.

Diese Tools sollen mittels Grub2 Bootloader geladen werden:
- Ubuntu 10.04 Download-Quelle
- memtest86+ 4.10 Download-Quelle
- DFT (Hitachi Drive Fitness Test) Download-Quelle
- DOS6.22 Download-Quelle
- DOS6.22 ohne HIMEM für BIOS-Updates
- NO-1802/01C9 Next Generation Patchset - BootCD Download-Quelle - Antivir Rescue CD Download-Quelle - ....

Der Stick befindet sich noch im "Aufbau", ich habe noch ein paar Probleme die DOS.iso und DTF.iso zu starten, wäre nett wenn ihr mir da helfen könntet.

So bekommt man Grub2 unter Ubuntu auf den Stick:
Code:
# Sofern nicht bereits  vorhanden, Grub2 (Version 1.9.7) auf dem Rechner installieren 
sudo  apt-get install grub2  

# Device des USB-Sticks (z. B. mit "df -h"  ermitteln)
DEVICE=/dev/sdb 
USB_LABEL=MultibootUSB 

# Dateisystem auf  USB-Stick erstellen 
sudo mkfs.vfat -n $USB_LABEL ${DEVICE}1   

#  USB-Stick mounten 
mount ${DEVICE}1 /media/$USB_LABEL 

# Grub2 auf  USB-Stick installieren grub-install --no-floppy  --root-directory=/media/$USB_LABEL ${DEVICE}
Quelle

Dann muss auf dem Stick unter /boot/grub/ die Datei grub.cfg erstellt werden:
Code:
vim /media/$USB_LABEL/boot/grub/grub.cfg

In der Datei grub.cfg müssen dann die passenden Menüeinträge erstellt werden, und da fängt es dann an, wo ich hilfe brauche.
(alle iso-Dateien liegen unter /boot/iso/)

Hier der Eintrag für Ubuntu, wünschenswert wäre noch das Ubuntu mit deutschen Tastaturlayout und Oberfläche startet, weiß da jemand die Bootparameter?
Code:
menuentry "Ubuntu 10.04 LTS" {
 loopback loop /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 lang=de
 initrd (loop)/casper/initrd.lz
}

memtest86+ Eintrag: (habe die bin-Datei genommen, da ich es mit der iso-Datei nicht hingebracht habe)
Code:
menuentry "Memtest86+ 4.10" {
	linux16 /boot/iso/memtest86+-4.10.bin
}

So nun bin ich noch nicht weiter, die DOS.iso und die dft.iso habe ich noch nicht geschafft zu booten zu überreden, könnt ihr mir da weiterhelfen?
 
Code:
dd if=/pfad/zum/supergrub2-image of=/dev/sdX bs=1M # wobei du das X in sdX noch anpassen musst
Schon ist es auf dem Stick.
Falls jetzt noch andere Sachen auf den Stick sollen musst du bei der Partitionierung und ggf. Installation nur beachten nicht die ersten 12MB zu überschreiben.
 
Hallo hikaru,

wie kann ich das Supergrub2 Image mit meinem Grub2 ISO USB Boot Stick einbinden?
Mit deinem Befehl zerstöre ich meine vorhandene Installation.

Datei "super_grub2_disk_hybrid_2.00s1-beta6.iso" von hier:

http://www.supergrubdisk.org/2013/08/22/super-grub2-disk-2-00-beta-6-released/

Code:
sudo dd if=/home/xsid/super_grub2_disk_hybrid_2.00s1-beta6.iso of=/dev/sdb bs=1M

Deine Vorgeschlagene Lösung funktioniert ansonsten sofort, superschnell.

MfG

xsid
 
Zuletzt bearbeitet:
wie kann ich das Supergrub2 Image mit meinem Grub2 ISO USB Boot Stick einbinden?
Im Grunde sollte das wie bei jedem anderen Iso auch über die grub2-loopback-Option gehen. Ich habe das allerdings nie getestet und momentan wüsste ich auch nicht wo auf der supergrubdisk der Kernel liegt und ob man den überhaupt zwingend mitgeben muss.

Supergrub als Iso-Datei auf einem Multibootstick zu haben ist aber eher eine seltsame Konstruktion, da ja Supergrub eigentlich als "Host" für so einen Stick konzipiert ist. Deine anderen Isos müsstest du dann nur noch im Ordner /boot/boot-isos des Sticks ablegen und Supergrub kümmert sich um den Rest.
 
Hallo,

es ist ein Notfall- Installation- USB-Werkzeug.

SuperGrub2 kann doch keine Iso booten, oder wie geht das?

MfG

xsid
 
SuperGrub2 kann doch keine Iso booten, oder wie geht das?
Wie gesagt, lege die Isos auf dem Supergrub-Stick einfach im Ordner /boot/boot-isos ab. Dann kannst du sie aus dem Supergrub-Menü heraus booten.
Um die Isos dort ablegen zu können musst du vorher die Partition von Supergrub vergrößern. Das sollte u.a. mit Gparted gehen. Details habe ich gerade nicht zur Hand, da ich das im Moment nicht testen kann.
 
Hallo hikaru,

auf die Partition von SuperGrub2 erstellt, "ISOIMAGE" kann ich nicht mal mit Dolphin zugreifen.
Gparted kennt das Dateisystem auch nicht.

Nicht mal löschen habe ich mit Gparted erledigen können, das Windows "HP USB Storage Tool" konnte es.

http://www.chip.de/downloads/HP-USB-Disk-Storage-Format-Tool_23418669.html

Hast Du weitere Links wie ich mit Supergrub2 iso booten kann?

MfG

xsid
 
Zuletzt bearbeitet:
Ich vermute die Firmware funktioniert ähnlich wie Supergrub und wird alle gefundenen Isos auf Bootrecords anlesen, bzw. da man da wohl ein bestimmtes Iso am integrierten Display auswählen kann wird wohl nur das gelesen werden.
So wie ich die Beschreibungen und Tests verstanden habe, emuliert die Zalman-Firmware ein USB-CDROM in welches die ISO Datei virtuell eingelegt wird.
 
auf die Partition von SuperGrub2 erstellt, "ISOIMAGE" kann ich nicht mal mit Dolphin zugreifen.
Ich war mir nicht sicher, ob (G)parted etwas mit iso9660-Dateisystemen anfangen kann. Offenbar wohl nicht.
Mit growisofs sollte es aber möglich sein weitere Dateien zum Stick hinzuzufügen. Ob das nur auf dem Image oder auch noch auf dem fertigen Stick geht müsste ich erst überprüfen.

Eine andere Möglichkeit könnte sein, Supergrub mit Unetbootin auf den Stick zu schreiben. Dabei könnte man vorher eine Partition erstellen die groß genug ist um weitere Images zu halten. Ob Supergrub aber irgendwelche Spezialitäten hat die durch Unetbootin kaputt gingen weiß ich nicht.


So wie ich die Beschreibungen und Tests verstanden habe, emuliert die Zalman-Firmware ein USB-CDROM in welches die ISO Datei virtuell eingelegt wird.
Richtig. Dazu muss sie aber von der verbauten Festplatte lesen können, und das geht wohl nur mit fat/ntfs auf mbr, nicht aber mit z.B. ext3 auf gpt.

Technisch stelle ich mir das Gerät so vor, dass da ein ARM- oder MIPS-SoC drin steckt auf dem ein Embedded-Linux wie z.B. OpenWrt (was aber vermutlich schon zu hoch gegriffen ist - eigentlich reicht ein nackter Kernel) läuft. Das loop-mountet dann das Image von der HDD und stellt diesen loop-mount nach außen als DVD-Laufwerk dar.
Um auf die HDD zugreifen zu können braucht es gewisse Treiber. Und da wird man sich aus Platz- und Performancegründen auf das absolut noch verkäufliche Minimum beschränken, was eben in einer "Windowswelt" fat, ntfs und mbr sind.
 
Hallo,

dieser Zalman ZM-VE300 und Zalman ZM-VE400 sieht ja gut aus, aber irgendwie traue ich den Werbversprechungen nicht.
Da ist bestimmt was faul.
Wie soll der Zalman alle menuentry für die iso kennen?
Aus isos analog eines DVD / CD Brenner ein virtuelles DVD / CD Laufwerk herstellen, dafür wird der Preis zu günstig sein.

MfG

xsid
 
Dazu muss sie aber von der verbauten Festplatte lesen können, und das geht wohl nur mit fat/ntfs auf mbr, nicht aber mit z.B. ext3 auf gpt.
Es ist ein 2,5" Gehäuse, da gibt es noch nicht so viele Platten, welche zwingend GPT benötigen ;)
Auf eine 1TB Platte passen ca. 200 DVDs, da könnte ich auch mit relativ lahmen Zugriff auf NTFS von Linux aus leben weil ich nicht dauernd die "Sammlung" anpassen müsste.
 
Wie soll der Zalman alle menuentry für die iso kennen?
Das muss er nicht. Alles was er können muss ist ein loop-Mount.

Mach mal das als root auf deiner Linuxkiste:
Code:
mount -o loop /pfad/zu/irgendeinem/iso /media/cdrom
Jetzt kannst du dir mit einem Dateimanager deiner Wahl die Inhalte des Isos anschauen wie bei einer echten CD/DVD. Und oberhalb des Kernels weiß nicht mal jemand dass es nur ein Image ist.
Wenn das Zalman-Teil so funktioniert wie ich vermute macht das intern nichts anderes. Es muss keine Bootloader-Menüeinträge kennen. Wenn du so eine Intelligenz auf dem Gerät haben willst musst du die genauso selbst zurechtbasteln wie bei deinem Multiboot-Rettungsstick.
 
Hallo H,

funktioniert leider nicht, nur lesemodus.

Code:
sudo mount -o loop /home/xsid/super_grub2_disk_hybrid_2.00s1-beta6.iso /media/temp
mount: blockorientiertes Gerät /home/zxz/super_grub2_disk_hybrid_2.00s1-beta6.iso ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus

SuperGrub2 ist superhartnäckig.
/media/temp habe ich genommen, weil das Folder angelegt war.

Ist aber interessant anzusehen, nur ein paar Nummern zu hoch für mich.

Wie unmounte ich das iso wieder?
Antwort:
Code:
sudo umount  /media/temp



Eigentlich möchte ich das "super_grub2_disk_hybrid_2.00s1-beta6.iso" nur auf meinen USB Stick kopieren und irgendwie booten.


MfG

xsid
 
Zuletzt bearbeitet:
funktioniert leider nicht, nur lesemodus.
Das ist normal. CD-Dateisysteme sind nicht dafür ausgelegt vom User beschrieben zu werden. Deshalb braucht man Brennprogramme und deshalb ist das mit dem Modifizieren des Isos so umständlich.
Ich kann dich für den Moment nur an die Manpage von genisoimage verweisen falls du noch spielen willst. Am (sehr) späten Abend kann ich vielleicht etwas leichter verdauliches anbieten.
 
Hallo hikaru,

hier habe ich etwas aus der UBCD 5.26

/UBCD526/ubcd/menus/grub4dos/hdd/bootmgmt.list

Code:
title Super Grub2 Disk V2.00 beta 5\n Helps you boot into various operating systems, and optionally installs Grub2\n on your hard disk as the default boot manager.
map --mem /ubcd/images/sg2d.iso.gz (0xff)
map --hook
root (0xff)
chainloader (0xff)

Damit kann ich Super Grub2 nutzen, nur verstehe ich die UBCD nicht so richtig.
Die ist sehr verschachtelt. Im Verzeichnis von /UBCD526/ubcd/menus/grub4dos/hdd/
sind die HDD-Tools-Konfigurationen enthalten. Die UBCD ist interessant aufgebaut.
Das sg2d.iso.gz enthält das sg2d.iso, 3,1 MB auf 11 MB.

MfG

xsid
 
Zuletzt bearbeitet:
Ich nehme bezüglich Supergrub alles zurück und behaupte das Gegenteil. :unsure:
Unetbootin erzeugt keine bootfähigen Supergrub-Sticks, das Supergrub-Image habe ich nicht geschafft zu remastern (entweder kriege ich keine weiteren Isos unter oder ich verliere die Bootfähigkeit). und einfach die Isos auf eine zweite Partition auf dem selben Stick zu schmeißen und diese dann über die Autodetect-Funktion von Supergrub einzubinden funktioniert nicht, da Supergrub dort nicht in die Images schaut.
Das einzige wovon ich sagen kann dass es geht (weil ich es selbst benutze) ist auf dem Supergrub-Stick ein OS in eine zweite Partition zu installieren und das von Supergrub aus zu booten.

Dass die DB auf der das Supergrub-Wiki liegt gerade eine Macke hat und nur Fehlermeldungen wirft ist auch nicht wirklich hilfreich.
 
Du wirst doch sicherlich auch die UBCD 5.26 haben, vielleicht findest Du da Ansätze?
Vielleicht hiermit anfangen sg2d.iso.gz ?
 
Nein, tut mir leid, die UBCD habe ich mir bisher nie angesehen. Ich bin da etwas "religiös" was unfreie Software angeht und bisher hatte ich noch keinen Grund UBCD zu benutzen.
Ich kann da aber gern mal bei Gelegenheit einen Blick drauf werfen.
 
Hallo Bootler,

jetzt habe ich etwas gefunden:

http://www.linuxmintusers.de/index.php?topic=7940.0

Code:
#http://www.supergrubdisk.org/
#http://developer.berlios.de/project/showfiles.php?group_id=10921
#SG2D (Floppy, CD & USB in one)
#super_grub_disk_hybrid-1.98s1.iso
menuentry "Super Grub2 Disk" {
search --set -f /boot/img/sgdh.iso
	linux16 /boot/syslinux/memdisk
	initrd16 /boot/img/sgdh.iso
}
menuentry "Super Grub Disk" {
search --set -f /boot/img/sgdfr.img
	linux16 /boot/syslinux/memdisk
	initrd16 /boot/img/sgdfr.img
}

Was muß in /boot/syslinux/ alles enthalten sein?

Syslinux heißt wohl der Schlüssel, wie richte ich grub2 im Chainloading mit Syslinux auf dem USB Stick ein?

MfG

xsid

Edit, es wird so langsam:

Mit folgendem menuentry für Grub2 kann ich die Suprgrub2 Disk booten:


Code:
#http://www.supergrubdisk.org/
#http://developer.berlios.de/project/showfiles.php?group_id=10921
#SG2D (Floppy, CD & USB in one)
#super_grub_disk_hybrid-1.98s1.iso
menuentry "Super Grub2 Disk" {
search --set -f /boot/iso/super_grub_disk_hybrid-1.98s1.iso
	linux16 /boot/syslinux/memdisk
	initrd16 /boot/iso/super_grub_disk_hybrid-1.98s1.iso


Den Ordner syslinux habe ich mir von einer XBOOT Live CD geklaut.
Mit qemu kann ich das SuperGrub2 Image booten, so richtig mit Hardware funktioniet es nicht.
Boote ich live mit dem Stick, kann ich mit Grub2 das Supergrub2 Image starten, es bootet, dann sehe ich "grub" von Supergrub2 und der Rechner startet neu.

Woran kann das liegen?

Ist es evtl. doch besser erst den Syslinuxbootloader und dann Grub2 zu nehmen, wenn erforderlich?

Um für alle Eventualitäten gerüstet zu muß man wohl drei Bootloader, grub2, grub4dos und syslinux als Bootloader verfügbar haben.


Edit: 29.10.2013

Beispiel menuentry mit timeout, hier openELEC 3.2.3

/boot/grub/grub.cfg

Code:
set default='0'; if [ x"$default" = xsaved ]; then load_env; set default="$saved_entry"; fi
set timeout=2
menuentry "OpenELEC.tv" {
    search --no-floppy --fs-uuid --set=root 891c43df-b2ee-441f-9bd2-be49b7357d97
    linux /KERNEL boot=UUID=891c43df-b2ee-441f-9bd2-be49b7357d97 disk=UUID=3ac0d670-71b4-4d20-baa1-f8f9a93e86fa quiet
}

menuentry "OpenELEC.tv (Textmode)" {
    search --no-floppy --fs-uuid --set=root 891c43df-b2ee-441f-9bd2-be49b7357d97
    linux /KERNEL boot=UUID=891c43df-b2ee-441f-9bd2-be49b7357d97 disk=UUID=3ac0d670-71b4-4d20-baa1-f8f9a93e86fa textmode quiet
}

menuentry "OpenELEC.tv (Debugmode)" {
    search --no-floppy --fs-uuid --set=root 891c43df-b2ee-441f-9bd2-be49b7357d97
    linux /KERNEL boot=UUID=891c43df-b2ee-441f-9bd2-be49b7357d97 disk=UUID=3ac0d670-71b4-4d20-baa1-f8f9a93e86fa debugging textmode quiet
}


Menuentry für Lubuntu 13.10:

Code:
menuentry "Lubuntu 13.10 Live amd64" {
  loopback loop /boot/iso/lubuntu-13.10-desktop-amd64.iso
  linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/lubuntu-13.10-desktop-amd64.iso locale=de_DE console-setup/layoutcode=de noeject noprompt nopersistent --
  initrd (loop)/casper/initrd.lz
}
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben