[Contribute Advice] 什么时候能优化下对NTFS分区的支持呢
Tofloor
poster avatar
哈萨雅琪
deepin
2022-03-18 18:23
Author

期待优化啊,双系统挂载的NTFS分区,移动或拷贝文件速度只有6-8M左右,而且拷贝时候dde-file-manager和mount.ntfs进程占用资源很高~~

image.png

Reply Favorite View the author
All Replies
2 / 3
To page
zhangn1985
deepin
2022-03-19 02:18
#21

NTFS虽然有内核的ntfs3驱动,但是还不完整,而且没有用户态工具,所以现阶段成熟的NTFS方案是ntfs-3g,用户态文件系统。用户态文件系统的通病就是速度慢,CPU占用高。

更佳的解决方案是用虚拟机,把对应磁盘映射到虚拟机。

Reply View the author
哈萨雅琪
deepin
2022-03-19 22:10
#22
zhangn1985

NTFS虽然有内核的ntfs3驱动,但是还不完整,而且没有用户态工具,所以现阶段成熟的NTFS方案是ntfs-3g,用户态文件系统。用户态文件系统的通病就是速度慢,CPU占用高。

更佳的解决方案是用虚拟机,把对应磁盘映射到虚拟机。

是啊~ntfs-3g是行业通用的,基本上现在在linux上访问win的ntfs分区,都是用ntfs-3g来解决的;毕竟不是内核直接驱动的,所以耗费资源也是没办法的事,就跟wine一样,模拟环境来运行,效率低、耗费资源是必然的;就是不知道ntfs-3g有没有更新,老早之前记得十几年前就在用ntfs-3g了,后来不知道有没有社区再进行更新或者优化了,但是随着硬件的发展和对分区读写性能的需求的提升,ntfs-3g的解决方案,感觉越来越跟不上;

Reply View the author
SamLukeYes
deepin
2022-03-20 00:49
#23

如果要用内核的 ntfs3 模块来访问 ntfs 文件系统,需要在挂载时手动指定文件系统类型。参见 ArchWiki

Reply View the author
哈萨雅琪
deepin
2022-03-20 01:51
#24
SamLukeYes

如果要用内核的 ntfs3 模块来访问 ntfs 文件系统,需要在挂载时手动指定文件系统类型。参见 ArchWiki

https://www.kernel.org/doc/html/latest/filesystems/ntfs3.html

好像不行,目前的内核版本5.15.6还不支持NTFS3,我安装失败了😭

截图_选择区域_20220319174347.png

截图_选择区域_20220319174431.png

截图_选择区域_20220319174721.png

Reply View the author
哈萨雅琪
deepin
2022-03-20 02:05
#25
SamLukeYes

如果要用内核的 ntfs3 模块来访问 ntfs 文件系统,需要在挂载时手动指定文件系统类型。参见 ArchWiki

但是不应该哦,我看README上写的支持到5.12.x呢,为什么我安装时候提示超出支持范围呢confused

image.png

Paragon_NTFS_for_Linux_driver_Retail_Express_lke_9.7.5.tar.gz

Reply View the author
SamLukeYes
deepin
2022-03-20 03:30
#26
哈萨雅琪

https://www.kernel.org/doc/html/latest/filesystems/ntfs3.html

好像不行,目前的内核版本5.15.6还不支持NTFS3,我安装失败了😭

截图_选择区域_20220319174347.png

截图_选择区域_20220319174431.png

截图_选择区域_20220319174721.png

所以说你用的内核版本是 5.10 还是 5.15?如果 5.10 用不了 ntfs3 的 dkms,去问 paragon 到底是怎么回事;如果是 5.15,就不需要 dkms,该模块应该已经包含在内核里了,如果没有的话就叫 deepin 内核维护者在编译时把这个模块加上。

Reply View the author
哈萨雅琪
deepin
2022-03-20 04:34
#27
SamLukeYes

所以说你用的内核版本是 5.10 还是 5.15?如果 5.10 用不了 ntfs3 的 dkms,去问 paragon 到底是怎么回事;如果是 5.15,就不需要 dkms,该模块应该已经包含在内核里了,如果没有的话就叫 deepin 内核维护者在编译时把这个模块加上。

我就是5.15.6的内核没问题,dkms也有的,安装时候还是报错啊~~

image.png

Reply View the author
SamLukeYes
deepin
2022-03-20 05:54
#28
哈萨雅琪

