|
这个问题要说清楚不太容易。
首先是历史问题。exfat/ntfs 是Windows下的产物。Linux天生就不太喜欢他们。
Linux内核直到最近才加入exfat驱动,但并不稳定,因此几乎没有发行版使用。而ntfs驱动由于版权问题短时间内都不可能加入内核。
也就是说,你可以认为现在常见的系统里的Linux内核是不支持 exfat/ntfs 的。
但是为什么很多发行版,像 ubuntu/deepin 等是可以挂载、使用 exfat/ntfs 呢? 这里就归功于Linux中的一个 fuse 驱动。
通过内核的fuse驱动,可以在用户态通过上层应用程序的方式模拟出一个文件系统来。
这样就出现了基于 fuse 驱动的 exfatutil/ntfs-3g 等软件。也就是说,现在在Linux下 mount exfat/ntfs 系统,都是基于 exfatutil/ntfs-3g
在应用层启动一个进程,通过和 内核的 fuse 驱动打交道,然后模拟挂载出对应的文件系统。
但是这种方式相比于内核直接支持的类型,缺点很大。首先就是性能损失太多,另外一个就是稳定性不好。
所以,总体上当前在Linux下使用 exfat/ntfs 都是聊胜于无,因此也就 ubuntu/deepin 这些主打桌面的系统对此比较上心。
如上所说,Linux下要支持 exfat/ntfs,关键两部分,fuse驱动和 exfatutil/ntfs-3g 这类软件。
一个ISO文件,里面包含的是一个完整的系统,包括内核、驱动、以及各种软件包等,所以现在一个个ISO文件都很大。
大部分系统这个完整的ISO里面都包括 fuse 驱动以及 exfatutil/ntfs-3g 等软件包。
因此这些系统安装完成之后,是可以支持 exfat/ntfs 的。但注意,这里是说安装完之后的那个完整系统。
但是在安装过程中,情况不一样了。在安装过程中,实际上是先启动了一个小的 debian/deepin/ubuntu 系统,这个小系统的任务就只有一个,
就是找到硬盘,把完整的系统装进去就完成了。
因此,这个系统里面的驱动和软件是很精简的,如果 fuse 驱动或者 exfatutil/ntfs-3g 等软件包也被精简掉了,那在安装过程中就不支持 exfat/ntfs了。
现在的现状是,大部分发行版的这个小系统里面都不包含他们。你测试的 debian 应该也是精简掉了。
因为历来,传统的安装系统都是通过光驱、网络、或者刻录整个U盘等方式来的,这个过程是不需要用到 exfat/ntfs 的。
所以,安装过程中支持 exfat/ntfs 的系统很少。
你要想知道安装时支不支持,就找到那个小系统的 initramfs 镜像,解开之后,看看里面有没有 fuse驱动以及 exfatutil/ntfs-3g 等软件包。
比如, debian-10.6.0-amd64-DVD-1/install.amd/initrd.gz
|
|