当“主 GPT 表已损坏,但备份似乎正常”时,如何从 Windows 分区中获取数据

当“主 GPT 表已损坏,但备份似乎正常”时,如何从 Windows 分区中获取数据

在我的华硕笔记本电脑 (U37VC) 上运行 Windows 8.1。蓝屏;错误 0xc000000e。我想我不知怎么搞砸了启动(最近在恼人的延迟后进行了一些硬重启)。在 BIOS 中禁用启动保护后,我能够运行一个实用程序 (EasyRE),它应该可以从 USB 修复此问题。不起作用;没有识别分区。

我想改用 Ubuntu 来修复这个问题。我正在使用通过 USB 运行的 Ubuntu 15.04。GParted 说“主 GPT 表已损坏,但备份似乎正常,因此将使用它。”

尝试在终端中运行一些操作:

ubuntu@ubuntu:~$ sudo mount -t cifs -o ro /dev/sda6 /home/ubuntu/cdrive
mount.cifs: bad UNC (/dev/sda6)
ubuntu@ubuntu:~$ sudo ntfsfix /dev/sda6
Failed to determine whether /dev/sda6 is mounted: No such file or directory
Mounting volume... Failed to access '/dev/sda6': No such file or directory
Error opening '/dev/sda6': No such file or directory
FAILED
Attempting to correct errors... Failed to access '/dev/sda6': No such file or directory
Error opening '/dev/sda6': No such file or directory
FAILED
Failed to startup volume: No such file or directory
Failed to access '/dev/sda6': No such file or directory
Error opening '/dev/sda6': No such file or directory
Volume is corrupt. You should run chkdsk.
ubuntu@ubuntu:~$ 

卷损坏了?好吧,我真的很害怕。我应该指出,我不知道我在这里做什么,这段代码是从类似这个网站上复制粘贴的。

有想法吗?我的大部分资料都在云端,但我是一名研究生,我珍贵的 Zotero 文件不在云端。我有备份吗?没有,我是个白痴。我不在乎备份,因为我写的所有内容(因此不可替代)都在 Gmail 中;直到发生这场灾难,我才想起 Zotero。

请帮忙。有没有办法解决这个问题?或者至少把我需要的东西从驱动器上拖下来?驱动器本身没问题吗?(即使我无法删除数据,我也想知道全新安装 Windows 或 Ubuntu 是否可以解决问题)我该如何检查?

编辑:---------------

Device          Start        End    Sectors   Size Type
/dev/sda1        2048     616447     614400   300M EFI System
/dev/sda2      616448    1845247    1228800   600M Windows recovery environment
/dev/sda3     1845248    2107391     262144   128M Microsoft reserved
/dev/sda4     2107392  782772223  780664832 372.3G Microsoft basic data
/dev/sda5   782772224  783515647     743424   363M Windows recovery environment
/dev/sda6   783515648 1911560191 1128044544 537.9G Microsoft basic data
/dev/sda7  1911560192 1953523711   41963520    20G Windows recovery environment

也许一些额外的信息会给那些知道自己在做什么的人带来启示:当尝试使用 Windows 8.1 安装盘进行修复时,它表明驱动器已被锁定,我应该以某种方式“解锁”它。

好的,这是我从 fdisk 得到的信息:

ubuntu@ubuntu:~$ sudo sgdisk -b sda-backup.gpt /dev/sda
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
The operation has completed successfully.

