恢复 Windows 文件

恢复 Windows 文件

我试图在 Windows 7 的同时安装 Ubuntu。我在安装过程中愚蠢地弹出了 Live CD,现在我无法重新启动 Windows 7。我浏览了此网站上的一些问题,但有各种帮助说明,我不确定哪些适用于我。我目前正在使用 Live CD。

我运行了一些我发现的命令,结果如下:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x1a3f0dfb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63        2047         992+  42  SFS
Partition 1 does not start on physical sector boundary.
/dev/sda2            2048      409599      203776   42  SFS
/dev/sda3          409600  1434507256   717048828+  83  Linux
/dev/sda4      1434507264  1465147119    15319928   42  SFS

ubuntu@ubuntu:~$ sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

NAME   FSTYPE     SIZE MOUNTPOINT                                         LABEL
sda             698.7G                                                    
├─sda1 ntfs       199M /media/ubuntu/SYSTEM                               SYSTEM
├─sda2 ext4     683.9G /media/ubuntu/282b0be8-88df-4095-b50e-acb7e1f06094 
├─sda3 ntfs      14.5G                                                    RECOVERY
└─sda4 vfat     102.9M /media/ubuntu/HP_TOOLS                             HP_TOOLS
sr0    iso9660    996M /cdrom                                             Ubuntu 14

我认为 sda2 是我的 Windows 分区,但是当我转到时/media/ubuntu/282b0be8-88df-4095-b50e-acb7e1f06094该文件夹是空的。

这是什么意思?我的结果是否意味着我的“Windows 分区”已“安装”?如何恢复我的 Windows 文件?我需要 TestDisk 吗?

答案1

(很小的)好消息:提前弹出光盘确实不是导致你的问题。不要为此自责。

剩下的恐怕都是坏消息了。从技术角度来说,你的硬盘已经完全乱套了。:-(

您的/dev/sda1/dev/sda2/dev/sda4均为 0x42 类型。 还将此类型标识为“SFS” fdisk,尽管该首字母缩略词实际上指的是一种不再常见的用途——它实际上是 Windows 2000(及更高版本)动态磁盘(又名逻辑磁盘管理器,或 LDM),它与 Linux 类似(但不兼容)逻辑卷管理器 (LVM)

无论如何,我猜你是在 Windows 中以 LDM 配置开始的,但你或 Ubuntu 安装程序没有正确识别它。相反,你或 Ubuntu 安装程序试图调整 LDM 分区的大小,就好像它们是普通文件系统一样,以便为 Ubuntu 腾出空间。这是一个大的错误,因为它损坏了 LDM 设置,并且可能损坏了其中包含的文件系统。这导致 Windows 安装被破坏。更重要的是,您完全恢复的希望很小(但并非不存在)。

作为第一步,我建议你备份所有可以读取的数据文件。使用 Linux 和/或 Windows 紧急工具执行此操作。如果你找不到所有文件,请对你的全部的硬盘到另一个硬盘,例如:

sudo dd if=/dev/sda of=/path/to/big/space/backup.img

显然,您需要一个大磁盘来保存备份;在本例中,它安装在/path/to/big/space。如果尝试修复使情况变得更糟(并且有两位数的概率),您将能够从备份中将事情恢复到当前状态。

备份完成后,我建议你启动一个应急磁盘并删除所有分区。然后您可以使用测试磁盘尝试恢复原始 NTFS 卷。您可能需要摆弄 TestDisk 选项才能使其恢复正确的文件系统;不要让它恢复任何 Linux 文件系统,因为 Linux 文件系统可能会覆盖关键的 NTFS 数据,而您需要恢复的正是 NTFS 数据。此过程不太可能完全成功,但您至少有可能恢复一个文件系统。不过,它可能已损坏,在这种情况下,您必须从 Windows 中恢复它。即使您恢复了文件系统,某些文件也可能已损坏或丢失。

如果此过程失败,您的最后恢复方法(假设您没有现有备份)是使用相簿或一些类似的工具来进行文件级恢复。据我上次检查,PhotoRec 在恢复文件名方面做得不好,所以您必须逐个筛选文件才能确定它们是什么。这会很乏味。我听说有商业 Windows 工具可以更好地从 NTFS 卷恢复文件名,所以您可能想研究这些选项而不是 PhotoRec。不过,我对这些替代方案了解不多,所以我不能推荐特定的产品。您可能想在 Windows 论坛上询问这个问题。

附带说明一下,当您在磁盘上创建超过四个分区时,Windows 会在没有警告的情况下创建 LDM 配置。如果您启动时磁盘有超过四个“分区”(实际上是逻辑卷),则它一开始就有 LDM。但是,如果您使用 Windows 工具为 Linux 创建新分区,则会触发整个事件链。在使用 Windows 的系统上准备安装 Linux 时,规则 #1 是不是使用 Windows 工具创建 Linux 分区。您可以使用 Windows 工具缩小 Windows 分区,但保留未分配的可用空间;让 Linux 安装程序在未分配的空间中创建自己的分区。


编辑:我刚刚注意到,您的fdisklsblk输出在什么是什么方面不一致;fdisk表明 Linux 安装到/dev/sda3,但lsblk表明它安装到/dev/sda2。我主要根据fdisk输出编写了上述内容,但lsblk可能更值得信赖。尽管如此,我所写内容的大致内容可能仍然适用。

答案2

sda1 是您的 Windows 分区,sda2 是为安装 ubuntu 而创建的分区。重新安装并正确完成这次操作,一切都应该正常。重新安装时,选择手动分区并选择 sda2 格式化为 ext4 并挂载为“/”。

相关内容