ubuntuusers.de

Was macht GParted mit meinem USB-Stick?

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

gabi

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 1996

Wohnort: NRW

Dieter Pete schrieb in "Rund ums Wiki" zu Live-USB:

Moin moin. Hab das Tutorial nun schon einige Male durch geführt und mit anderen Tuts modifiziert. Leider keine Erfolg gehabt. Nun hab ich schon des öfteren gelesen, dass Live-USB Sticks auf dem einen Rechner funktionieren und auf einem andren komischerweise nicht (obwohl USB bootfähig) - also scheinbar Hardwareseitiges Problem. Nun hab ich mich schon fast damit abgefunden, allerdings hab ich noch eine Stelle im Tut gefunden, die ich nicht ganz verstanden habe. Evtl ist das ja sogar mein Problem.

Andernfalls liegt es daran das die Partition als Festplatte und nicht als Floppydisk Partitioniert ist. Dies kann man erreichen indem an die Partition von auf dem Stick von /dev/sdX1 über den Umweg der Lokalen Festplatte nach /dev/sdX verschiebt, dazu einfach folgende Befehle anpassen und ausführen:

sudo dd if=/dev/sdX1 of=./Desktop/usb-stick.img bs=10M

sudo dd of=/dev/sdX if=./Desktop/usb-stick.img bs=10M

Heißt das jetzt, dass der USB-Stick als HDD, oder als FDD erkannt werden soll. Bei mir wird er im Bootmenü als USB-FDD angegeben. Falls ich das mit dem oben angegebenen Befehl ändern sollte, dann würde ich gerne mehr über diesen Befehl wissen, denn das leuchtet mir nicht ganz ein, was dort passiert (scheinbar nur hin- und herkopiere). Außerdem noch, wann genau ich diesen Befehl ausführen sollte (auch noch nach allen Installationen möglich)

Mein System: Scheiß Gericom Schlepptop, (möchte gern) Ubuntu 8.10.


Wenn von USB gebootet werden kann, ist jeder USB-Stick bootbar, vermute ich.

Um das zu ergründen, könnte man von einem leeren Stick ausgehen:
dd if=/dev/zero of=/dev/sdx bs=512 count=63

1. Fall: Leerer Stick. Mit GParted partitioniert (gleich ob mit einer oder mehreren Partitionen). Der Stick ist als Floppy formatiert. Der Stick startet mit:

This is not a bootable disk. Please insert a bootable floppy and
press any key to try again ...

Diese Message kommt aus dem Sector 63. Der Stick bootet.

2. Fall: Leerer Stick. Mit GParted partitioniert. Und ein MBR installiert. Der Stick ist vermutlich als HD formatiert. Der Stick startet mit: ???

Wenn der Stick nicht leer ist, ist der aktuelle Zustand entscheidend. Der Stick kann von Sector 0 (MBR) booten und melden: "Missing operating system.", oder von Sector 0 (MBR) booten und zum Boot-Sector (Sector 63) springen und dort eine bestimmte Datei (zB command.com) erwarten, oder von Sector 63 booten. Werden die Partitionen gelöscht, und mit GParted neu partitioniert, ändert sich an dem Bootprozeß nichts, vermute ich.

technohead

Avatar von technohead

Anmeldungsdatum:
1. April 2007

Beiträge: 869

habe das zwar noch nicht selber ausprobiert, aber alles was ich bisher dazu gelesen habe, deutet darauf hin, das zunächst der Ziel-Computer für die Installation von USB bootbar sein muss (BIOS ab ca 2002) und dann benötigt man eine Installations-CD seines Wunschsystems und das dazugehörige Script

http://www.pendrivelinux.com/

Aber ich würde weil die Flash-Drives zu langsam sind, niemals versuchen ein Betriebssystem auf einem 8 GB USB-Stick zu installieren um damit zu arbeiten.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6488

Wohnort: Hamburg

Wenn von USB gebootet werden kann, ist jeder USB-Stick bootbar, vermute ich.

Denke ich auch, sofern er entsprechend formatiert wurde und einen ausführbaren Bootsektor hat.