ubuntu@ubuntu:~$ sudo sgdisk -p /dev/sda
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): EA00449F-79EF-40B7-9A63-F062CED0EBBE
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3437 sectors (1.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          616447   300.0 MiB   EF00  EFI system partition
   2          616448         1845247   600.0 MiB   2700  Basic data partition
   3         1845248         2107391   128.0 MiB   0C01  Microsoft reserved ...
   4         2107392       782772223   372.3 GiB   0700  Basic data partition
   5       782772224       783515647   363.0 MiB   2700  
   6       783515648      1911560191   537.9 GiB   0700  Basic data partition
   7      1911560192      1953523711   20.0 GiB    2700  Basic data partition

ubuntu@ubuntu:~$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.0

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

    Command (? for help): v

    Partition(s) in the protective MBR are too big for the disk! Creating a
    fresh protective or hybrid MBR is recommended.

因此我将备份标题复制到了主标题(我希望这是我所做的):

ubuntu@ubuntu:~$ sudo gdisk /dev/sdc
GPT fdisk (gdisk) version 1.0.0

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************


Command (? for help): q
ubuntu@ubuntu:~$ gdisk /dev/sda

GPT fdisk (gdisk) version 1.0.0

Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

Command (? for help): r

Recovery/transformation command (? for help): b

Recovery/transformation command (? for help): m

Command (? for help): w

Partition(s) in the protective MBR are too big for the disk! Creating a
fresh protective or hybrid MBR is recommended.

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning! An error was reported when writing the partition table! This error
MIGHT be harmless, or the disk might be damaged! Checking it is advisable.

现在我看到 OS(驱动器图标)、DATA(驱动器图标)和 UUI(USB 图标)弹出到屏幕的一侧。单击它们没有任何结果,但在 Nautilus 中单击“DATA”会显示“在 /media/ubuntu/DATA 上安装 /dev/sda6 时出错:命令行 `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=999,gid=999" "/dev/sda6" "/media/ubuntu/DATA"' 以非零退出状态 1 退出:”

倒数第二(?) 编辑: --------

无论第二个问题是什么,在使用 gdisk 复制备份 GPT 后,使用 EasyRE 实用程序对其进行了一些修复 - 至少足以让我回到 Windows 中获取我的文档。不过,我现在有三个分区,而不是以前两个。一个 ~400GB C:,里面有大部分重要的东西;一个 600MB D:,称为“恢复”,里面充满了我认为是 Windows 创建的与“恢复”相关的内容,尽管可能是使用 Windows 工具的 EasyRE;还有一个 400MB 的空白 E:(虽然根据 Windows 的说法,似乎使用了 9/10 - Ubuntu 显示隐藏文件)。Ubuntu 还显示了一个 315MB FAT“系统”分区。所以我丢失了以前的 D: 驱动器。我会在下周尝试找出原因,当然,如果大家有什么想法,我会很感激的。

Ubuntu 指出我有两块“可用空间”:599GB 和 134MB。我认为恢复之前 (D:) 中的内容会很困难。

答案1

首先,通用互联网文件系统 (CIFS)是一种网络协议,而不是硬盘上使用的文件系统。因此,您尝试使用 CIFS 安装磁盘从一开始就注定要失败。(您可能使用 CIFS 访问同一磁盘从另一台计算机,但不在本地。)大多数 Windows 分区使用 NTFS,Ubuntu 使用 NTFS-3g 驱动程序进行安装。

ntfsfix其次,在磁盘上使用也注定会失败。尽管它的名字如此,ntfsfix但实际上并没有修复任何重大问题;它进行了一些简单的检查,然后将文件系统标记为需要 Windows 注意。因此,如果有的话,这一步只会让事情变得更糟,因为它可能会阻止从 Linux 访问文件系统的尝试。此外,不清楚你为什么/dev/sda6同时尝试使用mountntfsfix。你是从磁盘实用程序中获取该设备 ID 的,你还记得它是正确的设备吗,还是什么?这正是帮助解决问题所需的技术信息。

第三,也是最重要的一点,您报告的错误消息指的是GUID 分区表 (GPT),这是一个数据结构级别多于文件系统的文件系统。因此,尝试修复文件系统是错误的,至少在这个阶段是这样。(这就像在蛋糕配方中将面粉和鸡蛋混合在一起之前尝试烘烤它们。)相反,您必须寻找修复分区表的方法。幸运的是,GPT 包含冗余,因此修复它很可能是可能的。但是,您提供的信息不足以提供执行此操作的分步说明,并且您无法提供任何简单的数据集来改变这一事实。有很多事情可能出错,所以从现在开始它必须是一个过程根据您所学到的知识进行诊断并采取相应措施,而不是采用处方方法。

首先,我建议您按顺序阅读以下页面:

  1. GPT fdisk“什么是 GPT?”页面
  2. 维基百科上有关 GPT 的页面(您实际上可以浏览其中的大部分内容,但请注意磁盘上数据的布局以及保护性 MBR、两个 GPT 标头和两个分区表之间的差异)
  3. 有关修复问题的 GPT fdisk 文档

要有耐心!如果你跳过前两页,直接阅读第三页,那么你的知识将是不完整的,你很可能只会把事情搞砸。一旦你读完这些页面,你应该能够用它来gdisk检查你的磁盘,如果幸运的话,还可以修复它。

如果你不能修复磁盘gdisk,你可以使用测试磁盘搜索磁盘中的文件系统并创建描述其找到的内容的分区表。不过,这绝对是最后的手段。

相关内容