Multiboot USB-Stick mit GRUB2

JetroNick

New member
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?
 
Wenn es die Startparameter für GRUB2 gibt, findest du sie wahrscheinlich, wenn du das Image mountest und dir die dortige grub.cfg anschaust.
Ich bin da aber etwas skeptisch. Bei ArchLinux wäre es Grub nicht möglich, die Lokalisierung zu ändern, da diese Info bei jedem Start aus Konfigurationsdateien gelesen wird, die zum Startprozess und zu Xorg gehören.
W/e, wenn dein derzeitiges DOS-Image nicht funktioniert, kannst du ja mal FreeDOS antesten.
An deiner Stelle würde ich vielleicht noch ein Linux in der 64-bit-Version auf den USB-Stick kopieren. Parted Magic finde ich außerdem auch sehr nützlich.

Etwas OT:
So einen Multiboot-Stick kann man auch prima erstellen, indem man mit Unetbootin erst aus einem Image (vorzugsweise eins mit Iso-/Syslinux, z.B. Parted Magic) einen bootfähigen USB-Stick erstellt und dann aus anderen ISOs jeweils Kernel, Initrd-Image und eventuell benötigte andere Dateien auf den USB-Stick kopiert. Da viele ISOs syslinux benutzen, kann man sich auch jeweils die syscfg-Einträge rauskopieren und auf dem USB-Stick nutzen.

Grüße,
mikar
 
Danke schon einmal für die Antworten.

@mikar:
Bei ArchLinux wäre es Grub nicht möglich, die Lokalisierung zu ändern, da diese Info bei jedem Start aus Konfigurationsdateien gelesen wird, die zum Startprozess und zu Xorg gehören.
Was meinst du denn damit genau mit Lokalisierung ändern?

Ich bräuchte einfach mal einen Menüeintrag (menuentry) für die DOS.iso, sowas in der Art, nur richtig:
Code:
menuentry "DOS" {
 loopback loop /boot/iso/DOS6.22.iso 
 chainloader +1
}

Mir ist nicht wirklich klar wie der "Startsyntax" sein muss.
 
Mit chainloader +1 schaut GRUB nach dem Bootloader nur im ersten Sektor von root bzw loop.
Probiers daher mal mit chainloader (loop)/IO.SYS.
Eventuell ist noch ein makeactive notwendig, sodass der Eintrag dann so aussähe:

Code:
menuentry "DOS" {
 loopback loop /boot/iso/DOS6.22.iso
 makeactive
 chainloader (loop)/IO.SYS
}

Wenn das nicht funktioniert, kannst du dir den Link hier mal durchlesen: http://www.linuxselfhelp.com/gnu/grub/html_chapter/grub_4.html#SEC21
Ist allerdings für GRUB1.
 
Hallo,

ich bin gerade auch dabei mir einen solchen USB Stick anzufertigen.

