背景

背景

背景

我使用 Macbook Pro,它有 High Sierra 和 Fedora 双启动。我没有使用 Fedora,所以我想尝试 Ubuntu 17.10,并且我运行了一个实时 USB(以 EFI 模式启动)。

鉴于我所有与工作相关的文件、项目和其他“重要内容”(在 Mac 端)都已通过 Dropbox 或远程 Git 存储库备份,我决定删除 Fedora 并安装 Ubuntu,而不对驱动器进行完整的比特流映像。

首先,我使用 Gnome Disks 删除了 Fedora 相关分区(这没问题)。我启动了 Ubuntu 安装程序,并执行了以下步骤:

  • 选择语言 > 继续
  • 勾选“安装 Ubuntu 时下载更新”> 继续
  • 选择“其他”作为分区 > 继续
  • 错误地将类型设置/dev/sda2为“用于加密的物理卷”并添加了我的密码

请注意我没有选择“覆盖空磁盘空间”。我还没有继续安装(我没有到达要求您确认新分区表的阶段)。相反,我单击了“返回”,然后立即关闭了安装程序。

这不应该将任何内容写入磁盘。但是,Ubuntu 安装程序似乎还是决定写入一些内容。

问题

快速重启后,很明显磁盘上写入了错误的内容,尽管从未到达确认步骤。分区类型已更改,rEFInd(正确加载)和 Apple 启动屏幕都找不到 macOS。

这是输出lsblk

NAME   FSTYPE LABEL              UUID                                 MOUNTPOINT
loop0  squash                                                         /rofs
sda                                                                   
├─sda1 vfat   EFI                67E3-17ED                            
├─sda2 crypto                    9b2ca99d-cf43-4d35-936d-be37db7b950d 
└─sda3 

最初sda2是 APFS。在 macOS 中启用了 Filevault,但是我无法判断它使用的是 CoreStorage 还是原生 APFS 加密(我怀疑是后者,因为它是从使用 HFS+ 的旧版本迁移而来的)。

diskutil list从 Apple Internet 恢复运行可得到以下结果:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2: 7C3457EF-0000-11AA-AA11-00306543ECAC               349.7 GB   disk0s2
   3: 5361644D-6163-11AA-AA11-00306543ECAC               1.3 GB     disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *1.3 GB     disk1
   1:        Apple_partition_map                         30.7 KB    disk1s1
   2:                  Apple_HFS OS X Base System        1.3 GB     disk1s2

第二个设备是互联网恢复。

奇怪的是,尽管从未以任何方式接触过 aka,但/dev/sda3它也disk0s3无法被识别。因此 Mac 现在甚至无法启动本地恢复,而是依赖于基于互联网的恢复。

回到 Ubuntu,parted抱怨 GPT 损坏,但gdisk认为没问题。以下是 的输出parted -l

Model: ATA APPLE SSD SM0512 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                  Flags
 1      20.5kB  210MB  210MB   fat32        EFI System Partition  boot, esp
 2      210MB   350GB  350GB
 3      350GB   351GB  1306MB


Error: Both the primary and backup GPT tables are corrupt.  Try making a fresh
table, and using Parted's rescue feature to recover partitions.

问题

最重要的是,我如何使用 Ubuntu 修复 GPT 表并为/dev/sda2和设置正确的文件系统类型/dev/sda3

其次,Ubuntu 安装程序是否会在确认更改之前在分区表上写入内容?这是预期的行为吗?

有没有可能不重新安装就恢复系统?正如我所说,我备份了宝贵的数据。我担心的是,我将浪费大量时间来重新安装应用程序和类似的东西。

答案1

你写了:

  • 错误地将类型设置/dev/sda2为“用于加密的物理卷”并添加了我的密码

请注意我没有选择“覆盖空磁盘空间”。我还没有继续安装(我没有到达要求您确认新分区表的阶段)。相反,我单击了“返回”,然后立即关闭了安装程序。

考虑到您随后遇到的问题,我认为要么是 Ubuntu 安装程序立即写入磁盘,要么是其他东西在巧合的时间损坏了分区。无论哪种情况,您恢复的最佳希望都在 macOS 方面。至少据我所知,APFS 太新了,没有任何原生的 Linux 恢复工具。即使 Linux 中有这样的工具,我也会对它们有点警惕。我建议您在 Mac 论坛上询问恢复问题。不过,您可能会或可能不会得到任何回复;APFS 太新了,目前还没有太多关于恢复损坏文件系统的专业知识,而且可以想象 Ubuntu 安装程序(或任何导致损坏的程序)覆盖了一些真正关键的内容。如果您在 macOS 方面使用了加密,情况尤其如此——尽管加密有一些很大的优势,但一个很大的缺点是轻微的文件系统损坏会使恢复变得非常复杂,甚至可能使恢复变得不可能。(我不知道 APFS 在这方面表现如何。)

回到 Ubuntu,parted抱怨 GPT 损坏,但gdisk认为没问题。以下是 的输出parted -l

您引用的输出parted对于所谓损坏的性质非常不清楚,并且您没有提供任何来自 的输出gdisk。特别是,来自(或)v的选项可能会有所帮助,当您启动并键入(或键入)时来自 的完整输出也会有所帮助。您可能忽略了警告;或者它可能默默地修复了一些引起 投诉的琐碎问题;或者可能抱怨一些实际上不是损坏并且被接受的东西;或者可能注意到了没有的问题。其中一些事情之间的区别可能是主观的——尽管 GPT 规范比不存在的 MBR 规范清晰得多,但它存在一些歧义,因此一个程序可能会将某些不寻常的东西解释为损坏,而另一个程序可能认为这是正常的。如果分区表gdisksgdisk -vgdiskpsudo gdisk -lgdiskpartedpartedgdiskpartedgdisk受损,gdisk修复 GPT 损坏的页面可能会有帮助。(注意:我是的作者gdisk。)但是,如果不知道gdisk磁盘的具体情况,我无法提供关于如何修复磁盘的更具体的建议,甚至无法告知是否需要修复。

相关内容