Ubuntu 会损坏 USB 驱动器吗?

jan*_*781 76 filesystem windows ntfs fat32

每当我使用 Nautilus 卸载 USB 驱动器并将其插入 Windows 计算机时,我都会收到一条警告,提示该驱动器需要修复。


(与此屏幕截图中的消息相同)

在 Windows 上工作了 10 多年,我从未有过损坏或损坏的 USB 驱动器,但在过去两年中,我的三个 USB 驱动器无法使用,所以我无法证明这一点,但很明显这与 Ubuntu 的(卸载)挂载行为有关.

一位朋友告诉我,我可以使用 udisks 和 sync 来防止这种损坏,但我希望这不是方法,在 2016 年使用 shell 命令安装驱动器。

Tak*_*kat 104

不用担心 Ubuntu 不会损坏您的 USB 驱动器。但是我们不使用 FAT32、FAT16 或 NTFS 文件系统的记录不佳的位标志。在 Windows 上,当我们没有正确卸载驱动器或发生 I/O 错误时,这些标志表明文件系统可能已损坏。

这些位位于 FAT 分区表的保留条目中。根据2004 年Microsoft 内部论文,这些位的目的是:

  • ClnShutBitMask
    如果位为 1,则音量为“干净”。可以安装该卷以供访问。如果位为 0,则该卷为“脏”,表明 FAT 文件系统驱动程序无法正确卸载该卷(在先前的挂载操作期间)。应扫描卷内容以查找对文件系统元数据的任何损坏。
  • HrdErrBitMask:
    如果此位为 1,则表示未遇到磁盘读/写错误。如果此位为 0,则文件系统驱动程序实现在上次挂载卷时遇到磁盘 I/O 错误,这表明某些扇区可能已损坏。应使用磁盘修复实用程序扫描卷内容,该实用程序对其进行表面分析以寻找新的坏扇区。

几年前与内核文件系统开发人员就如何克服这个问题进行了一些讨论,但我无法跟进结果。显然它没有进入最近的内核。

由于只涉及一个位标志,但通常我们的数据应该处于完美状态,我们可以忽略我们以前在 Ubuntu 中使用的那些驱动器上的警告 Windows 问题。

  • @ThomasW。这些位相当模糊,但我的 Ubuntu 格式的 USB 驱动器在我的工作场所 Windows 7 上偶尔会出现这些错误。到目前为止,我还没有看到任何有用的模式。我唯一能说的是我总是正确卸载/弹出驱动器。测试并不容易,因为家里没有 Windows,工作中没有 Ubuntu。 (5认同)
  • 当我真正安全地卸载驱动器时,我从未在这些驱动器中出现过这些错误 - 您确定缺少对这些位的支持吗? (3认同)

Mar*_*rby 74

这主要是 Windows 的问题。它认为它是世界上唯一的操作系统,如果它检测到它不理解的东西就会采取行动。

仅仅因为 Windows 说您必须修复驱动器并不能使其成为现实。

我与 Ubuntu 一起使用的任何驱动器都从 Windows 收到此消息,我只是说no它们在 Windows 上运行良好。

简而言之,驱动器没有任何问题,只是那里有一些 Windows 不理解的东西,它的反应是销毁它。

