Ich habe eine CD, die aus einer ISO-Datei erstellt wurde, mit der ich eine benutzerdefinierte Version von Ubuntu über plop linux installiere.
Die CD funktioniert einwandfrei, aber ich möchte stattdessen ein bootfähiges USB-Laufwerk verwenden. Ich habe den Befehl dd verwendet, um den bootfähigen USB zu erstellen:
dd if=filename.iso of=/dev/sdb1 bs=4k
Jetzt kopiert dies die Dateien und macht den USB-Stick bootfähig, aber ich erhalte die Fehlermeldung "Fehlendes Betriebssystem"
Irgendwelche Ideen?
Antworten:
Ok, nach ein paar Recherchen habe ich eine Lösung gefunden und ich gehe sie Schritt für Schritt durch. Das Problem war zweifach.
Stecken Sie das USB-Flash-Laufwerk ein und bestimmen Sie das Gerät, auf dem es installiert ist, mit dem folgenden Befehl:
Dieses Mal war es / dev / sdc1 für mich, also werde ich das als mein Beispiel verwenden.
Hängen Sie das Gerät um
Ich bin mir nicht sicher, ob es notwendig ist, aber ich habe das Laufwerk für alle Fälle in FAT32 formatiert
Jetzt verwendete meine ISO Isolinux und nicht Syslinux. Ich wusste, dass es mit CDs funktioniert, und fand heraus, dass ich den isohybrid-Befehl aufrufen musste, mit dem eine ISO vom BIOS von einer Festplatte erkannt werden kann.
Weitere Informationen zu diesem Befehl finden Sie hier . Dies war jedoch die Ursache für die Meldung "Fehlendes Betriebssystem". Das erste Problem wurde behoben. Jetzt heißt es jedoch "isolinux.bin fehlte oder war beschädigt".
Der nächste Schritt ist das Kopieren der ISO. Mein zweites Problem lag hier, wo ich auf die Partition sdc1 kopierte, nicht auf das Gerät sdc.
Dies scheint gut zu funktionieren, aber in dem Forum, in dem ich die letzte Korrektur erhalten habe, wurde empfohlen, vor dem Abziehen des Geräts Folgendes zu tun:
quelle
mkdosfs
Befehl möglicherweise nicht erforderlich ist, da sich auf der ISO bereits ein Dateisystem befindet (wahrscheinlich einschließlich eines MBR, nicht sicher), das an den Anfang des Blockgeräts kopiert wird. Mann,isohybrid
ist ein cooler Befehl, wusste nichts davon!dd
Befehl in Schritt 5 löscht das neu erstellte Dateisystem mit dem Inhalt der ISO.pro
unter Linux, also danke)Dies ist ein häufiges Problem bei SanDisk-USB-Sticks oder Sticks, die nicht in FAT32 formatiert sind.
Wenn dies nicht der Fall ist, liegt dies höchstwahrscheinlich an Ihrer Stick-Partitionsreihenfolge oder an der Datei syslinux.cfg.
quelle
isohybrid
funktioniert möglicherweise nicht immer. Ich hatte zum Beispiel eine .iso-Datei mit FreeDOS und isohybrid konnte dort einige wichtige Dateien nicht finden (ich weiß nicht, ob sie von Syslinux, das ich auch verwendet habe, oder von irgendetwas anderem dort abgelegt werden sollten). Ich schlage hier mehrere Alternativen vor.1) Installieren Sie dort einen anderen Bootloader wie GRUB. Es wird hier erklärt :
"Angenommen, die erste Partition Ihres USB-Sticks ist FAT32 und die Partition ist / dev / sdy1" (Ich hatte
grub2
auf meinem Fedora Core, also habe ich die Befehle ein wenig geändert):2) FreeDOS Wiki bietet hier eine Compound-Methode mit GRUB und Syslinux an (obwohl ich nicht verstehe, wie sie gestartet wurden
grub>
- ich konnte bis zu diesem Zeitpunkt nicht vom USB booten).3) Hier ist ein Beitrag, der nützlich sein kann: Solange sich die Dateien command.com, kernel.sys, syslinux.cfg, ldlinux.sys und fat32lba.bss im Stammverzeichnis des Laufwerks und des MBR befinden und booten Sektor nicht neu geschrieben werden, sollte das Laufwerk bootfähig bleiben. '
4) Hier wird erklärt, wie eine bootfähige .iso-Datei mit einem Syslinux-Bootloader erzeugt wird. Sie benutzen nicht einmal Isohybrid. Leider hat mir das nicht geholfen (vielleicht wegen syslinux).
5 *) Verwenden Sie ein Windows-Programm über
wine
. Ich habe versucht, Rufus, aber das hat nicht funktioniert, es konnte das Gerät nicht finden.Ich warne Sie, dass ich dieses Problem leider nicht lösen konnte, mein Gerät war nicht bootfähig, aber ich hoffe, dass dies für andere Leute nützlich sein kann (auch für diejenigen, die kein Linux auf dem USB installieren wollen). Das von chtaube erzeugte USB-Image hat zwar für mich funktioniert, daher halte ich diese Methoden für richtig.
UPD: Die 3. Methode funktioniert wirklich (mit einer Korrektur für eine benutzerdefinierte Installationsdatei).
UPD2: (feste Verbindungen). Das Problem mit
isohybrid
war wahrscheinlich, weil die Versionen von isolinux.bin auf iso und meinem System unterschiedlich waren. Kompilieren Sie die ISOgenisoimage
wie hier vorgeschlagen :Es gab auch einige Probleme, die hier vor genisoimage mit der Methode gelöst wurden :
== UPD2 beenden ==
quelle
Sie könnten das
bootiso
Dienstprogramm verwenden , das genau das sicher macht:bootiso überprüft, ob das ausgewählte Gerät
/dev/sdb
über USB angeschlossen ist, und schlägt fehl, wenn dies nicht der Fall ist. Dies ist ein großes Sicherheitsplus. Es erkennt das USB-Gerät auch automatisch, wenn genau ein USB-Laufwerk an Ihr System angeschlossen ist.Wenn Sie den syslinux-Bootloader installieren möchten, um die von @xsdf genannten Probleme zu umgehen, verwenden Sie die folgende
-b
Option:So installieren Sie es:
quelle