下一页 上一页 目录

5. 挂载文件系统

5.1 在 Linux 下挂载 UFS 文件系统

不幸的是,Linux 2.0.xx 内核中的 UFS 驱动程序不支持 FreeBSD。当您尝试挂载 FreeBSD 文件系统时,您只会收到一些错误消息(文件系统实际上会被挂载,但是您无法对其进行任何操作)。这个问题在新版本的 Linux 内核(版本 2.1.87 及更高版本)中已得到解决。

metalab.unc.edu (之前的 sunsite.unc.edu) 上有另一个版本的 UFS 驱动程序,适用于 Linux 2.0.xx 内核 (xx <= 30)。它被称为 U2FS,当前版本是 u2fs-0.4.3.tar.gz。在 这个站点 可以找到适用于 Linux 2.0.31 及更高版本(2.0.xx;不是 2.1.xx)的 U2FS 版本 (ufs-0.4.4.tar.gz),以及关于 U2FS(和 UFS)的更多信息。

现在您必须构建一个新的内核,其中包含对 U2FS 文件系统和 BSD 磁盘标签的支持。有关此操作的更多信息,请参阅 安装和准备 Linux 章节。当您使用 U2FS 时,您可以从内核中移除 UFS 文件系统支持

当您安装了新的内核后,您可以使用如下命令挂载您的 UFS 文件系统(FreeBSD 分区中的所有分区,除了交换分区)

mount -t u2fs /dev/hda8 /mnt

如果您使用 Linux 内核版本 2.1.87 或更高版本,则应使用如下命令

mount -t ufs /dev/hda8 /mnt
从 Linux 内核版本 2.1.112 开始,您必须向命令添加 -o ufstype=44bsd,如下所示
mount -t ufs -o ufstype=44bsd /dev/hda8 /mnt

UFS(和 U2FS)驱动程序是只读的。也就是说,您可以从 UFS 文件系统读取数据,但无法写入数据。在 Linux 内核版本 2.1.112 及更高版本中,实验性的读写 UFS 驱动程序已取代只读驱动程序;从版本 2.1.127 开始支持写入 FreeBSD 分区。

5.2 在 FreeBSD 下挂载 ext2fs 文件系统

要在 FreeBSD 下挂载 ext2fs 文件系统,您首先必须构建一个支持 ext2fs 的新内核。阅读 FreeBSD 手册 以了解如何操作。将以下行

options         "EXT2FS"
添加到新内核的内核配置文件中。

当您使用新内核启动后,您可以通过给出如下命令来挂载 ext2fs 文件系统

mount -t ext2fs /dev/wd0s3 /mnt

由于 FreeBSD 2.2.8 及更早版本中的一个错误,如果您正在使用这些版本中的任何一个,您将需要在关闭 FreeBSD 之前 卸载所有 ext2fs 文件系统。如果您在挂载了 ext2fs 文件系统的情况下关闭 FreeBSD,FreeBSD 无法同步 UFS 文件系统。这将导致下次启动 FreeBSD 时运行 fsck。您可以通过将以下行

umount -a -t ext2fs
添加到 /etc/rc.shutdown 文件中来解决此错误。该错误已在 FreeBSD 3.x 中修复。


下一页 上一页 目录