我的系统
我在一台配备 256GB SSD 驱动器的联想 X1-carbon 笔记本电脑上安装了 Windows 8 和 Linux Debian 的双启动设置,并进行了测试。我创建了一个 NTFS 格式的共享分区,并在 Windows 和 Linux 中大量使用此分区。此外,在共享分区上我有一个 Dropbox 文件夹,这样我就可以在 Windows 和 Linux 中积极使用 Dropbox,而不会用来自两个独立 Dropbox 实例的冗余数据填满我的驱动器。
目前我主要使用 Linux,但在不久的将来我可能会更多地使用 Windows,因为我想大量使用 Visual Studio。
(我曾尝试在 Windows 中使用 Linux 虚拟机,但由于性能不佳,我并不喜欢它)
问题
发生了奇怪的驱动器错误,当我尝试使用 Windows Repair-Drive-at-next-boot 工具修复这些错误时,问题会消失很长时间(比如 7-14 天),但突然间问题又出现了......
在 Windows 中,错误会通过系统通知(右下角的标志)显示出来,并建议在下次启动时修复驱动器。每次出现错误时我都尝试这样做,确实可以解决问题,但错误似乎会在 7-14 天后再次出现。
在 Linux 中,该错误主要由 Dropbox 的奇怪行为引起,它似乎永远同步而永远无法完成,当今天发生错误时,我登录 Linux 并得到以下 Dropbox 提示:
Couldn't start Dropbox
This is usually because of a permissions error. Errors can also be caused by your home folder being stored on a network share. get more help at ......(dropbox.com links)
/tmp/dropbox_errorvKYiuw.txt
此外,我还看到过类似的错误:
ls: cannot access network.txt: Input/output error
其中 network.txt 只是我很久以前在 Dropbox 文件夹中创建的任意文本文件...当我尝试使用 Vim 打开该文本文件时,它显示为空,尽管其中应该有一些文本,并且在窗口底部显示“[权限被拒绝]”。
此外,我曾经遇到过这种情况:无论是 Windows 还是 Linux Dropbox 应用程序,都会将损坏的冲突复制文件发送到 Dropbox。(当我发现它时,它已经创建了数百个损坏的文件)
关于编辑 dropbox 文件夹中的文件,我注意到,当我在 linux 中的 libre office 中编辑某些文件并将文件保存到 dropbox 文件夹时,编辑的更改不会出现在 windows 中,直到 dropbox 完成同步。
就好像文件更改从未保存在实际硬盘上,而只是发送到 dropbox 服务器。(到目前为止,我只在 libre office 中的 .odt 文件中注意到了这一点)
过去的双启动体验
我之前的笔记本电脑上有一个非常相似的双启动设置,运行 Windows 7 和 Debian 测试版,还有一个带共享分区的 SSD 驱动器 - 上面有一个共享的 Dropbox 文件夹。那台笔记本电脑上的一切一直运行正常,没有任何奇怪的驱动器错误。
我对当前系统设置可能存在的问题做出了以下猜测:
- 也许 SSD 驱动器硬件中的某些扇区存在故障,然后当文件意外地进入这些扇区时就会发生错误……
- 也许 Windows(或 Linux)对文件(或它们的排列)做了一些事情,从而导致了 Windows 操作系统和 Linux 操作系统之间的混淆……(例如更改权限)
- 也许 Linux Dropbox 应用程序和 Windows Dropbox 应用程序对文件执行的操作非常不同,这出于某种原因导致了操作系统中驱动器状态的混淆……
结论
尽管我每天都在使用 Linux,但我不知道如何调试这样的问题,甚至不知道从哪里开始。我确实有一些关于计算机架构、汇编和 C 的基本知识,但我只玩高级编程语言(C#、java、python)……
如果有人能提供一些关于如何在 Windows 或 Linux 或两者中调试此类问题的线索,那就太好了。
例如,是否存在一些可靠的工具或简单的方法来检查驱动器是否确实有故障……?
答案1
这是我根据大量经验提出的建议 - 不要在 WIN 8 中共享数据分区,也不要让 WIN 8 映射其他分区访问的任何驱动器/分区。我在 WIN7/WIN8 设置中遇到了完全相同的问题。甚至重新分区并重新格式化了数据驱动器。而且这个问题非常容易重复,每次我使用 WIN 8 时,共享分区上的数据都会损坏。VS 2012 将在 WIN 7 上运行,而且该设置更加稳定。