Alternative zu Multisystem / Multiboot USB-disk erstellen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Alternative zu Multisystem / Multiboot USB-disk erstellen

Beitrag von r4pt0r » 17.01.2013 20:41:19

EDIT: Gelöst! -> http://debianforum.de/forum/viewtopic.p ... 79#p915179

Ich würde gerne für diverse Administrationsaufgaben einen USB-Stick mit mehreren Rettungs-/Livesystemen und setupimages (debian netinstall) erstellen - Idealerweise direkt mit den iso-dateien (macht das ersetzen bei updates einfacher)
Nach einigen Versuchen mit grub2 das manuell zu bewerkstelligen habe ich mich auf die Suche nach tools gemacht, die das automatisieren. Am vielversprechendsten sah dabei dann *eigentlich* Multisystem aus:
http://liveusb.info/dotclear/


Nach stundenlagem Haare raufen muss ich aber zu dem Schluss kommen: das Programm ist bestenfalls eine alphaversion oder einfach müll...
Getestet an 3 PCs - 1x debian squeeze notebook, 1x debian squeeze PC, 1x squeeze jungfräulich in einer VM. Am Desktop und in der VM startet das tool nichtmal - Startet man es als root bekommt man die Fehlermeldung "du bist nicht root" :roll: , als normaler user (per sudo und mitglied in gruppe "adm") bekommt man eine Fehlermeldung auf französisch (obwohl laut Konsolenausgabe als spracheinstellung und locale de_DE verwendet wird und beim ausführen als root eine Fehlermeldung auf deutsch erscheint...), in der Konsole von der aus man das Programm startet erscheint aber keine Fehlermeldung um irgendwie zurückzuverfolgen was das Problem ist - über die beim installieren angelegte Verknüpfung im menü startet das Programm überhaupt nicht.
Am Notebook läuft es mit viel gefrickel und ständigen error/warning meldungen im immer wieder neu öffnenden xterm-fenster und gefühlten 100 Abfragen nach dem sudo-Passwort. (Lokalisierung ist katastrophal - deutsch/französisch/englisch wild durcheinander und teilweise kryptische oder völlig unverständliche Übersetzungen).
Die erzeugte USB-Flashdisk ist dann aber bestenfalls in ca einem von 5 Versuchen auch bootbar, das bootmenü hat dann aber keine Einträge zu den einzelnen livesystemen - dann kann ich auch wieder manuell mit grub2 kämpfen...
Auch toll: beim deinstallieren versucht es /usr/local zu löschen, hinterlässt dafür aber diversen müll quer übers system verteilt da es (wenn es "läuft") absolut chaotisch mit dateien um sich wirft.

Kurzum: Gute idee, schrecklich programmiert und unbrauchbar

Daher meine Frage:
Kennt jemand ein funktionierendes Programm mit dem sich direkt aus den iso-Dateien ein multiboot-Datenträger erstellen lässt?
XDRIVE, YUMI und Sardo fallen aus, da sie nicht alle livesysteme unterstützen die ich nutze (dann renne ich wieder mit zusätzlichen CDs rum...)


Oder:
- Lässt sich per grub2 (das ja iso-Dateien direkt laden kann) anstatt die entsprechenden initrd/initramfs/init...-Dateien in den isos aufzurufen auch einfach die iso direkt aufrufen, sodass man in das originale bootmenü des jeweiligen livesystems kommt? Grub kann ja per chainloader direkt ans nächste bootlaufwerk verweisen - lässt sich hier eine iso als nächstes bootlaufwerk "einschleusen"?

- wenn jede iso auf eine separate partition entpackt wird, lässt sich grub dann mit automatischer erkennung vorhandener betriebssysteme und sammeln der entsprechenden bootimages installieren, wie dies z.b. bei der neuinstallation eines systems durchgeführt wird?
ein "grub-install" nutzt ja immer die grub-konfiguration des systems auf dem "grub-install" ausgeführt wird - also muss alles von hand ausgemistet und umgebogen werden.
Oder ließe sich nach kopieren aller isos auf einzelne partitionen ein minimalsystem auf einer partitiond es sticks installieren, um damit grub mit korrekten einstellungen für den stick einzupflanzen? Wobei dann noch immer das Problem mit den laufwerkzuordnungen bleibt - (hdx,y)-Zuordnungen stimmen ja dann am nächsten PC wieder nicht...
Gibt es so etwas wie einen "portable-modus" für die installation von grub der solche lokalen zuordnungen auslässt?


