我想知道Linux下是否有针对以下情况的软件解决方案:
- 将 USB 磁盘连接到 Windows 主机(可以是 XP、Vista、7 等)。
- 将大文件复制到 U 盘。
- 以不安全的方式从 Windows 断开 USB 设备
- 将 USB 设备连接到 Linux 主机
- 尝试挂载USB设备
结果是 USB 磁盘无法在 Linux 中挂载,因为它包含一个打开的文件。
解决此问题的一种方法是将 USB 磁盘重新连接到 Windows 并安全卸载,然后将 USB 磁盘挂载到 Linux。
有没有办法解决这个问题,只使用Linux工具,而不涉及Windows来正确关闭U盘。
答案1
在挂载之前 fsck.vfat 或 fsck.ntfs 文件系统(取决于其类型)。如果文件管理器在尝试挂载之前需要 fsck-ed 文件系统,那就太好了,但我没有看到他们这样做。
如果某些内容无法挂载,那是因为文件系统损坏,而不是因为文件已打开。
答案2
我也遇到过同样的问题,这主要是由于 Windows 及其对 USB HDD 的处理方法造成的。我使用的是 Windows XP 和 500 GB Buffalo 外置 USB 2 硬盘以及“Turbo USB”软件实用程序。我真的不知道如何正确卸载驱动器,特别是当通知面板(屏幕右下角)中没有列出“安全删除硬件”通知图标时,为什么会随机显示该图标是另一个等待解决的谜团;但自从禁用“Windows 索引”功能后,事情似乎更加一致。
现在,我最近在尝试 Linux ZORIN 发行版时遇到了无法安装错误,“Linux”错误消息的信息量比 Windows 更丰富,如下所示:-
外部硬盘错误无法在 Linux Zorin 中挂载 2/04/2013
无法挂载 500 GB 文件系统
安装错误:安装已退出,退出代码为 13:
磁盘包含不干净的文件系统 (0, 0)。
Windows 上的文件系统未安全关闭。
定影。 ntfs_attr_pread_i: ntfs_pread 失败:输入/输出错误 无法读取 NTFS $Bitmap:输入/输出错误 NTFS 不一致,或者存在硬件故障,或者是 SoftRAID/FakeRAID 硬件。
在第一种情况下,在 Windows 上运行 chkdsk /f,然后重新启动 Windows 两次。 /f参数的用法非常重要!如果设备是 SoftRAID/FakeRAID,则首先激活它并在 /dev/mapper/ 目录下安装不同的设备(例如 /dev/mapper/nvidia_eahaabcc1)。请参阅“dmraid”文档了解更多详细信息。
自从得到这个之后,我们又回到了 Windows XP 计算机,最终经过大量的“反复试验”,成功安装了 Buffalo 驱动器并能够访问其上的文件。有人可以帮忙提供下一步该做什么的建议吗?谢谢约翰