我就是5.15.6的内核没问题,dkms也有的,安装时候还是报错啊~~

image.png

之前没仔细看你的截图,不好意思tail
不过刚才我也说了,5.15 理论上不需要额外装 dkms,直接在挂载的时候指定文件系统类型为 ntfs3 即可。为了验证 deepin 在编译内核时是否启用了 ntfs3 模块,可以看看 zgrep NTFS3 /proc/config.gz 的输出,有 CONFIG_NTFS3_FS=m 说明已经将该部分编译为内核模块。

Reply View the author
哈萨雅琪
deepin
2022-03-20 06:30
#29
SamLukeYes

之前没仔细看你的截图,不好意思tail
不过刚才我也说了,5.15 理论上不需要额外装 dkms,直接在挂载的时候指定文件系统类型为 ntfs3 即可。为了验证 deepin 在编译内核时是否启用了 ntfs3 模块,可以看看 zgrep NTFS3 /proc/config.gz 的输出,有 CONFIG_NTFS3_FS=m 说明已经将该部分编译为内核模块。

没有启用~~~

image.png

Reply View the author
SamLukeYes
deepin
2022-03-20 06:37
#30
哈萨雅琪

没有启用~~~

image.png

不对,这输出说明 deepin 没有 /proc/config.gz 这东西,还是不能确定有没有 ntfs3 模块……要不你手动用 ntfs3 挂载一下试试看吧tail

Reply View the author
哈萨雅琪
deepin
2022-03-20 07:31
#31
It has been deleted!
哈萨雅琪
deepin
2022-03-20 07:33
#32
It has been deleted!
哈萨雅琪
deepin
2022-03-20 07:48
#33
SamLukeYes

不对,这输出说明 deepin 没有 /proc/config.gz 这东西,还是不能确定有没有 ntfs3 模块……要不你手动用 ntfs3 挂载一下试试看吧tail

NTFS3手动挂载是用mount -t ufsd 来挂的,现在挂载是提示没有该文件系统类型,lsmod也查看不到,mount只有下面这些命令,mount.ntfs 这个和ntfs-3g是一回事,,,很明显,内核没有加进去这个模块。。。。tail

image.png

Reply View the author
SamLukeYes
deepin
2022-03-20 08:01
#34
哈萨雅琪

NTFS3手动挂载是用mount -t ufsd 来挂的,现在挂载是提示没有该文件系统类型,lsmod也查看不到,mount只有下面这些命令,mount.ntfs 这个和ntfs-3g是一回事,,,很明显,内核没有加进去这个模块。。。。tail

image.png

根据我之前引用的 ArchWiki 页,编译进内核的 ntfs3 挂载选项是 -t ntfs3。
图片.png

在没用 ntfs3 挂载的时候,lsmod 查不到 ntfs3 模块应该是正常的。
图片.png

Reply View the author
哈萨雅琪
deepin
2022-03-20 08:50
#35
SamLukeYes

根据我之前引用的 ArchWiki 页,编译进内核的 ntfs3 挂载选项是 -t ntfs3。
图片.png

在没用 ntfs3 挂载的时候,lsmod 查不到 ntfs3 模块应该是正常的。
图片.png

首先可以确定的是Deepin的5.15.6的内核是没有集成NTFS3的模块!

下面是我看Paragon官方的介绍如何安装、挂载和验证NTFS3的相关内容,安装很简单,没有问题,就是直接运行install.sh就可以了,验证是lsmod |grep ufsd ; 挂载是直接mount -t ufsd 这样的;

Paragon的截图上4.18的内核都可以安装的,Deepin的都5.15.6了,安装时候还报错内核不在范围内,然后强行安装就失败报错了;

Paragon的介绍来看,都支持Ubuntu 20.4了,我觉得Deepin有必要需要修改下内核来支持NTFS3了~~sweat

https://www.paragon-software.com/home/ntfs-linux-professional/

截图_选择区域_20220320003828.png
截图_选择区域_20220320003441.png
截图_选择区域_20220320002417.png
截图_选择区域_20220320002401.png

Reply View the author
SamLukeYes
deepin
2022-03-20 09:43
#36
哈萨雅琪

首先可以确定的是Deepin的5.15.6的内核是没有集成NTFS3的模块!

下面是我看Paragon官方的介绍如何安装、挂载和验证NTFS3的相关内容,安装很简单,没有问题,就是直接运行install.sh就可以了,验证是lsmod |grep ufsd ; 挂载是直接mount -t ufsd 这样的;