不要repair驱动器,它会在不告诉您的情况下对其进行格式化,并且您将丢失驱动器上的所有数据。

  • 1.修复不格式化,修复将分配的数据保存到文件夹中。对我来说,Ubuntu 似乎没有正确完成写入过程。 (41认同)
  • -1 因为它没有根据而且是错误的。我已经看到 Ubuntu 15 损坏了我的 NTFS 卷(是的,我知道你不会相信我,但我亲眼看到它并且在我自己相信之前连续复制了至少 3-4 次),并且它尽管我明确同步了所有缓冲区,但还是发生了。我同意@jan6352781,我也怀疑是由于没有完成写入过程,我仍然这样做。***事实上,如果您在写入后等待足够长的时间再重新启动 Ubuntu,它就可以正常工作。*** 我们没有理由相信 Windows 是这里的错,而相信 Ubuntu 是有充分理由的。 (19认同)
  • 整个答案只是零证据的 Windows 咆哮(轶事除外)。 (17认同)
  • 2、大多数U盘都是FAT32格式的,是微软开发的,为什么Windows是唯一一个“不懂”的系统?? (10认同)
  • 修复驱动器不会对其进行格式化。它运行 chkdsk。它不会比 fsck 格式化磁盘更多地格式化磁盘。 (7认同)
  • 3. 在过去的几年里,我几乎每天都跳过维修,结果文件和 USB 驱动器损坏了。 (6认同)
  • @jan6352781(2)。尽管如此,当你将 `hlt` x86 指令作为 USB 驱动器 Ubuntu 的第一个字节时,并且任何其他 GNU/Linux 也这样做,不会认为这是一个错误,而 Windows,至少 XP 是这样,说驱动器是currpted,需要一个格式。仅供参考,驱动器的前 512 个字节由引导加载程序的 442 个低字节和分区表的 72 个高字节组成。因此,链接 USB 记忆棒的第一个字节只会将引导加载程序更改为自定义加载程序(不随操作系统或第三方软件提供)。 (5认同)
  • 是的,Windows 10 格式化了我的 EXT4 Lubuntu 分区,因为它在 FAT 分区之前。先放FAT分区就没有问题了... (4认同)
  • @Mehrdad 我不明白 Ubuntu 有什么问题,因为您没有让驱动器上的写入“毫无根据且错误”您错了,因为由于之间缺乏兼容性,该警告出现在 Windows 中是正确的Windows 和其他操作系统,我明白你的观点,但你的用词选择(特别是“毫无根据”,你可以看到很多人都同意)非常糟糕。 (4认同)

ale*_*x_d 19

正如您在评论中所建议的那样,这可能与 Ubuntu 在您移除闪存驱动器之前未完成写入过程有关。Ubuntu在复制过程中将文件写入RAM,并在关闭复制对话框后在后台将这些文件从缓冲区写入USB驱动器。有一个答案这表明这对于具有大量内存的机器来说尤其是一个问题,但很可能您在后台写入完成之前移除了驱动器。当您弹出驱动器时,这会强制将缓冲区写入磁盘,但很难判断写入何时实际完成。在较新的版本(15.10 肯定,可能是 15.04)中有一个弹出窗口旨在解决这个问题 - 一段时间(通常很短)后会出现一个紫色警报,上面写着“[Drive] 现在可以被删除”一次写完了。

这可能是您朋友建议同步的原因。sync在终端中运行会强制将所有缓冲的数据写入磁盘,并且只有在写入完成后才应返回(请参阅此答案)。请参阅实用程序的答案,该实用程序将帮助您确定这是否确实是问题所在。


Xen*_*050 7

我见过很多 USB 驱动器,尤其是 USB 适配器中的闪存(SD 等)卡,在使用 Ubuntu 和 Ubuntu 衍生发行版时,FAT 文件系统(几乎每个 USB 驱动器都预先格式化为 FAT32)损坏。这几乎是每隔几个月定期日常使用就经常发生的事情。

如果是硬件问题,那么用 ext3(或 4)格式化分区应该无济于事,但 ext3/4 使文件系统几乎可以防弹。(ext2 在我试过的几个月里也被损坏了;本来应该有更少的写入,所以闪存驱动器的寿命更长,主要是没有日志)。

所以,Ubuntu的应该不是物理损坏USB驱动器本身,但我还是不FAT文件系统相信它100%。

我认为可以通过以下方式最好地避免文件系统损坏:

  • 切勿在 USB 驱动器卸载umount/弹出之前拔下它。即使驱动器当前没有写入任何内容(如果它有灯,它不会闪烁)并且即使您已经完成了sync文件系统可能仍然
  • umount/eject之后至少等待几秒钟,然后再拔掉它。似乎即使在umount驱动器的活动指示灯有时也会继续闪烁一段时间。像这个人这样的其他用户说它可能会持续一分钟。
  • 不要只依赖sync任何一个,就像这个文件损坏的人一样。

相关(一般)链接: