UFS2 mounten unter Linux

Aus UUGRN
Version vom 5. Januar 2008, 23:24 Uhr von Rabe (Diskussion | Beiträge) (Benennung von Devices und Vergleich zwischen Linux und FreeBSD. Anwendungsbeispiel, wie man unter Linux FreeBSD-Partitionen lokalisieren und mounten kann.)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit Linux kann man auch auf UFS-formatierte Partitionen zugreifen, so wie sie etwa unter FreeBSD verwendet werden. Unter FreeBSD spricht man von slices und partitions. Ein slice kann mehrere partitions enthalten.


Partitionen und Slices[Bearbeiten]

Unter Linux werden diese so erkannt:

Beispiel aus dmesg
hda: hda1 hda2 hda3 hda4 < hda5 >
hda2: <bsd: hda6 hda7 hda8 hda9 hda10 >
Ausgabe von fdisk
# fdisk -l /dev/hda

Disk /dev/hda: 80.0 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         913     7333641    b  W95 FAT32
/dev/hda2             914        4801    31230360   a5  FreeBSD
/dev/hda3            4802        4813       96390   83  Linux
/dev/hda4            4814        9733    39519900    5  Extended
/dev/hda5            4814        9733    39519868+  8e  Linux LVM

fdisk -l listet hier alle "DOS-Style"-Partitionen auf, hier wird mit /dev/hda2 lediglich das FreeBSD-slice /dev/ad0s2 erkannt, in der Kernelmeldung beim Booten sieht man allerdings die BSD-Labels, die dann ähnlich wie die logischen Partitionen einer Extended-Partition aufeinanderfolgend numeriert werden, hier im Beispiel /dev/hda6..10

mounten[Bearbeiten]

Durch ausprobieren oder Intuition weiss man, dass die /-Filesysteme in BSD immer auf der a-Partition liegen (vgl: ABC-Regel) und folglich /dev/hda6 in diesem Beispiel das /-Filesystem von FreeBSD sein muss:

Mounten aus einer root-Shell
# mkdir /bsd
# mount -t ufs -o ro,ufstype=ufs2 /dev/hda6 /bsd
Anschauen der /bsd/etc/fstab
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s2b             none            swap    sw              0       0
/dev/ad0s2a             /               ufs     rw              1       1
/dev/ad0s2d             /var            ufs     rw              2       2
/dev/ad0s2e             /usr            ufs     rw              2       2
/dev/ad0s2f             /data           ufs     rw              2       2

Linux vs. FreeBSD[Bearbeiten]

Vergleich zwischen Linux und FreeBSD-Devices:

Linux FreeBSD Anmerkung
/dev/hda /dev/ad0 erste ATA-Platte
/dev/hdb /dev/ad1 zweite ATA-Platte
/dev/hda2 /dev/ad0s2 zweite primäre Partition auf der ersten ATA-Platte
/dev/hda3 /dev/ad0s3 dritte primäre Partition auf der ersten ATA-Platte
/dev/hda6 /dev/ad0s2a In diesem Beispiel die /-Partition im zweiten BSD-Slice auf der ersten ATA-Platte (vgl: ABC-Regel)
/dev/hda7 /dev/ad0s2b die b-Partition in FreeBSD ist immer ein swap-Device (vgl: ABC-Regel)
/dev/hda8 /dev/ad0s2d in diesem Beispiel /bsd/var
/dev/hda9 /dev/ad0s2e in diesem Beispiel /bsd/usr
/dev/hda10 /dev/ad0s2f in diesem Beispiel /bsd/data

automatisch mounten[Bearbeiten]

Sollen die FreeBSD-partitions automatisch gemountet werden, dann können sie in der Linux-/etc/fstab eingetragen werden:

/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
[...]
/dev/hda6       /bsd            ufs     ro,ufstype=ufs2         0       0
/dev/hda8       /bsd/var        ufs     ro,ufstype=ufs2         0       0
/dev/hda9       /bsd/usr        ufs     ro,ufstype=ufs2         0       0
/dev/hda10      /bsd/data       ufs     ro,ufstype=ufs2         0       0

siehe auch[Bearbeiten]