Der vollständigkeit halber - das ssoll alles auf den stick:
clonezilla
debian 6.0.6 amd64 netinstall
gparted live
grml64full
grml32full
rescatux
super grub disk
super grub disk hybrid (super grub2)
systemrescuecd
Zuletzt geändert von r4pt0r am 23.01.2013 11:39:00, insgesamt 1-mal geändert.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von syssi » 17.01.2013 21:10:24

Bei Yumi lassen sich auch nicht aufgefuehrte ISOs einfach ueber einen Dialog hinzufuegen. Bisher hatte ich damit keine Probleme.


r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von r4pt0r » 18.01.2013 09:37:16

Dann muss ich mir YUMI nochmal genauer anschauen - in der dokumentation klingt das nach der manuellen methode eigene einträge in der grub.cfg einzutragen wozu man erstmal die genauen Bootoptionen für Grub herausfinden muss (was nicht gerade einfach ist wenn andere Bootloader auf den live-CDs verwendet werden...)


@schwedenmann:
Den zweiten Link kannte ich schon, das ist die manuelle Variante über Grub2 bei der man dann die initrd und vmlinuz innerhalb des isos aufruft - dabei gehen mir dann aber sämtliche speziellen Bootoptionen verloren da ja nicht der eigene bootloader der CD angestoßen wird. Da alle einzelnen bootvarianten herauszuklauben und in die grub.cfg zu übertragen hat kaum/nicht funktioniert bei CDs die z.b. syslinux nutzen. die haben sich bisher erfolgreich geweigert per Grub2 zu booten :(
Auch die debian netinstall ließ sich damit nicht richtig booten. Für Live-CDs die sowieso Grub2 nutzen ist die Variante aber durchaus brauchbar, da man nur die Menüeinträge aus allen grub.cfg zusammenfassen muss.

Die beiden anderen Links beziehen sich wieder auf multisystem - damit bin ich definitiv durch...



Es ist wohl möglich mehrere Bootloader in verschiedene Partitionen zu stecken und per chainload hin und her zu springen. Diesen Ansatz werde ich weiterverfolgen in kombination mit der Fähigkeit von grub2 iso-images direkt aufzurufen. Notfalls müssen die Images in Unterverzeichnisse oder Partitionen entpackt werden, aber damit könnte ich auch noch leben solange ich nicht bei jedem Update wieder den "Haupt-Bootloader" umstricken muss.

r4pt0r
Beiträge: 1237
Registriert: 30.04.2007 13:32:44
Lizenz eigener Beiträge: MIT Lizenz

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von r4pt0r » 20.01.2013 15:56:00

Der Ansatz mit dem chainloader scheint zu funktionieren. Man erzeugt eine primäre partition (bootbar) mit korrekter ausrichtung (sektor 63) und installiert dort den grub2. Die grub.cfg kann man entweder per grub-config erzeugen oder besser von hand erstellen, da man sonst die config des aktuellen systems erhält.
Nachdem ich grub2 auf die schliche gekommen bin, dass es den USB-stick als fd0 erkennt, war die adressierung der Partitionen auch kein problem mehr.

In einer extended partition kann man dann jetzt in Logische partitionen die live-CDs stecken. Dabei am besten nach anleitung der jeweiligen live-distri vorgehen, aber (falls eine "installation" auf dem stick nötig ist) anstatt dem device die adresse der jeweiligen partition verwenden.
grml läuft schonmal, bei clonezilla bekomme ich noch die Fehlermeldung "Invalid signature", ich vermute hier beißt sich noch irgendwas mit dem Fat32 format, da grub auch erst in einer ext2-partition funktionieren wollte, clonezilla soll aber auf fat32 installiert werden... Werde ich kommende woche noch austesten bis es läuft. Hab momentan aber wieder mal probleme mit dem eigenen PC und den sch... nvidia treibern... :evil:




Update:
GRUB4DOS bringt eine perfekte Funktion mit: direktes laden einer iso in eine ramdisk, die im selben zug als device gemappt wird.

In der menu.lst sieht das dann z.b. folgendermaßen aus:

title debian-6.0.6-amd64-netinst.iso
find --set-root /debian-6.0.6-amd64-netinst.iso
map --mem /debian-6.0.6-amd64-netinst.iso (hd32)
map --hook
chainloader (hd32)


Funktioniert mit live-CDs anscheinend problemlos (systemrescuecd, grml und gparted-live kurz mal durchgebootet), aber der debian-installer lässt sich so leider nicht ausführen - der besteht auf ein CD-ROM. Mounten der Partition auf dem stick und des images funktioniert leider nicht, die mountfunktion des Installers scheint da beschnitten zu sein...


Update2:

Es läuft - und zwar einfacher als gedacht ;)

