在引导时自动在FreeBSD上安装NTFS分区

时间:2020-03-06 14:45:35  来源:igfitidea点击:

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

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

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

挂载: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的替代方法/解决方案?

谢谢。

解决方案

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

听起来好像是在安装时没有加载依赖项,或者试图使用脚本进行安装的用户无法成功。

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

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

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

经过一些方式,我尝试过。
最后,我尝试通过更改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);

}

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

谢谢...