Ubuntu 22.04下NTFS驱动器自动挂载后重命名文件触发Input/Output Error的问题求助
各位好,我遇到了一个挺费解的NTFS挂载问题,想请教大家:
我的硬件是12年前组装的中端游戏PC,刚装了Ubuntu 22.04 LTS。机器有两块硬盘,主硬盘重新分区成了swap、boot、系统和数据四个分区;副硬盘是之前Windows系统下的纯数据盘,一直没装过系统,保留了原NTFS格式没动。
最开始我是手动按需挂载这个NTFS盘,文件读写、转移都没问题。后来想设置自动挂载,就在fstab里加了这行配置:
/dev/sdb1 /media/location ntfs defaults 0 0
检查配置没报错,重启后也能自动挂载(试过用UUID但验证时出错,所以暂时先用/dev/sdb1)。挂载后能直接访问,播放媒体文件也完全正常。
今天我在文件管理器里打开这个盘的一个子文件夹,批量重命名了50-60个文件——选中文件按F2改名字,回车保存,全程没弹出任何警告或错误。但等我退出这个子文件夹再重新进去时,突然弹出Input/Output错误,提示无法获取其中一个改名文件的信息,而且文件夹里完全看不到任何文件了。
我打开终端导航到这个目录,用ls命令能列出所有文件(包括没改名的和改了名的),但每个被重命名的文件都会显示错误提示。
查资料的时候看到有人说,fstab里用ntfs而不是ntfs-3g的话,驱动器会被挂载成只读模式。可如果是只读的话,我为什么能在文件管理器里重命名文件呢?而且重命名之后为什么会触发这种IO错误?
目前这个盘里其他目录的内容都还能正常访问,我已经用终端把所有没改过名字的文件转移到了主硬盘的数据分区,这些文件也能正常打开使用。
我已经安装了ntfs-3g,尝试运行ntfsfix修复,但终端返回:
refusing to operate on read-write mounted device
想请教大家:
- 为什么重命名文件会引发这种问题?
- 有没有办法修复这些报错的文件?
- 是不是必须把所有数据转移到其他盘,然后重新格式化这个NTFS驱动器才行?
备注:内容来源于stack exchange,提问作者Sam B

