下面就我的系统(Gentoo Linux-nitro-source-2.6.13.1 + FreeBSD6.0 UFS2)为例说说挂载UFS分区的方法。
测试环境:
BSD系统:FreeBSD6.0(UFS2)
Linux系统:Gentoo , nitro-sources-2.6.13.1。
其实对于其他常见的BSD系统和linux系统,本文的内容也是基本适用的。
挂载过程中常见的错误有下面两种:
错误一:无法辨认UFS分区。
mount: wrong fs type, bad option, bad superblock on /dev/hdb1, or too many mounted file systems
错误二:只能挂载/ 分区(即只能从/dev/ 下面看到一个slice中的一个partition)。
下面是挂载的必要步骤
一、配置内核
对于linux的新版本内核,都能够支持UFS的读写(写:危险!)及UFS2的读操作。所需的配置:
// UFS文件系统支持,一般来说不建议选“写支持”
Filesystems -> Miscellaneous filesystems ->
<*> UFS file system support (read only)
//BSD disklabels 分区支持
Filesystems -> Partition types ->[*] Advanced partition selection
[*] PC BIOS (MSDOS partition tables) support
[*] BSD disklabel (FreeBSD partition tables) support
二、编译、安装内核:
# make
# mount /boot
# cp arch/i386/boot/bzImage /boot/kernel
# reboot
三、挂载
先查看dmesg信息或者log信息,确定BSD分区号。
~ # cat /var/log/messages | grep bsd
Nov 12 09:26:34 [kernel] hda3:
挂载方式,对于UFS1:
# mount -r -t ufs -o ufstype=44bsd /dev/hda7 /mnt/my-mount-point 对于UFS2:
# mount -r -t ufs -o ufstype=ufs2 /dev/hda8 /mnt/my-mount-point2