当尝试从我的 SSD(其中包含我的 Arch Linux 分区)扩展分区时,Windows 将其转换为动态驱动器,这搞乱了我的 GRUB 启动,因为显然 Linux 无法读取动态驱动器。我按照几篇文章的建议,使用傲梅分区助手恢复到简单的驱动器。
然而,它似乎弄乱了分区表,因为我仍然无法启动到 GRUB,并且当从可启动 USB 进行检查时,gdisk 显示 MBR 和 GPT 分区表可用。以下是 gdisk 的所有输出:
磁盘信息:
[[email protected] ~]$ sudo gdisk /dev/nvme0n1
GPT fdisk (gdisk) version 1.0.9.1
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: present
Found valid MBR and GPT. Which do you want to use?
1 - MBR
2 - GPT
3 - Create blank GPT
主引导记录:
Disk /dev/nvme0n1: 1953525168 sectors, 931.5 GiB
Model: Samsung SSD 970 EVO Plus 1TB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 1A0E603E-51F0-4487-B502-11E625DF814E
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 211840366 sectors (101.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 1426096128 1427144703 512.0 MiB 0700 Microsoft basic data
2 1427144704 1741717503 150.0 GiB 0700 Microsoft basic data
5 32768 1426096126 680.0 GiB 0700 Microsoft basic data
通用时间:
Disk /dev/nvme0n1: 1953525168 sectors, 931.5 GiB
Model: Samsung SSD 970 EVO Plus 1TB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): A9089CC8-91CB-4A00-AB2F-F39D643718A8
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 8-sector boundaries
Total free space is 211807631 sectors (101.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 34 2081 1024.0 KiB 4201 LDM metadata partition
2 2082 32767 15.0 MiB 0C01 Microsoft reserved ...
3 32768 1426096127 680.0 GiB 4200 LDM data partition
4 1426096128 1427144703 512.0 MiB EF02
5 1427144704 1741717503 150.0 GiB 8300
看起来 GPT 表是我转换回简单卷之前的,因为它像以前一样包含 LDM 数据。MBR 表在磁盘转换为动态之前的分区分布方式是正确的,但所有分区都显示为 Microsoft 基本数据,因此我不确定是否应该回滚到该分区。
打开gparted
驱动器时看起来不错,150Gb 分区甚至显示使用 ext4 文件系统(gparted 屏幕截图),这是正确的,我什至可以从命令行安装它,但是,我无法从可启动的文件管理器 GUI 安装它们。事实上,我无法通过 GUI 从该驱动器安装任何分区。GRUB 似乎在某些步骤中也已损坏,因为当我选择该启动分区时,我的 PC 启动到“选定的启动设备失败。按任意按钮重新启动”。我仍然可以启动到 Windows,因为它安装在另一个驱动器中。另外,除了这个之外的每个磁盘都有一个 GPT 分区表,在我弄乱 Windows 动态驱动器之前,我不确定这个是 GPT 还是 MBR。
我不知道在这里该怎么做,有没有办法恢复我的旧分区表而不丢失任何数据?
注意:我在 Windows 10 的双启动上使用 Arch Linux (EndeavourOS)。
编辑 1:转换回简单驱动器后,我的 arch 分区在 Windows 资源管理器和分区管理器中都是可见的(但当然无法访问),它显示为 RAW。
据我所知和一些个人经验,您不能将动态卷转换为基本卷。动态磁盘归其所绑定的基本磁盘所有。
您必须回退数据,重建为基本卷(格式为基本),仅选择 MBR 或 GPT 之一,然后继续。
如果你能够回滚,那么一定要这么做。
好吧,我将把这个作为最终解决方案,供任何经历过这个特殊的个人地狱的人使用。
事实上,当从 Windows 的动态驱动器恢复时,两个分区表存在冲突(MBR 具有正确的分布,旧的 GPT 具有动态分布)。我对 MBR 分区感到害怕,因为它只有“Windows 基本数据”,但显然代码和名称只影响分区是否从 Windows 可见。
然后为我做的事情是使用以下命令切换(小写!)GPT 表:
然后小心地将我的系统、EFI 分区、arch-chroot 安装到我的操作系统中并修复(重新安装)GRUB。
重新启动后,我可以很高兴地说我一切都恢复正常了!:D
如果有人遇到类似的问题,请在对分区进行任何操作时务必小心(无论是在 Windows 上还是使用 fdisk、gdisk、sgdisk 等)并始终备份数据,对我有效的方法可能不一定对你有效。有好几次,我距离做完全错误的事情并永远搞乱我的数据只有几个关键的距离,因为其他帖子看起来与我的问题非常相似。
另外,感谢这篇文章中每个人的帮助!