payday

Jul 17 2008

USB-Stick partitionieren

Category: pc:stuff,Tips & TricksMoni @ 11:16

Einen USB-Stick partionieren? „Geht nicht!“, „Gibt’s nicht!“ werden da die meisten schreien. Aber es geht doch. Ich habe es unfreiwillig hinbekommen.

Situation

Vor ein paar Wochen habe ich mir eine 8GB microSDHC-Speicherkarte für mein Handy (N95) gekauft, weil die freie Kapazität auf meiner bereits vorhandenen 4GB microSDHC-Karte langsam dem Ende entgegen ging. Gestern wollte ich nun die Daten der kleinen Karte auf die große übertragen. Wie schon einmal zuvor habe ich dazu mit Acronis True Image 10.0 ein Image von der kleinen Karte erstellt (das manuelle Kopieren der Dateien war mir zu unsicher, gerade was versteckte Dateien angeht). Beim Wiederherstellen des Images auf der großen Karte habe ich dann einen Fehler gemacht. Das Image enthielt zusätzlich zu den Daten noch Boot-Informationen bzw. einen MBR. Ich habe keine Ahnung, wo diese Boot-Informationen her kamen, die Karte dürfte eigentlich nicht bootfähig gewesen sein. Jedenfalls habe ich gedankenlos die Boot-Informationen bei der Wiederherstellung mit ausgewählt und prompt kam es beim Überspielen dieser zu einem Fehler. Auf der 8GB-SD-Karte befanden sich nun 4GB-Daten und ein MBR, sodass Windows den 4 GB-Datenbereich als eine Partition und die restliche Kapazität als unzugeordnetern Speicherbereich auffasste, dh. die SD-Karte war nun partitioniert.

partioniertes Wechselmedium

Das Löschen der Partition, um einen zusammenhängenden Speicherebreich zu erhaltren, schlug fehl. Aber warum?

Hintergrund

Speicherkarten (SD, CF, MMC, etc.) sowie auch herkömmliche USB-Sticks sind Flash-Speichermedien und werden von Windows als Wechseldatenträger (Removable Disk) erkannt; im Gegensatz zu (USB-) HDD’s die als lokale Datenträger erkannt werden. Der Wechselmediendienst von Windows kennt aber keine partionierten Flashspeichermedien, sodass Windows Wechselmedien mit mehreren Partitionen nicht verwalten kann, ungeachtet dessen, was in der Partitionstabelle steht. Das heißt, die erste Partitionen des Flashspeichers kann Windows gerade noch ansprechen, alle weiteren jedoch nicht. Das ist eine Beschränkung von Windows/Microsoft. Linux kennt so eine Beschränkung nicht.

Lösung

Um wieder an die volle Kapazität zu kommen, habe ich versucht unter Linux die Partition auf der Speicherkarte zu löschen. Mit Hilfe von cfdisk, einem einfachen und menübasierten Programm zur Partitionierung von Festplatten, lies sich die Partition problemlos löschen. Darauf achten sollte man, dass Partitionen, die man ändern will, vorher ausgehängt werden sollten.

umount /dev/sda — wobei a für die fortlaufende Nummerierung der Gerätedatei der Speicherkarte steht. Nummerierungen wie zb. sda1, sda2 sprechen die einzelnen Partitionen des Speichermediums an

Um die komplette Speicherkarte mittels cfdisk anzusprechen, sollte man natürlich auch das komplette Gerät sda und nicht nur die Partition sda1 übergeben. Naja, dummer Anfängerfehler.

cfdisk /dev/sda –Aufruf des Partitionierungsprogrammes für die Speicherkarte sda

Im Programm kann dann die Partition gelöscht werden, sodass wieder ein zusammenhängender Speicherbereich entsteht. Ich hätte nun die Speicherkarte auch gleich wieder formatieren, also mit einem Dateisystem versehen können. Ich entschied mich aber dagegen und hab dies dann in der Datenträgerverwaltung unter Wíndows vorgenommen. Und tada, die Partitionen waren weg und es war wieder die volle Kapazität von 8GB ansprechbar 😀

Weiterführende Informationen

Natürlich kann es manchmal sinnvoll sein, ein Speichermedium zu partionieren. Um so ärgerlicher, wenn Windows dann die weiteren Partitionen nicht ansprechen kann. Um dies zu umgehen müsste man Windows vorgaukeln, dass es sich bei dem Speichermedium nicht um einen Wechseldatenträger sondern um eine normale Festplatte handelt.

Letztlich hängt es nur an einem Bit im Device-Descriptor, das Removable Media Bit (RMB). Zaubert man das weg, wird das Laufwerk als „Lokaler Datenträger“, also wie eine Festplatte erkannt und alle vorhandenen Partitionen werden eingebunden, auch die Datenträgerverwaltung spielt mit. Das Removable Media Bit kann entweder in der Hardware des USB-Sticks geändert werden, oder per Windows-Filtertreiber.

Wie das genau funktioniert, kann man hier und hier nachlesen.

Darüber hinaus scheint es unter Windows XP wohl auch noch ein generelles Problem mit SDHC-Speicherkarten, die größer als 4GB sind, zu geben. Dazu hat Microsoft bereits einen Artikel verfasst. Nach erfolgreicher Gültigkeitsprüfung kann man sich dort ein Hotfix runterladen. Das angebliche Problem konnte ich jedoch nicht nachvollziehen. Sowohl unter Vista als auch unter XP Prof. wurder die 8GB-SDHC-Karte problemlos erkannt.

Auf die ganze „USB-Stick partionieren“-Problematik bin ich durch diesen Thread im Gulli:Board aufmerksam geworden. Daraufhin habe ich erst erkannt, dass der dort geschilderte Sachverhalt genau auf meine aktuelle Situation zutrifft.

Schlagwörter: , , , , , , , , , , , , ,