在启动时自动在FreeBSD上安装NTFS分区

时间:2008-09-26 01:10:00

标签: scripting operating-system sysadmin

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

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

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

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

umount:umount / home / admin / data

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

我试过了:

  • 添加fstab:/ dev / ad1s1 / home / admin / data ntfs-3g uid = 1002 0 0
  • 在/usr/local/etc/rc.d/目录下创建一个自动挂载ntfs分区的脚本。

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

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

感谢。

2 个答案:

答案 0 :(得分:1)

您的脚本运行的级别是多少?它是S99还是更低?

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

在你的脚本中,我建议添加一个sudo以确保挂载是由root执行的:

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

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

答案 1 :(得分:1)

之前我尝试过一些方法。 最后,我尝试通过更改mount.c上的mount脚本来添加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);

}

重新编译mount程序,它可以工作!

...谢谢