Paragon的截图上4.18的内核都可以安装的,Deepin的都5.15.6了,安装时候还报错内核不在范围内,然后强行安装就失败报错了;

Paragon的介绍来看,都支持Ubuntu 20.4了,我觉得Deepin有必要需要修改下内核来支持NTFS3了~~sweat

https://www.paragon-software.com/home/ntfs-linux-professional/

截图_选择区域_20220320003828.png
截图_选择区域_20220320003441.png
截图_选择区域_20220320002417.png
截图_选择区域_20220320002401.png

首先可以确定的是Deepin的5.15.6的内核是没有集成NTFS3的模块!

是怎么确定的呢?

Paragon的截图上4.18的内核都可以安装的,Deepin的都5.15.6了,安装时候还报错内核不在范围内,然后强行安装就失败报错了;

你的截图里显示支持的 Linux 版本 “up to 5.12.x”,5.15 当然不在支持范围内了,所以要检查 deepin 自己的 5.15 内核有没有 ntfs3 模块。由于 deepin 没有 /proc/config.gz,那就用 mount -t ntfs3 <设备名> <挂载点> 来验证一下。

注意合入内核主线的模块不叫 UFSD,叫 NTFS3

Reply View the author
哈萨雅琪
deepin
2022-03-20 09:58
#37
SamLukeYes

首先可以确定的是Deepin的5.15.6的内核是没有集成NTFS3的模块!

是怎么确定的呢?

Paragon的截图上4.18的内核都可以安装的,Deepin的都5.15.6了,安装时候还报错内核不在范围内,然后强行安装就失败报错了;

你的截图里显示支持的 Linux 版本 “up to 5.12.x”,5.15 当然不在支持范围内了,所以要检查 deepin 自己的 5.15 内核有没有 ntfs3 模块。由于 deepin 没有 /proc/config.gz,那就用 mount -t ntfs3 <设备名> <挂载点> 来验证一下。

注意合入内核主线的模块不叫 UFSD,叫 NTFS3

很明显没有的啦,干嘛要死撑呢confused

那就按照-t ntfs3来看看吧,还不是下面这样的么:

image.png

Reply View the author
哈萨雅琪
deepin
2022-03-20 10:12
#38
It has been deleted!
哈萨雅琪
deepin
2022-03-20 10:15
#39
SamLukeYes

首先可以确定的是Deepin的5.15.6的内核是没有集成NTFS3的模块!

是怎么确定的呢?

Paragon的截图上4.18的内核都可以安装的,Deepin的都5.15.6了,安装时候还报错内核不在范围内,然后强行安装就失败报错了;

你的截图里显示支持的 Linux 版本 “up to 5.12.x”,5.15 当然不在支持范围内了,所以要检查 deepin 自己的 5.15 内核有没有 ntfs3 模块。由于 deepin 没有 /proc/config.gz,那就用 mount -t ntfs3 <设备名> <挂载点> 来验证一下。

注意合入内核主线的模块不叫 UFSD,叫 NTFS3

另外,需要明确的是NTFS3这个本来就是Paragon开发的,在Paragon的官方文档说明中就是-t ufsd 来挂载的,就算Deepin不是用原生的,做过修改,但是也没有任何地方能看出是5.15.6的内核集成了NTFS3 !!!

Reply View the author
SamLukeYes
deepin
2022-03-20 16:30
#40
哈萨雅琪

另外,需要明确的是NTFS3这个本来就是Paragon开发的,在Paragon的官方文档说明中就是-t ufsd 来挂载的,就算Deepin不是用原生的,做过修改,但是也没有任何地方能看出是5.15.6的内核集成了NTFS3 !!!

刚才查了一下,ufsd 是非自由版本的 ntfs 驱动,除了 ntfs 以外还支持 hfs+。以 GPL 许可证发布的 ntfs3 似乎并没有以 dkms 的形式放出,只是 AUR 上有人把它打包成了 dkms。既然 deepin 的 5.15 内核没有编译 ntfs3 的模块,那么你可以选择:

  1. 安装 5.10 版本的内核,然后使用 ufsd
  2. 安装编译了 ntfs3 模块的第三方内核
  3. 自己编译 5.15 或更高版本的内核,在编译时启用 ntfs3 模块
Reply View the author
2 / 3
To page