Re: fdisk und bsdlabel Verwirrung

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 31 Dec 2008 11:52:18 +0100 (CET)

Hallo Manfred,

Es ist leider so, dass sysinstall(8) bzw. sade(8) und
fdisk(8) andere Default-Werte für den Start der ersten
Slice verwenden. Das hat teilweise historische Gründe
und hat sich in der Vergangenheit auch mal geändert,
d.h. der Effekt hängt auch davon ab, welche FreeBSD-
Version Du genau verwendest.

Ich empfehle generell, nicht sysinstall(8) oder sade(8)
zu verwenden, sondern stattdessen das »Kochrezept«, das
in der bsdlabel(8)-Manpage dokumentiert ist. Das kannst
Du direkt rauskopieren und verwenden:

# dd if=/dev/zero of=/dev/da0 bs=512 count=32
# fdisk -BI da0
# dd if=/dev/zero of=/dev/da0s1 bs=512 count=32
# bsdlabel -w -B da0s1
# bsdlabel -e da0s1

Ich mache es schon seit Ewigkeiten so, und es hat immer
geklappt.

> Ich definiere eine Slice über die ganze Platte mit dem sysinstall FDISK
> partition editor.
> [...]
> bsdlabel -e zeigt:

Hast Du zwischen diesen beiden Schritten auch ein Label
angelegt (mit sysinstall, sade oder bsdlabel -w)?
Das ist zwingend notwendig.

> Should we write new partition table? [n] y
> fdisk: Class not found

Das ist eine Fehlermeldung von GEOM, die verschiedene
Ursachen haben kann, z.B. wenn in der neu angelegten
Slice noch irgendwelche alten Daten liegen. Daher
auch der Rat, vorher den Anfang des datenträgers mit
dd(1) auszunullen (siehe oben).

Die Geometrie (Zylinder usw.) kann man übrigens bei
externen USB-Platten weitgehend ignorieren. Das ist
ein Relikt aus dem PC-Mittelalter. Wichtig ist, dass
die Größen (Sektorzahl) und Start-Offsets stimmen,

> Wie setze ich (berechne ich) sinnvolle Werte für bsdlabel?

Nach einem »bsdlabel -w« hast Du erstmal eine a-Parti-
tion, die den ganzen Datenträger umfasst. Wenn Dir
das genügt, brauchst Du nichts weiter zu tun (außer
newfs(8) natürlich).

Anderenfalls fügst Du weitere Zeilen hinzu (b, d, ...,
"c" ist reserviert und darf nicht verändert werden).
Bei der Größe (Spalte »size«) schreibst Du z.B. 500M
oder 30G; bsdlabel(8) rechnet Dir das automatisch
in die Anzahl Sektoren um. Bei der letzten Spalte
kannst Du als Größe auch »*« angeben, dann bekommt
sie den ganzen restlichen Platz. In der Spalte für
die Startposition (»offset«) schreibst Du am besten
immer »*« rein (außer bei "a" und "c"; diese bleiben
unverändert).

Berechnen muss man bei der ganzen Sache eigentlich
nichts. Nur darauf achten, dass die Partitionen
zusammen nicht größer als der Datenträger sind.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"Software gets slower faster than hardware gets faster."
        -- Niklaus Wirth
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 31 Dec 2008 - 11:52:23 CET

search this site