Partition hinzufügen

Für den Fall, dass die Festplatte bereits eine funktionierende Partitionstabelle hat, eine Partition jedoch nicht belegt ist, muss diese angelegt, formatiert und in den allgemeinen Dateisystembaum des Betriebssystems eingehängt werden.

Das bestehende, aktive Dateisystem lässt sich mittels df -h anzeigen. df -h

Filesystem Size Used Avail Capacity Mounted on /dev/da0p3 7.7G 6.3G 805M 89% / devfs 1.0K 1.0K 0B 100% /dev

Etwas aussagekräftiger ist die Anzeige der Partitionen. Was man bei anderen Betriebssystemen mit fdisk macht, wird bei FreeBSD mit gpart erledigt. gpart show

=> 40 20971447 da0 GPT (117G) [CORRUPT] 40 1024 1 freebsd-boot (512K) 1064 4194304 2 freebsd-swap (2.0G) 4195368 16776112 3 freebsd-ufs (8.0G) 20971480 7 - free - (3.5K)

Für einzelne Festplatten lässt sich diese Übersicht im Zweifelsfall auch anzeigen. gpart show da0

=> 40 20971447 da0 GPT (117G) [CORRUPT] 40 1024 1 freebsd-boot (512K) 1064 4194304 2 freebsd-swap (2.0G) 4195368 16776112 3 freebsd-ufs (8.0G) 20971480 7 - free - (3.5K)

Diese Anzeige verwirrt vielleicht etwas. Nicht nur, dass die "neue" Partition nur 3,5 Kilobyte groß sein soll, es wird auch ein "CORRUPT" hinter einer beträchtlich größeren Kapazitätsangabe angezeigt. Keine Panik! Der Grund dafür ist, dass es sich um eine GPT-Partition handelt, deren Backup-Tabelle, am Ende der Festplatte, nicht existiert. Beheben lässt sich dieser Umstand mit dem Unterkommando recover.

gpart recover da0

da0 recovered

gpart show da0

=> 40 245366704 da0 GPT (117G) 40 1024 1 freebsd-boot (512K) 1064 4194304 2 freebsd-swap (2.0G) 4195368 16776112 3 freebsd-ufs (8.0G) 20971480 224395264 - free - (107G)

gpart add -t freebsd-ufs da0

da0p4 added

gpart show da0

=> 40 245366704 da0 GPT (117G) 40 1024 1 freebsd-boot (512K) 1064 4194304 2 freebsd-swap (2.0G) 4195368 16776112 3 freebsd-ufs (8.0G) 20971480 224395264 4 freebsd-ufs (107G)

Damit ist die Partitionstabelle bereinigt und auf die neu angelegte Partition kann ein Dateisystem gebracht werden.
newfs -U /dev/da0p4

Reduced frags per cylinder group from 160280 to 160248 to enlarge last cyl group /dev/da0p4: 109568.0MB (224395264 sectors) block size 32768, fragment size 4096 using 176 cylinder groups of 625.97MB, 20031 blks, 80128 inodes. with soft updates super-block backups (for fsck_ffs -b #) at: 192, 1282176, 2564160, 3846144, 5128128, 6410112, 7692096, 8974080, 10256064, 11538048, 12820032, 14102016, 15384000, 16665984, 17947968, 19229952, ... 208963584, 210245568, 211527552, 212809536, 214091520, 215373504, 216655488, 217937472, 219219456, 220501440, 221783424, 223065408, 224347392

Nun kann das die Partition direkt in das Dateisystem eingehängt werden. mount /dev/da0p4 /mnt df -h

Filesystem Size Used Avail Capacity Mounted on /dev/da0p3 7.7G 6.3G 805M 89% / devfs 1.0K 1.0K 0B 100% /dev /dev/da0p4 104G 8.0K 95G 0% /mnt

Offensichtlich funktioniert das Vorgehen. Augenscheinlich "fehlt" jedoch etwas Speicherplatz. Der Hintergrund ist, dass FreeBSD 8% des Platzes für den optimalen Betrieb des Dateisystems reserviert. Im Falle einer reinen Datenpartition lässt sich der Wert auch etwas herunterregulieren. Hierfür muss das Dateisystem natürlich ausgehängt werden. umount /mnt

tunefs -m 5 /dev/da0p4

tunefs: minimum percentage of free space changes from 8% to 5% tunefs: should optimize for space with minfree < 8%

mount /dev/da0p4 /mnt df -h

Filesystem Size Used Avail Capacity Mounted on /dev/da0p3 7.7G 6.3G 805M 89% / devfs 1.0K 1.0K 0B 100% /dev /dev/da0p4 104G 8.0K 98G 0% /mnt

Nun, ob der Sprung von 8% auf 5% wirklich den Unterschied ausmacht, sei von Fall zu Fall zu bewerten.