Ich bin nach der selben Anleitung vorgegangen wie im Eröffnungsthread (http://blog.p-mt.net/archives/644)

Frage:

Ich bekomme folgende Ausgabe nachdem Ich versuche GRUB zu installieren:
Code:
daniel@ubuntu:~$ sudo grub-install --no-floppy --root-directory=/media/Multiboot /dev/sdh1
/usr/sbin/grub-setup: warn: Es wird versucht, GRUB in eine Partition anstatt in den MBR zu installieren. Das ist eine SCHLECHTE Idee..
/usr/sbin/grub-setup: warn: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
/usr/sbin/grub-setup: error: Benutzen Sie --force, wenn Sie wirklich Blocklisten verwenden möchten..

Ein Ordner namens "boot" mit entsprechendem Inhalt wurde aber auf dem Stick erzeugt. Ist Grub somit "installiert" und Ich kann mit der Konfiguration des Sticks weiter machen?
 
Habe das mit dem Tool eben mal ausprobiert und muss sagen das ging wirklich schnell.
Habe mal probeweise einen USB Stick mit "PartedMagic" und "Ubuntu 10.04" erstellt und beide lassen sich ohne Probleme booten.
 
@Korfox: Danke für den Hinweis!

Scheint ja echt nicht schlecht zu sein mit dem Tool, zumal auch "Ultimate Boot CD" unterstützt wird. Ich werde es mal testen...

@Daniel: Ultimate Boot CD ist nicht schlecht, da ist auch Hitachi Drive Fitness Test und vieles mehr integriert, schaus dir mal an.
 
Was man noch dazu sagen muss ist das bei dem "Multiboot" Tool bereits einige Tools vorinstalliert sind: z.B. Super Grub Disk für Grub/Grub2 und viele andere. Muss heute Abend nochmal schauen welche genau. Das einzige was Ich gerade nicht hinbekomme ist den Splashscreen zu ändern. Format und Auflösung habe Ich berücksichtigt, trotzdem funktioniert es nicht.
 
Bei mir schlägt die Installation auf Ubuntu 9.10 leider fehl - hat wohl irgend ein Problem mit Grub. Ich vermute es setzt ein installiertes Grub2 voraus.
 
Habe mal versucht die Ultimate Boot CD 5.03 mit dem Tool aud einen Stick zum laufen zu bringen. Funktioniert bei mir leider nicht, es kommt die Fehlermeldung Error 15: File not found
Wäre nett, wenn ihr das mal testen könntet.
 
Leider nicht wirklich. Aber es gibt ein Multiboot-Tool KLICK. Habe auch im Moment nicht die Zeit da ausgiebig zu forschen.
 
Das Multiboot-Tool funktioniert leider auch nicht mit jedem Iso-Image/Live-Cd.
Immerhin mit Suse,Ubuntu,Xubuntu,Knoppix .usw

Trotzdem eine schöne Sache!
 
Das habe ich auch festgestellt - meine Parted Magic ISOs meckern ständig.
 
Moin moin,
ich möchte hier einmal ein kleinen Denkanstoss geben. Ich habe meinen 8GB Stick in Partitionen aufgeteilt. Ja das geht, im Arbeitsplatz wird dieser als „Lokaler Datenträger“ geoutet. Dies ist nur Möglich mit dem Programm Bootlt.exe von Lexar. Soll nicht mit jedem Stick gehen, bei mir ging dies bei Vieren (Hama, Intenso, Emtec, Transcend).
Partioniert habe ich dann mit Paragon, geht mit Sicherheit auch mit anderen. Ich habe nur eine Boot- u. Daten-Partition. Mit Sicherheit gehen auch noch mehr Partitionen und ein Boot-Manager (Paragon, PartitionMagic 7 o.8) ist Sicherlich ganz hilfreich.
Gruß Jan
 
Bin ein bischen unter Windows weitergekommen:

Downloadquellen
HP USB Disk Storage Format Tool
MultiBootISOs-2.1.4.6
Syslinux-3.60 (eine Datei hieraus wird für die Floppy-Images verwendet)
Grub4dos (eine Datei hieraus word für die Floppy-Images verwendet)
Virtual Floppy Drive
ISO-Buster

Ich habe mich ein bischen an diesen Anleitungen orientiert:
HOWTO: Multi – Boot – USB – Stick erstellen
USB Stick Bootfähig machen (inklusiv XP Setup)

Weitere Anleitung:
http://www.com-magazin.de/hefte/artikelarchiv/com-artikel/2007-6-multi-boot-vom-usb-stick.html

Für Linux-User ist vielleicht dies noch hilfreich:
Boot Multiple ISO from USB via Grub2 using Linux


Vorgehensweise
Zuerst mit dem "HP USB Disk Storage Format Tool" den Stick formatieren
Einstellungen

Auswahl vordefinierter ISO-Abbilder mit "MultiBootISOs-2.1.4.6"
Die Ultimate Boot CD habe ich mit MultiBootISOs-2.1.4.6 auf den Stick gepackt.
  • MultiBootISOs-2.1.4.6 starten
  • Stick-Laufwerk auswählen
  • In der Listbox "Ultimate Boot CD" auswählen und "Download the ISO" markieren (wegen einer aktuellen Virenwarnung habe ich das ISO direkt von der UBCD Homepage heruntergeladen)
  • Nach Download der ISO-Datei diese auswählen und "Create" anklicken.
  • Nach den Sicherheitsabfragen wird UBCD auf den Stick kopiert und in menu.lst eingebunden.
Wichtig:
Die downloads als ISO oder ZIP dürfen nicht umbenannt oder entpackt werden, sonst klappt die Einbindung in menu.lst und das Kopieren auf den Stick mit dem "MultiBootISOs-2.1.4.6" nicht.

Mit "MultiBootISOs-2.1.4.6" können weitere im Programm gelistete ISO- und gezippte ISO-Dateien eingebunden werden.

Manuell eingebundene ISO-Images
Einbinden der Acronis Trueimage Notfall-CD:
  • Erstellen eines ISO-Images der Notfall-CD
  • Kopieren der ISO-Datei auf den Stick
  • menu.lst um folgende Zeilen ergänzen:
    Code:
    title Acronis Notfall
    find --set-root /acronis-notfall.iso
    map /acronis-notfall.iso (0xff)
    map --hook
    root (0xff)
    chainloader (0xff)
Hiren's BootCD:
  • Das heruntergeladene Zip-Archiv entpacken und die ISO-Datei auf den USB-Stick kopieren.
  • Die menu.lst wird um folgende Zeilen ergänzt:
    Code:
    title Hiren's BootCD
    find --set-root /HirensBootCD.iso
    map /HirensBootCD.iso (0xff)
    map --hook
    root (0xff)
    chainloader (0xff)


Einbinden der Floppy-Images
  • Syslinux-3.60 herunterladen und entpacken
  • Aus dem Syslinux Verzeichnis die Datei /syslinux-3.60/memdisk/memdisk auf den Stick kopieren
  • Grub4dos herunterladen und entpacken
  • Nun die Datei „grldr“ aus dem grub4dos Verzeichnis auf den Stick kopieren.
  • Windows 98 Bootfloppy-Image herunterladen
  • Virtual Floppy Drive herunterladen und starten
    • "Install"
    • "Start"
    • Registerkarte "Drive0"
    • "Change"
    • Drive Letter: A:
    • "Persistent" markieren - OK
    • Open/Create
    • Voreinstellungen übernehmen (Image-Filename leer lassen)
    • Create
    • Das heruntergeladene Windows 98 Bootimage ausführen und nach "A:" extrahieren
    • In Virtual Floppy Drive (Registerkarte "Drive0") auf "Save"
    • Browse" und als "win98boot.img" speichern
    • In Virtual Floppy Drive (Registerkarte "Drive0") auf "close"
    • Registerkarte "Driver"
    • "Stop"
    • "Uninstall"
    • Programm beenden
  • Image auf USB-Stick kopieren und in der menu.lst ergänzen:
    Code:
    title Windows 98 Boot Disk 
    find --set-root /grldr 
    kernel /memdisk 
    initrd /win98boot.img

Einbinden der no-1802:
  • Extrahieren der no1802.img von der no-1802 - CD mit Hilfe des ISO-Busters auf den USB-Stick.
  • Erweitern der menu.lst durch folgende Zeilen:
    Code:
    title no-1802 
    find --set-root /grldr 
    kernel /memdisk 
    initrd /no1802.IMG

Einbinden der Rescue and Recovery Repair Media, um die Recoverypartition mit F11 bzw der Thinkvantage-Taste wieder booten zu können:
  • Die Floppy-Images rnr31_rrd.exe (W2K und XP) und/oder rnr40_rrd.exe (Vista) herunterladen und wie oben beschrieben auf die virtuelle Floppydrive extrahieren.
  • Anschließend die
  • virtuelle Floppy als rnr31.img bzw rnr40.img auf dem USB-Stick speichern und in der menu.lst folgende Ergänzung vornehmen:
    Code:
    title Rescue and Recovery Repair Floppy for W2K and XP
    #die "map" - Anweisungen sind wichtig, damit der MBR der HDD 
    #und nicht des USB-Sticks geschrieben wird
    #beim Booten ist ansonsten der Stick die HDD1 und die Festplatte HDD2
    # die "map"-Anweisungen vertauschen die HDD-Nummernmap (hd1) (hd0)
    map (hd0) (hd1)
    find --set-root /grldr 
    kernel /memdisk 
    initrd /rnr_31.img


Fortsetzung im nächsten Beitrag...
 
Zuletzt bearbeitet:
Fortsetzung:


Inhalt meines Multiboot-Sticks:
Code:
19.07.2010  21:00           236.923 grub.exe
05.11.2009  17:08                39 syslinux.cfg
05.01.2011  14:44             1.815 menu.lst
06.01.2010  20:00             9.704 splash.xpm.gz
01.12.2010  22:07            84.613 MultiBoot-USB-Creator-Copying.txt
23.12.2010  16:01             3.743 MultiBoot-USB-Creator-Readme.txt
12.07.2010  19:29                 0 liveusb
25.10.2010  21:52            14.604 full.menu.lst
05.01.2011  12:38         4.165.632 cd100627.iso
04.01.2011  15:03         1.474.560 win98btcd.IMG
05.01.2011  13:02    <DIR>          [BOOT]
05.01.2011  13:02    <DIR>          BOOT
05.01.2011  13:02    <DIR>          rescue
05.01.2011  13:03    <DIR>          systemrescuecd
04.01.2011  13:37        87.359.488 acronis-notfall.iso
05.01.2011  09:27             2.048 BootCatalog.cat
05.01.2011  09:27             2.048 BootImage.img
31.03.2009  22:20           217.769 grldr
04.01.2011  15:56       397.750.272 HirensBootCD.iso
04.01.2011  13:53            25.340 memdisk
05.01.2011  12:57               596 menu_lst-ergaenzung.txt
28.12.2010  18:14       155.189.248 pmagic.iso
05.01.2011  14:41       315.994.112 ubcd.iso
21.02.2006  03:24         1.474.560 no1802.img
05.01.2011  15:52         1.474.560 rnr_31.img
              21 Datei(en)    965.844.392 Bytes
               7 Verzeichnis(se),    530.579.456 Bytes frei
Code:
 Verzeichnis von G:\[boot]

05.01.2011  13:02    <DIR>          .
05.01.2011  13:02    <DIR>          ..
05.01.2011  09:44         1.474.560 Bootable_1.44M.img
05.01.2011  12:38             2.048 Bootable_NoEmulation.img
Code:
 Verzeichnis von G:\boot

05.01.2011  13:02    <DIR>          .
05.01.2011  13:02    <DIR>          ..
28.04.2010  13:13             2.048 BOOT.CAT
28.04.2010  13:13         1.474.560 MEMTEST.IMG
Code:
 Verzeichnis von G:\rescue

05.01.2011  13:02    <DIR>          .
05.01.2011  13:02    <DIR>          ..
05.01.2011  10:46       210.106.368 rescue.iso
Code:
 Verzeichnis von G:\systemrescuecd

05.01.2011  13:03    <DIR>          .
05.01.2011  13:03    <DIR>          ..
09.07.2010  00:21       221.188.096 sysrcd.dat
09.07.2010  00:21                45 sysrcd.md5
28.03.2010  17:33               876 usbstick.htm
30.06.2010  19:44            15.672 usb_inst.sh
09.07.2010  00:22                 6 version
05.01.2011  13:05    <DIR>          usb_inst
05.01.2011  13:05    <DIR>          ntpasswd
05.01.2011  13:05    <DIR>          isolinux
05.01.2011  13:05    <DIR>          bootprog
05.01.2011  13:05    <DIR>          bootdisk

Hier meine koplette menu.lst:
Code:
default 0
timeout 30
color NORMAL HIGHLIGHT HELPTEXT HEADING
splashimage=/splash.xpm.gz
foreground=FFFFFF
background=000000

# Suggested by Erhan Sohail
title Boot First Hard Drive (HDD)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (hd0)+1
rootnoverify (hd0)

title Restart
reboot

title Shutdown
halt

title --- Custom MultiBoot Entries ---
root

title Parted Magic (Partition Tools)
find --set-root /pmagic.iso
map --heads=0 --sectors-per-track=0 /pmagic.iso (hd32)
map --hook
root (hd32)
kernel /pmagic/bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us iso_filename=/pmagic.iso
initrd /pmagic/initramfs
map --unmap=0:0xff

title Windows 98 boot disk 
find --set-root /grldr 
kernel /memdisk 
initrd /win98btcd.IMG 


# Suggested by Gino Pilotino
title System Rescue CD
find --set-root /systemrescuecd/isolinux/rescuecd
kernel /systemrescuecd/isolinux/rescuecd subdir=systemrescuecd setkmap=us docache
initrd /systemrescuecd/isolinux/initram.igz

title Memtest86 
find --set-root /grldr 
kernel /memdisk 
initrd /BOOT/MEMTEST.IMG

title Acronis Notfall
find --set-root /acronis-notfall.iso
map /acronis-notfall.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

title Hiren's BootCD
find --set-root /HirensBootCD.iso
map /HirensBootCD.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)


title Kaspersky Rescue CD (Virus Scanner)
find --set-root /rescue/rescue.iso
map /rescue/rescue.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

title Offline NT Password & Registy Editor
find --set-root /cd100627.iso
map /cd100627.iso (hd32)
map --hook
chainloader (hd32)

title Ultimate Boot CD
find --set-root /ubcd.iso
map /ubcd.iso (hd32)
map --hook
chainloader (hd32)

title no-1802 
find --set-root /grldr 
kernel /memdisk 
initrd /no1802.IMG

title Rescue and Recovery Repair Floppy for W2K and XP
#die "map" - Anweisungen sind wichtig, damit der MBR der HDD 
#und nicht des USB-Sticks geschrieben wird
#beim Booten ist ansonsten der Stick die HDD1 und die Festplatte HDD2
# die "map"-Anweisungen vertauschen die HDD-Nummern
map (hd1) (hd0)
map (hd0) (hd1)
find --set-root /grldr 
kernel /memdisk 
initrd /rnr_31.img
 
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben