丢失文件修改之谜(混合驱动器 + Ubuntu 12.04)

丢失文件修改之谜(混合驱动器 + Ubuntu 12.04)

上周(9 月 10 日),我花了一整天时间(在我的 Ubuntu 12.04 HP elitebook 8530p 笔记本电脑上)使用 tex 编辑器(TexWorks)和 Jabref 来维护 Bibtex 库。但今天我发现我当天的所有修改都丢失了!文件上的“修改日期”显示最后修改时间是两周前(9 月 4 日)。我的第一反应是查看编辑器是否由于程序错误或文件权限问题而无法正确保存,但在没有发现任何问题后,当我启动在线备份程序 CrashPlan(每 15 分钟保存一次文件修改)时,我最近修改的文件已正确存储在线!

我相信这意味着文件可用并且已正确保存在文件系统上,备份过,但不知何故更改后来丢失了。我担心我的新 Seagate 混合硬盘 (ST95005620AS Momentus XT) 要么是自身导致的,要么是与休眠/挂起或其他 Ubuntu 功能“协同”导致的。

我 2 个月前安装了 Seagate,为了在我的磁盘上安装 Ubuntu,我将我的旧 HD 内容(由于一些坏扇区而被替换)直接复制(我相信是使用 ddrescue 或 dd)到此混合驱动器上。到目前为止,该驱动器没有显示任何错误,并且(由于我使用 Java 编写了大量大型项目,这台机器上有数百个修改过的文件)其他文件没有出现类似的问题。

tex 和 bib 文件的文件名确实很长(包括“&”符号)。目前,我已将我的工作复制到新文件中,但这确实让我很担心!

一些系统信息:

fdisk -l:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006f049

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      782335      390144   83  Linux
/dev/sda2          782336    20314111     9765888   82  Linux swap / Solaris
/dev/sda3        20316158   976773119   478228481    5  Extended
/dev/sda5        20316160    59375615    19529728   83  Linux
/dev/sda6        59377664    98437119    19529728   83  Linux
/dev/sda7        98439168   976773119   439166976   83  Linux

我的系统日志中有一条消息可能与之相关:

[  251.033263] EXT4-fs (sda7): Unaligned AIO/DIO on inode 7474846 by VirtualBox; performance will be poor.

然而,寻找解决方案却让我发现 vdi 文件本身的文件系统未对齐(除非我误解了?)。

除了 tex 文件之外,我相信我还更改了启动器上的图标,但后来(第二天)又将其设置回去了,因此可能有更多修改丢失了。

我的直觉是 SSD 缓存机制不知何故丢失了最新的更改并恢复到常规盘片上的版本?从我的非混合驱动器到混合驱动器的磁盘复制是否会引起任何问题?

欢迎任何想法,谢谢!

相关内容