我不确定我是如何覆盖它的,但我当时正在将软盘映像写入软盘(使用 USB 软盘驱动器),不知何故我无意中将软盘写入了主硬盘,该硬盘上安装了 Windows 7 Enterprise x64 并启用了 Bitlocker。现在,当我启动时,我收到错误“非系统磁盘或磁盘错误”。有什么方法可以修复这个问题吗?
我已经做了低级备份,以防我尝试的任何操作造成进一步的损害,以下是我到目前为止尝试过的办法……
bootrec /fixmbr
- 没有用,现在当我尝试启动时它显示“无效的分区表”。bootrec /fixboot
- 没有作用,命令返回“未找到元素”。bootrec /rebuildbcd
- 没有起作用,命令返回“总共识别的 Windows 安装:0”
更新:
运行后,bootrec /fixmbr
我曾经diskpart
重新创建分区并为其分配驱动器号。然后我能够使用它repair-bde D: R: -rp 123456-*
来开始恢复文件。目前它仍在运行,所以我们明天再看看效果如何。
答案1
以防其他人也遇到这种情况,下面是我为了恢复 PC 正常运行所需要一步步采取的操作。
- 从 Windows 安装磁盘启动并选择恢复,然后进入命令提示符。
- 运行
bootrec /fixmbr
(可能没有必要) - 运行
diskpart
并使用quick
标志重新创建分区。希望您知道分区的确切大小。- 确保将系统保留(如果有)或 C:分区标记为活动分区。
- 连接一个大小相同或更大、且具有与您需要恢复的分区数量相同的驱动器。
- 运行位于损坏磁盘上的
repair-bde C: Z: -rp 111111-222222-[...]
位置以及位于您要临时存储已恢复/解密文件的新磁盘上的位置。您需要对每个分区执行此操作。希望您有 BitLockers 恢复密码。C:
Z:
- 完成后
repair-bde
,验证文件是否已恢复。然后使用将文件复制回旧的损坏磁盘。robocopy /mir Z:\ C:\ /xf hiberfil.sys /xj /xjf /xjd
- 更新:我当时没有意识到的是,该
/mir
标志不会复制所有权或安全性。我应该运行的是robocopy /e /copyall Z:\ C:\ /xf hiberfil.sys /xj /xjf /xjd
。
- 更新:我当时没有意识到的是,该
- 使用 Windows 安装磁盘启动恢复选项修复引导加载程序和系统保留分区。
- 重新启动 PC 即可加载 Windows。
- 检查您的连接点(例如
C:\Documents and Settings
指向 的点C:\Users
)是否已正确恢复为连接点。我的连接点没有恢复。可能是我/xj /xjf /xjd
第一次跑步时忘记了标志robocopy
,也可能是repair-bde
。我倾向于后者。- 如果你需要重新创建连接点,我使用
junction /s /q C:\ > junctionpoints.txt
了系统内部在另一个工作安装上列出所有 Windows 连接点。 - 然后我用来
mklink /j "C:\Documents and Settings" "C:\Users"
在损坏的 PC 上重新创建连接点。
- 如果你需要重新创建连接点,我使用
- 重新启用 BitLocker
- 转到控制面板并对 Microsoft Office 进行修复。这对您来说可能没有必要,但直到我这样做,Outlook 才对我起作用。
注意:执行此恢复 PC 后,您的唯一机器 ID 将会发生变化,因此使用此唯一 ID 的某些许可软件(例如,在我的情况下是 DameWare Remote Support)可能需要重新激活。
答案2
如果你没有使用 Bitlocker,这应该相当容易。但是,有了 Bitlocker,这不仅困难得多,而且可能根本不可能。
有三个问题您需要解决。
1) 您必须恢复有效的 MBR 和引导加载程序(或 GPT+EFI 引导加载程序,如果您正在使用的话)。这相当简单 - 您上面已经执行的命令将执行此操作。
2)您必须手动重新创建分区表。
3) 您必须检索 Bitlocker 主加密密钥的副本。这不是密码。
第 3 部分比较难。但是,如果您的 Windows 7 默认设置是 100-300MB 的启动分区,然后是主操作系统分区,那么您可能会很幸运。
此外,如果要将磁盘恢复到工作状态,则需要执行上述过程。如果您能够从另一台计算机访问磁盘,那么将数据恢复到第二个驱动器的过程比在原地修复要容易一些。