「解决方案」Linux 无法在 NTFS 硬盘上创建文件/文件夹的问题
问题描述
在 Linux 系统(如 Ubuntu)中挂载 NTFS 格式的硬盘(如 Windows 的 D 盘、E 盘)时,可能会遇到:
- 无法创建新文件或文件夹(即使
chmod 777
也不行) - 挂载时提示:
The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Falling back to read-only mount...
- 尝试
sudo mount -o rw
仍然失败
根本原因:Windows 的 快速启动(Fast Startup) 功能会在关机时保存系统状态,导致 NTFS 分区被标记为“不干净”,Linux 出于安全考虑会拒绝以读写(RW)模式挂载。
解决方案:彻底关闭 Windows 快速启动
步骤 1:进入 Windows
- 重启电脑,进入 Windows 系统(不要用休眠或睡眠)。
- 确保你是 管理员账户(否则无法修改电源设置)。
步骤 2:关闭快速启动
打开控制面板
- 按
Win + R
,输入control
,回车。 - 或者直接在开始菜单搜索 控制面板。
- 按
进入电源选项
- 选择 硬件和声音 > 电源选项。
更改电源按钮的功能
- 点击左侧的 选择电源按钮的功能。
取消勾选“快速启动”
- 点击 更改当前不可用的设置(需要管理员权限)。
- 取消勾选 启用快速启动(推荐)。
- 点击 保存更改。
https://example.com/fast-startup-disable.png (示例图,实际界面可能略有不同)
步骤 3:完全关机(不要重启)
- 方法 1:在 Windows 中直接 关机(不要用“重启”)。
- 方法 2(推荐):按
Win + R
,输入:shutdown /s /f /t 0
步骤 4:回到 Linux 重新挂载
- 启动进入 Linux(如 Ubuntu)。
- 卸载原有挂载(如果已挂载):
sudo umount /dev/sdb2
- 重新以 读写(RW)模式挂载:
sudo mount -o rw /dev/sdb2 /media/YourMountPoint
- 现在应该可以 正常创建/删除文件了!
为什么不能直接 mount -o rw
?
- Windows 的 快速启动 类似于“休眠”,它会缓存系统状态,导致 NTFS 分区被锁定。
- Linux 的
ntfs-3g
会检测到这种状态,并强制挂载为 只读(RO) 以防止数据损坏。 - 彻底关闭快速启动 是唯一可靠的解决方案,否则每次 Windows 关机后都会遇到同样的问题。
其他可能的解决方案(不推荐)
方法 | 问题 |
---|---|
sudo ntfsfix --force /dev/sdb2 | 可能损坏 Windows 休眠数据 |
sudo mount -o rw,remove_hiberfile | 有时无效,仍然会被拒绝 |
在 Windows 中禁用休眠 (powercfg /h off ) | 不影响快速启动,不解决根本问题 |
最佳方案仍然是彻底关闭 Windows 快速启动!
总结
✅ 问题:Linux 无法在 NTFS 硬盘上创建文件
✅ 原因:Windows 快速启动导致 NTFS 被锁定
✅ 解决方案:
- 进入 Windows
- 关闭快速启动(控制面板 → 电源选项)
- 完全关机(
shutdown /s /f /t 0
) - 回到 Linux 重新挂载
这样就能永久解决问题!🎉
如果你觉得这篇文章有帮助,欢迎分享! 🚀
有任何问题,欢迎在评论区留言讨论! 💬