Ubuntu 26 + Windows 10 双系统 NTFS 共享盘笔记
一、问题背景
- 环境:Windows 10 + Ubuntu 26.04 双系统
- 共享盘:NVMe 上的 NTFS 分区(
/dev/nvme) - 现象:频繁出现挂载冲突,Ubuntu 端无法挂载该分区
二、跨系统速度对比(基准:Windows NTFS = 100)
| 系统 / 驱动 | NTFS 连续读写 | NTFS 随机读写 | exFAT 连续读写 | exFAT 随机读写 |
|---|---|---|---|---|
| Windows 10 | 100(原生,速度最好) | 100(原生,速度最好) | ~95--100(顺序接近 NTFS) | ~60--80(无日志,小文件随机偏慢) |
Ubuntu26 (ntfs3) |
~80--95(内核原生) | ~80--90(内核原生) | ~90--110(内核原生,顺序甚至超过 NTFS) | ~70--90(结构简单,随机表现中等) |
Ubuntu 26 (ntfs-3g) |
~50--70(FUSE 瓶颈,顺序损耗明显) | ~30--50(用户态切换,随机性能最差) | ~90--110(同上) | ~70--90(同上) |
笔记本有电池,exFAT 是否更好?
说明
- 基准:Windows 10 下的 NTFS 连续读写与随机读写均定为 100。
- Ubuntu 26 (
ntfs3):内核态驱动,连续与随机性能都较接近 Windows 原生,但对"脏"分区极其敏感,容易挂载失败。 - Ubuntu 26 (
ntfs-3g):用户态 FUSE 驱动,连续读写因数据搬运损耗明显,随机读写因频繁的用户态/内核态切换进一步下降,是四种方案中随机性能最差的。 - exFAT :结构简单、无日志,连续读写效率高,Ubuntu 下甚至可能超过 NTFS;但随机读写(尤其小文件)因缺乏元数据优化而弱于 NTFS。exFAT 走独立内核模块,与 NTFS 驱动选择无关,因此
ntfs3和ntfs-3g两行中 exFAT 数据相同。
三、NTFS 驱动对比(Ubuntu 端)
| 驱动 | 类型 | 相对速度(NTFS=100) | 脏分区容忍度 | 特点 |
|---|---|---|---|---|
| ntfs3 | 内核态 | ~80--95 | 极低 | Ubuntu 26.04 默认,快但挑剔;NVMe 大量写入时可能内存耗尽 |
| ntfs-3g | 用户态 FUSE | ~30--70 | 高 | 慢但稳定,NVMe 上损耗更明显 |
NVMe 场景下,
ntfs-3g的 FUSE 瓶颈被放大,速度可能只有ntfs3的一半甚至更低。
怎么选择
随机读写性能主要影响"海量小文件"场景;连续读写性能主要影响大文件传输。
- 首选 NTFS + ntfs3 结合方式。 原因:Nvme4.0损失 30% 的速度,仍然比 SATA-SSD 快 6倍以上。
- 备注小坑: 该模式的兼容性问题,需要在windows 解决。
- 次选 exFAT 。原因:两个系统都是原生没有兼容问题,速度都很秀、
笔记本有电池没有突然断电问题。- 备注小坑:不关机合笔记本,放置几个月馈电,别选该模式。我没测试过会遇到什么问题不知道。
- 最后 NTFS + ntfs-3g 兼容好、使用丝滑。Nvme4.0 损失 70% 的速度,仍然 1000MB/s 的速度,比SATA-SSD 快 2倍。
四、根本原因
Windows 的"快速启动"导致 NTFS 分区被标记为"脏"(dirty)。
- Windows 快速启动本质是混合休眠:关机时并未真正完全关闭,而是把内核状态写入休眠文件。
- 此时 NTFS 分区处于"未安全卸载"状态。
- Ubuntu 的
ntfs3内核驱动对脏分区极其严格 ,会直接拒绝挂载,报出:wrong fs type, bad option, bad superblockerror mounting /dev/nvme
- 而
ntfs-3g(FUSE 驱动)容忍度高,通常能正常挂载。
本质:Windows 的"省电技巧"与 Linux 的"数据保护机制"不兼容。
修复
-
在 windows 下执行命令(D是需要修复的磁盘)
chkdsk D: /f
-
回到 ubuntu 下重新挂载磁盘
五、解决方案
方案一:Windows 端关闭快速启动(治本)
- 控制面板 → 电源选项 → 选择电源按钮的功能
- 点击"更改当前不可用的设置"
- 取消勾选"启用快速启动(推荐)"
- 保存后正常关机(不要重启)
可选:管理员 CMD 执行,彻底关闭休眠:
cmd
powercfg /h off
方案二:Ubuntu 端修复脏分区
bash
# 查找分区
lsblk -f
# 清除脏标志
sudo ntfsfix /dev/nvme
# 更彻底
sudo ntfsfix -b -d /dev/nvme
方案三:回到 Windows 用 chkdsk 彻底修复
管理员 CMD:
cmd
chkdsk D: /f
完成后彻底关机。
方案四:屏蔽 ntfs3,强制使用 ntfs-3g
bash
echo 'blacklist ntfs3' | sudo tee /etc/modprobe.d/blacklist-ntfs3.conf
重启后生效。若要恢复默认:
bash
sudo rm /etc/modprobe.d/blacklist-ntfs3.conf
六、创建永久挂载点
1. 创建固定目录
bash
sudo mkdir -p /mnt/data
2. 查 UUID
bash
lsblk -f
3. 编辑 fstab
bash
sudo nano /etc/fstab
添加:
fstab
UUID=你的UUID /mnt/data ntfs-3g defaults,uid=1000,gid=1000,umask=022,nofail,x-systemd.device-timeout=10 0 0
参数说明:
| 参数 | 作用 |
|---|---|
ntfs-3g |
用兼容性好的 FUSE 驱动,避开脏分区问题 |
uid=1000,gid=1000 |
普通用户拥有读写权限 |
umask=022 |
权限 755/644,安全可读写 |
nofail |
关键:挂载失败不阻塞启动 |
x-systemd.device-timeout=10 |
设备未就绪最多等 10 秒 |
用户 UID 用
id -u确认。
4. 测试
bash
sudo umount /dev/nvme 2>/dev/null
sudo mount -a
df -h /mnt/data
5. 验证开机自动挂载
重启后:
bash
ls /mnt/data
七、常见报错速查
| 报错 | 原因 | 解决 |
|---|---|---|
wrong fs type, bad option, bad superblock |
ntfs3 拒绝脏分区 | 关快速启动 / 用 ntfs-3g / ntfsfix |
error mounting /dev/nvme |
分区被标记为脏 | 同上 |
failed to access mountpoint ... No such file or directory |
挂载点目录不存在 | sudo mkdir -p 创建,或改用 /mnt/data |
/run/media/...属于 tmpfs,重启即清空,不适合做永久挂载点。
八、最终建议
| 诉求 | 推荐方案 |
|---|---|
| 省心稳定(小白) | fstab 用 ntfs-3g + nofail,接受速度折损 |
| 速度优先 | 保留 ntfs3,严格保证 Windows 彻底关机 |
| 彻底告别脏分区冲突 | 共享盘格式化为 exFAT(无日志,断电有风险) |
核心一句话:Windows 端关掉快速启动和休眠,Ubuntu 端用
ntfs-3g+nofail,双系统 NTFS 共享盘基本可以稳定使用。