使用 USB 启动时如何挂载 Windows(NTFS)系统 MBR?

使用 USB 启动时如何挂载 Windows(NTFS)系统 MBR?

我有一台装有 Windows XP 系统的旧电脑,其设置如下:

c:\
d:\
e:\
f:\
?:\ backup disk

我想在这台电脑上安装 Windows 10,并且我删除了 c:\(因为它不允许我格式化它,我不知道 Windows 10 不能安装到 MBR 系统),现在它有 50GB 的未分配空间。

我试图用 Ubuntu 备份 d:\、e:\、f:\ 中的数据,但启动系统后,我只看到/dev/sda1/dev/sda2,后者是 FAT 32 (LBA) 格式的备份磁盘。sudo fdisk -l我看到/dev/sda1是未知格式。如果我使用:

sudo ntfs-3g /dev/sda1 /mnt/windows 或者 sudo mount -t ntfs-3g /dev/sda1 /mnt

终端将返回 NTFS 签名缺失错误......

(同样如此/dev/sda,表示安装整个磁盘)

如果我使用sudo gdisk -l /dev/sda它,它会说未找到类型代码 1F00 的精确类型匹配。

sudo lsblk -f得到:

loop0 squashfs /rofs
sda
 sda1
 sda2 vfat sys_bak 3e28-1cab

sudo lsblk -m得到:

loop0 1.5G root
sda 931.5G root
 sda1 877.8G root
 sda2 4.9G root

sudo parted -ls得到:

Model: ATA WDC WDXXX(scsi)
Disk /dev/sda: 1000GB
Selector size (logical/physical): 512B/4096B

Partition Table: msdos
Disk Flags:

Number Start End Size Type File System Flags
1 52.4GB 995GB 943GB primary null null null
2 995GB 1000GB 52440MB primary fat32 null boot, lba

df -h什么也没得到/dev/sda

答案1

Windows 10以 BIOS/CSM/传统模式安装。诀窍在于控制启动模式。即使在固件中启用了 CSM,对于大多数计算机,也不能保证系统实际上会以 BIOS 模式启动;它可能会以 EFI 模式启动,具体取决于固件用于决定如何启动的算法以及用户在启动时采取的操作。请参阅我的这个页面了解有关此主题的更多信息。不过,这个问题基本上没有实际意义……

根据您的parted输出,您的分区表似乎已严重损坏。我的怀疑您的磁盘最初使用的是 Windows逻辑磁盘管理器 (LDM),又称“动态磁盘”。该系统类似于 Ubuntu 的逻辑卷管理器 (LVM),但这两个系统彼此不兼容。在这两种情况下,常规分区都会组合在一起形成(在 LVM 情况下)所谓的卷组 (VG),然后 VG 又被分解成逻辑卷(LV)。这听起来可能毫无意义,但它增加了灵活性。Windows 这样做似乎主要是为了能够在 MBR 磁盘上存储超过四个卷 (LV),而 MBR 磁盘仅限于四个主分区。Ubuntu 仍然普遍采用的较旧的解决方案是使用逻辑分区——尽管名称相似,但与 LV 不同!逻辑分区显示为存储在扩展分区是分区工具,如 GParted 和fdisk。但是这些工具无法处理 LDM 配置;它们显示底层 MBR 分区,而不是它们最终容纳的 LV。

在您的问题中,您注意到磁盘在 Windows 中有四个或五个“驱动器”(分区)——您指定了、、、C:和“ ”(“备份磁盘”)。如果您指的最后一个是指D:E:F:?:第五如果您不记得分区的驱动器号,那么 Windows 很有可能使用 LDM 来设置它们。GParted 很可能会让您误以为第一个 LDM 分区是C:。因此,您删除了第一个 LDM 分区,而不是C:;第一个 LDM 分区消失后,一切LDM 中的文件被盗用。碰巧的是,您的系统/dev/sda2似乎是 FAT32,因此可能保持完整的 FAT32 文件系统。

我对恢复的建议是:

  1. 如果可能的话,对整个磁盘。例如,sudo dd if=/dev/sda of=/path/to/lots/of/space/sda.img bs=4096。此命令备份/dev/sdasda.img其他设备。(您必须将其安装在某处,并将该设备的路径指定为选项的一部分of=。)此步骤的重点是其余过程可能会使情况变得更糟,因此如果发生这种情况,您将能够将所有内容恢复到糟糕(但更好)的状态。
  2. 使用fdiskparted,删除 上的分区/dev/sda
  3. 使用测试磁盘,搜索磁盘上的文件系统并恢复它们。

如果运气好的话,TestDisk 将能够创建一个新的分区表,让您可以访问文件系统。它将在不使用 LDM 的情况下完成此操作,结果可能无法启动;但至少您很有可能能够恢复数据,删除真实的 C:,然后将 Windows 10 或 Ubuntu 安装到磁盘。

回到启动模式的问题,听起来你的电脑在 EFI 模式下启动了 Windows 10 安装程序。因此,你可能想告诉 TestDisk 使用 GPT 作为其恢复的分区。不过,我不确定如何立即做到这一点。如果你搞不清楚,不要太担心;另一种方法是将分区恢复为 MBR,然后执行使用 MBR 到 GPT 的转换gdisk无论哪种方式,关键是要有一个有空白空间的 GPT 磁盘,以便 Windows 可以在 EFI 模式下安装。另一种方法是,在您拥有 MBR 磁盘后,弄清楚如何在 BIOS 模式下启动 Windows 安装程序。不过,这可能会导致另一次 MBR 到 LDM 的转换,如果您决定使用 Linux 双启动,这可能会导致将来出现问题。

如果你决定完全转换到 Ubuntu,而不是安装 Windows 10,请注意在仅使用 Ubuntu 的计算机上使用 NTFS 是不明智的。问题是 Ubuntu 没有好的 NTFS 维护工具。因此,什么时候(不是如果) NTFS 卷需要修复,您将不得不经历额外的麻烦。如果您选择仅安装 Ubuntu,则应备份 NTFS 数据分区,将其转换为 Linux 原生格式,然后将数据恢复到其中。

相关内容