Hier mal kurz die vorgehensweise, dürfte evtl noch den ein oder anderen interessieren:

Verwendet wird GRUB4DOS - dieser basiert auf GRUB 0.97, hat aber einige nette zusatzfeatures spendiert bekommen die hierbei zum einsatz kommen..
Download: http://sourceforge.net/projects/grub4dos/
wiki: http://grub4dos.sourceforge.net/wiki/index.php (scheinbar ab und zu mal nicht erreichbar...)

Zum installieren einfach das archiv auf die (erste) Partition des USB-Sticks kopieren (vorher dateisystem erstellen - ext2/3 funktioniert genauso wie FAT32, evtl auch noch andere). Die Ausrichtung der Partition muss aber passen - in gparted sollte man dazu "ausrichten an zylinder" anstatt "MiB" auswählen. Sollte z.B. so aussehen:

Code: Alles auswählen

Disk /dev/sdb: 2088 MB, 2088763392 bytes
255 heads, 63 sectors/track, 253 cylinders, total 4079616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1168517e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      112454       56196   83  Linux
/dev/sdb2          112455     4064444     1975995   83  Linux
Gparted hatte bei mir auch einmal eine komplett "krumme" Partitionstabelle erstellt, bei der die erste Partition bei 34 anfing. Am besten mit fdisk kontrollieren bzw gleich per fdisk erstellen.

Zum installieren von GRUB4DOS in den MBR des Sticks die bootlace.com aufrufen: </mnt/usbstick>/bootlace.com /dev/<usbstick>

Die iso-images kopiert man nun einfach auf den Stick - das kann auch auf einer zweiten (dritten, vierten..) Partition sein, grub4dos sucht diese und setzt das entsprechende device als root. Der einfachheit halber habe ich die images um die versions- und architekturbezeichnung gekürzt und mir eine Textdatei angelegt in der die Versionsinfos und ggf noch eigene Kommentare stehen (z.b. die devicemaps und andere Details beider Server, damit ich im Notfall alles sofort griffbereit habe). Das hält die menu.lst einfacher und man muss sie nichtmal bearbeiten wenn man bei updates einfach die neue iso wieder entsprechend umbenennt.

Nun erstellt/bearbeitet man eine minimale menu.lst. bei mir sieht diese z.B. so aus:

Code: Alles auswählen

default 0
timeout 60
setgrubdevice
foreground black
background blue
color black/blue blue/black

title clonezilla.iso
find --set-root /clonezilla.iso
map --mem /clonezilla.iso (hd32)
map --hook
chainloader (hd32)

title debian amd64 netinst
find --set-root /debian/linux
kernel /debian/linux
initrd /debian/initrd.gz

title gparted.iso
find --set-root /gparted.iso
map --mem /gparted.iso (hd32)
map --hook
chainloader (hd32)

title grml.iso
find --set-root /grml.iso
map --mem /grml.iso (hd32)
map --hook
chainloader (hd32)

