Windows 8,Ubuntu 16.04分区丢失

Windows 8,Ubuntu 16.04分区丢失

SSD - Windows 8.1 最初在 GPT/EFI 中启动。使用 Gparted 缩小分区以创建用于 Ubuntu 安装的空间。还创建了 128MiB bios_grub 分区。安装了 Ubuntu 16.04(在带有 Grub 的传统 MBR 模式下)。一段时间内一切都很顺利,Windows 和 Ubuntu 都可以顺利启动。Windows 8 突然停止启动,但 Ubuntu 一切正常。当我使用 Windows USB 恢复时,一切都丢失了。什么都无法启动。我知道文件在那里,可以使用 foremost 等找到,但无法获取正确的文件名,文件夹结构丢失。

从 LiveUSB 启动以检查磁盘。并非所有分区都可见。只有前 3 个

/dev/sda1       2048   2050047   2048000  1000M Microsoft basic data
/dev/sda2    2050048   2582527    532480   260M Microsoft basic data
/dev/sda3    2582528   4630527   2048000  1000M Microsoft basic data

尝试了 Testdisk,过去我用它取得了不错的效果。然而 Testdisk 也无法找到我的所有分区。

使用 gdisk 重新创建了 sda7 之前的分区。现在 fdisk 仅报告 1 个分区。

$ sudo fdisk -l /dev/sda

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 525.1 GB, 525112713216 bytes
255 heads, 63 sectors/track, 63841 cylinders, total 1025610768 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: 0xb7687035

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1               1  1025610767   512805383+  ee  GPT

    $ sudo gdisk -l /dev/sda
    GPT fdisk (gdisk) version 0.8.8

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

    Found valid GPT with protective MBR; using GPT.
    Disk /dev/sda: 1025610768 sectors, 489.0 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): -------------------
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 1025610734
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 612129757 sectors (291.9 GiB)

    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048         2050047   1000.0 MiB  2700  Basic data partition
       2         2050048         2582527   260.0 MiB   EF00  EFI system partition
       3         2582528         4630527   1000.0 MiB  EF00  EFI system partition
       4         4630528         4892671   128.0 MiB   EF02  
       5         4892672       197482495   91.8 GiB    0700  
       6       197482496       397481983   95.4 GiB    8300  
       7       397481984       413482991   7.6 GiB     8200  

原装 SSD 就是。

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 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
Disklabel type: gpt
Disk identifier: ---------------------

Device         Start       End   Sectors   Size Type
/dev/sda1       2048   2050047   2048000  1000M Microsoft basic data
/dev/sda2    2050048   2582527    532480   260M Microsoft basic data
/dev/sda3    2582528   4630527   2048000  1000M Microsoft basic data
/dev/sda4    4630528   4892671    262144   128M BIOS boot
/dev/sda5    4892672 197482495 192589824  91.9G Microsoft basic data
/dev/sda6  197482496 397481983 199999488  95.4G Linux filesystem
/dev/sda7  397481984 413482991  16001008   7.6G Linux swap 
/dev/sda8  413485056 ?????????  ????????   Approx 170G Microsoft basic data   
/dev/sda8  ????????? 896514047  ????????  Approx 60G  Linux filesystem
/dev/sda9  896514048 948942847  52428800    25G Microsoft basic data
/dev/sda10 948942848 976773119  27830272  13.3G Microsoft basic data

Originally sda8 was
/dev/sda8  413485056 896514047  483028992 230.3G Microsoft basic data

我非常希望“sda11”能恢复并可启动,但可以使用 sda11 中的文件进行管理。我的看法是,我认为 MBR 分区丢失是因为 Windows 恢复尝试将所有东西都设为 GPT/EFI。使用 gdisk 重新创建分区没有帮助,但窗口 NTFS 分区应该仍然可以安装。然而,这会抱怨 NTFS 签名丢失。Linux 分区 sda6 也是如此。

$ sudo mount /dev/sda5 mnt
mount: block device /dev/sda5 is write-protected, mounting read-only
NTFS signature is missing.
Failed to mount '/dev/sda5': Invalid argument
The device '/dev/sda5' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

还有没有一种方法可以只将分区标记为某个文件系统而不破坏数据。

答案1

您犯了一些根本性的错误,显然是由于一些误解造成的,所以我觉得有必要先解决这些问题。您写道:

现在 fdisk 仅报告 1 个分区。

对于 GPT 磁盘上使用的旧版本,这是正常现象fdisk。GPT 的一部分是“保护性 MBR”,它基本上是一个 MBR 分区表,声明磁盘已被类型为 0xEE 的分区完全占用。保护性 MBR 的目的是防止 GPT 未知工具弄乱磁盘。它确实不是表明存在任何类型的损坏。您的 MBR 分区并未“丢失”(如您在其他地方所写),因为您从未有过 MBR 分区。

请注意,它fdisk甚至告知了你它缺乏 GPT 意识,并告诉你该怎么做:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

gdisk也适用于 GPT 磁盘,并且其用户界面fdisk比更相似。)parted

Windows 8.1 最初在 GPT/EFI 中启动。

我的看法是,我认为 MBR 分区丢失是因为 Windows 恢复尝试将所有内容都变成 GPT/EFI。

Windows 将其启动模式(BIOS/CSM/legacy 与 EFI/UEFI)与其分区表类型(MBR 与 GPT)紧密联系在一起,因此如果磁盘最初以 EFI 模式启动,则它必须使用 GPT。这与您展示的其他所有内容完全一致。Windows 恢复工具应该尝试让这样的系统在 EFI 模式下启动,正如我已经指出的,您没有丢失 MBR 分区。因此,这种情况就像他们所说的那样,“继续前进;这里没什么可看的。”

我非常希望“sda11”能恢复并可启动

您没有显示任何迹象表明您曾经拥有/dev/sda11。您列出的磁盘上原来的内容表明您拥有/dev/sda1/dev/sda10包括 。如果这些分区之间或磁盘的开始或结束处有任何明显的间隙,我会错过它们。

看起来像最多您的分区要么完好无损,要么可以通过 TestDisk 或类似程序恢复。/dev/sda8但这似乎是一个问题;它可能有文件系统损坏。 也是如此/dev/sda5。由于它们最初都是 NTFS 卷,您应该在 Windows 论坛上询问它们。Linux 的唯一 NTFS“修复”工具ntfsfix非常基本——它会进行一些非常简单的检查,修复一两件琐碎的事情,并标记文件系统以便在 Windows 中修复。

看来您知道分区的确切原始起点和终点。您可以将这些值代入gdisk以重新创建分区;但当然,如果您使用的 Windows 修复工具尝试调整分区大小,这些值可能不再有效。

还创建了 128MiB bios_grub 分区。安装了 Ubuntu 16.04(在带有 Grub 的传统 MBR 模式下)。

可以实现双启动,一个操作系统为 EFI/UEFI 模式,另一个操作系统为 BIOS/CSM/legacy 模式,但不太方便。最好在同一模式下安装两个操作系统。请参阅我在 CSM 上的页面了解有关此主题的更多信息。

继续恢复时,我建议您禁用 CSM 并以 EFI 模式恢复或重新安装 Ubuntu。(安装的大部分内容无需更改;您只需要一个 EFI 模式的引导加载程序,也许还需要编辑以/etc/fstab挂载您的 EFI 系统分区 [/dev/sda2/dev/sda3;您似乎有两个] /boot/efi。)

相关内容