Diese Message kommt aus dem Sector 63. Der Stick bootet.

Der Sektor 63 scheint hier der erste Sektor (Bootsektor) der ersten Partition zu sein. Welcher Sektor das im Einzelfall ist, hängt davon ab was der Stick sagt wieviele Sektoren Pro Spur er hat. Ein ordentliches Partitionierungsprogramm lässt eine Partition gerne mit einer neuen Spur beginnen.

2. Fall: Leerer Stick. Mit GParted partitioniert. Und ein MBR installiert.

Mit dem MBR alleine bekommst du noch kein richtiges OS gebootet. Ausser MS-DOS, da wurde glaube ich blind die erste Datei im Dateisystem gestartet. Das war dan wohl der Grund warum msdos.sys die erste Datei auf einer Bootbaren Diskette sein muste.

Bei Festplatten bzw. Medien die sich als solche ausgeben, ist das komplizierter. Allerdings hat man da auch mehr Möglichkeiten zusätzlichen Programmcode zu verstecken. So liegt z.B. ein Teil von Grub hinter dem MBR im ansonsten freien Platz bis zum Start der ersten Partition.

Ich bin da gerade wegen des Beitrags mit-grub-eintrag-von-cd-booten wieder mal am nachforschen und spiele gerade mit einigen alten USB Sticks und SD Karten rum.

Das Thema ist jedenfalls interessant. Allerdings habe ich noch nicht begriffen worauf du hinaus willst. Scheint bei dir auch nur reine Neugier zu sein.

jot_es

Anmeldungsdatum:
23. August 2008

Beiträge: 51

technohead schrieb:

Aber ich würde weil die Flash-Drives zu langsam sind, niemals versuchen ein Betriebssystem auf einem 8 GB USB-Stick zu installieren um damit zu arbeiten.