title rescatux.iso
find --set-root /rescatux.iso
map --mem /rescatux.iso (hd32)
map --hook
chainloader (hd32)

title super_grub_disk.iso
find --set-root /super_grub_disk.iso
map --mem /super_grub_disk.iso (hd32)
map --hook
chainloader (hd32)

title super_grub2_disk.iso
find --set-root /super_grub2_disk.iso 
map --mem /super_grub2_disk.iso (hd32)
map --hook
chainloader (hd32)

title systemrescuecd.iso
find --set-root /systemrescuecd.iso
map --mem /systemrescuecd.iso (hd32)
map --hook
chainloader (hd32)
Dank der Funkion "find --set-root" können die Images auf einer beliebigen Partition des Sticks liegen - Es wird nach der Datei gesucht und das entsprechende device als root-device gesetzt. Die jeweilige iso wird in eine Ramdisk geladen (dauert ein paar Sekunden), als hd32 gemappt und dann wird hd32 per chainload "gebootet".

sync, umount und man kann den Stick am nächsten Rechner ausprobieren. Wichtig ist nur, dass USB-Speicher als HDD-device, nicht als removable device (fd0) weitergereicht werden.


Zu Debian Netinstall:

Direktes Laden der iso funktioniert nicht, da der Installer beim einbinden des Installationsmediums so flexibel wie ein Granitblock ist: Er besteht auf eine CD...
Es gibt wohl die Möglichkeit, ein eigenes Image zu bauen, das Unterstützung für loopback-devices besitzt (loop.ko einbinden). Die einfachere Variante ist aber, sich einfach direkt die "initrd.gz" und "linux" Dateien des netinstallers zu ziehen (z.B. http://ftp.debian.org/debian/dists/sque ... ler/amd64/), auf den Stick (ggf unterordner) zu kopieren und direkt vom bootloader aus zu starten. Dabei hat man zwar keine Auswahl der installationsart (GUI, expert usw) mehr, aber wenn man sowieso immer die Non-GUI-expert-install nutzt spart man sich die Auswahl und kann direkt mit einer "normalen" installation loslegen.


Es gibt sicher noch dutzende andere Wege, der hier hat IMHO folgende Vorteile:
- minimalster installationsaufwand - dateien auf dne stick kopieren und bootlace.com ausführen, fertig.
- man kann beliebig viele live-systeme auf den stick packen - begrenzend ist nur die kapazität.
- Updaten besteht einfach nur aus dem austauschen der jeweiligen iso
- kein entpacken/installieren der livesysteme - iso draufkopieren, menu.lst eintrag erstellen, fertig
- der Stick kann noch weitere Partitionen für normale Daten oder installierte USB-Livesysteme beinhalten (geht bei einigen Varianten nicht)

HTH

Benutzeravatar
Strunz_1975
Beiträge: 2464
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von Strunz_1975 » 30.10.2014 19:49:24

Hi,

ich bin auch auf der Suche nach einer Alternative zu "Multisystem".

cu
Strunz_1975
Debian Bookworm

owl102

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von owl102 » 30.10.2014 20:33:05

@r4pt0r Erst einmal Danke für deine Ausführungen, IMHO ist das, was du dir gebastelt hast, eine interessante Alternative zum Ansatz von YUMI, welches ja mit Syslinux auf FAT32 funktioniert und jedes iso zum Hinzufügen auspacken muß, und das nach Regeln, die ggf. nach einem Distributionsupdate nicht mehr funktionieren und angepasst werden müssen. (Ok, wenn man einmal durch InstallDistro.nsh durchgestiegen ist, ist es nicht mehr so wild, aber man braucht eine Windows VM, um das ganze mit NSIS neu zu bauen, aber die Windows VM braucht man ja sowieso für YUMI, denn die Linux-Variante wird ja nicht gerade gehegt und gepfegt.)

Eine Frage habe ich:
r4pt0r hat geschrieben:Man erzeugt eine primäre partition (bootbar) mit korrekter ausrichtung (sektor 63) und installiert dort den grub2.
Wie ist hier "korrekte Ausrichtung" definiert, für wen oder was korrekt, wer braucht hier eine Ausrichtung an Zylindergröße? Hauptsache nach dem MBR ist noch genügend Platz, oder?

seltenheit
Beiträge: 4
Registriert: 11.10.2008 14:33:19

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von seltenheit » 22.05.2017 04:57:43

LMDE2 Betsy Maté 32 bit.


Werte Debianer,

die Frage nach dem momentan brauchbarsten USB-Multibootsystem stellt sich ja dauernd neu:
Bin auch nach Jahren von Multisystem auch - nach Dauereinsätzen - recht enttäuscht, da:

- Abhängigkeit von der z.T. unpraktischen GUI
- 3 x eine leere Liste >> mühsame Neuinstallation, obwohl die ISOs noch vorhanden waren!
- nervige Warterei aufs Entpacken und Bootloader-Neuschreiben
- unübersichtliche Auflistung (z.B. x-fach "debian" ohne klare Unterscheidung)
- falsche Größenangaben des freien Platzes
- Ablehnung von ca. 40% interessanter ISOs
- Ablehnung mehrerer Versionen einer Distri.


Habe nun im Forum von Linuxmintusers.de den rel. neuen X- / WIN- Hybriden EASY2BOOT (auf Basis von Grub4Dos + Grub2) ausführlich vorgestellt - und dafür z.T. Prügel bezogen, von eingefleischten Multisystem-Fans dort.
Bin jedoch weiterhin sehr angetan, was die praktischen Vorteile angeht, und möchte den Bekanntheitsgrad im deutschsprachigen Raum erweitern:

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

+ coole und leicht anpassbare Designs
+ installierbar als Win- oder X-Skript.
+ ISOs fast jeder Art werden - z.T. nach Vorbereitung - fast alle geschluckt.
+ Hinzufügen i.d.R. durch reines Kopieren auf den Stick.
+ Entfernen: einfach die ISO vom Stick löschen.
+ Der bootloader listet bei jedem Start die gerade vorhandenen ISOs auf.
+ Auch für Windows-Installations-DVDs geeignet.
+ Alle Distros kann man leicht in übersichtliche Menus packen.
+ Namen werden 1:1 übernommen und sind einfach editierbar.

+/- UEFI-Support: ?? unklar. / z.T. / experimentell; s. Homepage des britischen Autors Steve.

- Die ISOs MÜSSEN offensichtlich nach dem Draufkopieren einmal mit einem WIN-Programm defragmentiert werden, sonst Fehlermeldungen nach dem Booten.

Workaround:
Entweder in einem virtuellen Windows defragmentieren lassen ODER BESSER, da einfacher:
Hirens Boot CD als erstes sauber draufkopieren, damit das eingebaute MINI XP starten, damit dann auf dem Stick das Programm Make_This_Drive_Contiguous.cmd >> wincontig.exe ausführen lassen; läuft automatisch durch.


Bitte folgt dem Link, bei Interesse.
Dort findet Ihr Grafiken, Links zu den engl. Originalseiten und Tips vom Autor direkt.

Der Autor - Steve - kommt aus der Win-Welt und wäre sicher froh, von den Programmierern hier Schützenhilfe für eine weitere Migration zu erhalten bzw. zum Schnüren eines deb-Paketes.
Oder nach einer stabilen Möglichkeit zu suchen, von X aus die ISOs auf dem Stick defragmentieren zu lassen bzw. das Entstückeln ganz unnötig zu machen...


LG Seltenheit aus Aachen

Bild

Bild

Bild

Bild

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Alternative zu Multisystem / Multiboot USB-disk erstelle

Beitrag von schwedenmann » 22.05.2017 15:50:01

Hallo

Hier noch als Ergänzung ein funktionierendes Multibootcd/DVD script

https://multicd.us/

Einziger Nachteil, es werden imho nur die dort aufgefü+hrten Distris unterstützt, ansonsten muß man den Code anpassen, bzw. um die neue distri erweitern.


mfg
schwedenmann

Antworten