2

我正在寻找以读/写模式在 FreeBSD 6.2 上挂载 NTFS 硬盘的方法。

搜索谷歌,我发现 NTFS-3G 可以提供帮助。

使用 NTFS-3G,当我尝试手动挂载/卸载 NTFS 时没有问题:

挂载:ntfs-3g /dev/ad1s1 /home/admin/data -o uid=1002,

或者

卸载:卸载/home/admin/data

但是当尝试在启动时自动挂载 ntfs 硬盘时我遇到了问题。

我努力了:

  • 添加 fstab:/dev/ad1s1 /home/admin/data ntfs-3g uid=1002 0 0
  • 制作一个脚本,在启动时自动挂载 ntfs 分区,在 /usr/local/etc/rc.d/ 目录上。

但它仍然失败。该脚本在手动执行时运行良好。

有谁知道在 FreeBSD 6.2 上具有读/写访问 NTFS 的替代方法/解决方案?

谢谢。

4

2 回答 2

1

你的脚本运行在什么级别?是S99还是更低?

听起来要么在您挂载时未加载依赖项,要么尝试使用脚本挂载的用户无法成功。

在您的脚本中,我建议添加一个 sudo 以确保安装是由 root 执行的:

/sbin/sudo /sbin/mount ntfs-3g /dev/ad1s1 /home/admin/data -o uid=1002, etc

将 sbin 交换为二进制文件所在的位置。

于 2008-09-26T06:36:23.813 回答
1

经过我之前尝试过的一些方法。最后,我尝试通过更改 mount.c 上的挂载脚本来添加 ntfs-3g 支持,如下所示:

use_mountprog(const char *vfstype)

{

    /* XXX: We need to get away from implementing external mount
     *      programs for every filesystem, and move towards having
     *      each filesystem properly implement the nmount() system call.
     */

    unsigned int i;
    const char *fs[] = {
    "cd9660", "mfs", "msdosfs", "nfs", "nfs4", "ntfs",
    "nwfs", "nullfs", "portalfs", "smbfs", "udf", "unionfs",
    "ntfs-3g"
    NULL
    };

    for (i = 0; fs[i] != NULL; ++i) {
            if (strcmp(vfstype, fs[i]) == 0)
                    return (1);
    }

    return (0);

}

重新编译安装程序,它可以工作了!

谢谢...

于 2008-09-29T07:29:04.900 回答