Oh, das geht sogar sehr gut! Die einzige Voraussetzung ist, wie Du schon angedeutet hast, ein schneller(er) USB Stick. Ich habe hier einen 4GB Kingston Traveller, der macht gemessene (mit h2_irgendwas von der c't) 6MB/s da merke ich eine minimale Verzögerung. Im Moment läuft testweise Xubuntu, bis gestern Knoppix 6.0.

Man darf natürlich keinen Hyper-Mega-Super-5-Euro-Stick aus der MeckerMarkt-Grabbelkiste nehmen, die sind extrem grottig für diese Zweck. Ein OCZ-Rally2 (12-15MB)oder ein Corsair Voyager darfs schon sein. Die 16 GB Variante gibts schon für unter 30 Euronen.

Grüße

Jürgen

.... der mit USB-Stick seinen Firmenlaptop bootet 😀

technohead

Avatar von technohead

Anmeldungsdatum:
1. April 2007

Beiträge: 869

@jot es - habe hier einen 8 GB von EMTEC (EKMMD8GC200) mit angeblichen 10 MB/s rumliegen und wollte ihn ursprünglich genau für so etwas einsetzen, allerdings bootet mein PC nicht über USB....

gabi

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2006

Beiträge: 1996

Wohnort: NRW

Allerdings habe ich noch nicht begriffen worauf du hinaus willst. Scheint bei dir auch nur reine Neugier zu sein.


neue Festplatte: mit GParted partitionieren, Grub installieren: die Festplatte bootet.
alte Festplatte: mit GParted partitionieren, Grub installieren: die Festplatte bootet.

Mit USB-Sticks ist das ein wenig anders:

1. Fall: leerer Stick. Mit GParted partitionieren. Was wird daraus, eine USB-Floppy?
2. Fall: leerer Stick. Mit GParted partitionieren. Und einen MBR installieren. Was wird daraus, eine USB-HD?
3. Fall: alter Stick (im Auslieferungszustand oder sonstwie):

Kann man unter Linux prüfen, ob als USB-Floppy oder als USB-HD formatiert ist?
GParted wird den Stick nicht verändern: hat der Stick zb einen MBR, der nichts bootet, oder hat der Stick einen MBR, der DOS1.0 booten will und die passenden DOS-Systemdateien fehlen, bootet der Stick kein OS.

Live-USB mit syslinux als bootloader. Unter welchen Voraussetzungen funktioniert das? Im Wiki heißt es, wenn "Operating System not found" gemeldet wird (meldet das der MBR oder der Bootsektor der Partition?), solle man den Typ der Partition von Festplatte auf Floppy ändern. Die Befehle dazu (oben zitiert) möchte Dieter Pete erklärt haben.

Vielleicht wäre es sinnvoll, den gekauften Stick zu löschen, und neu einzurichten: dann weiß man, was man hat (wenn man wüßte, was GParted (und andere tools) mit einem USB-Stick so machen).

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6488

Wohnort: Hamburg

Kann man unter Linux prüfen, ob als USB-Floppy oder als USB-HD formatiert ist?

Das kann man bestimmt irgendwie, allerdings müste man dazu die Formate der Bootsektoren genau kennen. Ich habe mal versucht das herauszubekommen, aber die gefunden Beschreibungen lassen nicht sofort erkennen welches Kriterium ein Programm auswerten kann.

Aber ich denke eines ist wesentlich: eine Diskette ist nicht partitioniert und hat somit keine Partitionstabelle. Bei einer "echten" MS-DOS Diskette beginnt das Dateisystem mit der FAT (File Allocation Table vergl. auch MBR) direkt hinter dem Bootsektor. Allerdings muss das nicht zwingend so sein, da es zwischen dem Bootsektor und dem Dateisystem noch "reservierte" Sektoren geben kann. Nach meinem Verständnis ergibt sich das aus der Angabe ab Byte 30 (dez) des Bootsektors

Sektornummer des „FS Information Sector“ (In der Regel: 1)

Die FAT einer leeren Diskette ist eigentlich recht einfach zu erkennen, da diese erstmal aus sehr vielen "F"s besteht.

Bei einem partitionierten Medium wird das insofern anders sein, da es hier mindestens 2 Bootsektoren gibt, nämlich den MBR im allerersten Sektor des Mediums und den Bootsektor(en) in der/den entsprechenden Partition(en), wobei da noch etliche nicht benutzte Sektoren dazwischen liegen können.

Mit syslinux habe ich mich noch nicht ernsthaft auseinandergesetzt. Ich hatte nur einmal versucht Damn Small Linux auf einem USB-Stick zu installieren, was dann aber auch nicht gestartet ist.

solle man den Typ der Partition von Festplatte auf Floppy ändern.

Das kann schon sein, da syslinux ja mit MS-DOS Floppies arbeiten will, allerdings ...

Ich wollte gerade schreiben, das ich keine Ahnung habe, aber ich erkenne gerade was mit den oben zitierten Befehlen gemacht wird. Da wird die gesamte erste Partition in eine Datei Kopiert und anschließend auf das Gerät zurückkopiert. Damit wird der Bootsektor der ersten Partition auf den MBR kopiert (mit dem ganzen Rest dahinter) und es gibt anschließend keine Partition mehr, da der Bootsektor der ersten Partition keine Partitionstabelle enthält.

Ich vermute jetzt, das ein Medium ohne Partitionstabelle als Floppy erkannt wird.

2. Fall: leerer Stick. Mit GParted partitionieren. Und einen MBR installieren. Was wird daraus, eine USB-HD?

Was heisst hier jetzt "einen MBR installieren"? Meinst du jetzt den Dummy den GParted erzeugt oder kopierst du den von irgendwoanders her?

Und noch ein Tip für alle die sich die Sektoren mal ansehen wollen. Mit Bordmitteln geht das am besten mit

sudo dd if=/dev/sda bs=512 count=1 | hd

für den MBR der ersten Festplatte oder entsprechend mit

sudo dd if=/dev/sda1 bs=512 count=1 | hd

für den Bootsektor der ersten Partition darauf. Wer es bequemer haben möchte nimmt das Programm hexedit (extra installieren) mit den gleichen Deviceangaben.

Antworten |