我有一台安装了 Windows Vista 的富士通/西门子 PC,在更换主板后,我试图修复它:硬盘有三个 Windows 分区(分区 2 标记为可启动)。我使用 Linux RIP 检查了这一点,它是从 USB 启动的。
我已获得此型号的原始 Windows Vista 系统恢复 DVD,并且正在尝试修复操作系统。
我遇到了以下问题。当我启动 DVD 时,在显示进度条几秒钟后,屏幕变黑,只显示鼠标光标。然后这种情况持续了很长时间,我不得不重新启动。
然后我想到将分区标记为非 Windows(再次使用 RIP Linux、fdisk 执行此操作)。现在 DVD 启动到 Windows 安装程序,但它看不到需要修复的分区。
有人遇到过这个问题吗?有没有什么办法可以解决这个问题(我想从恢复 DVD 启动,然后尝试修复现有分区)?
编辑1
感谢论坛和聊天中的建议。从工作的 Windows Vista 分区复制前 440 个字节并将其写入 MBR和损坏系统的可启动分区已解决问题。
编辑2
这是一个幸福的结局。
不幸的是,分区 1 和 2(旧系统所在位置)受损严重,无法恢复。包含我想要恢复的数据的分区 3 也已损坏,因此无法复制出其中包含的所有文件。
修复引导记录问题后,我再次启动到 RIP Linux,重新创建了分区 1 和 2(我不知道为什么,但是 Windows 在启动后可以看到它们,但后来就看不到它们了。所以,我不确定分区表是否存储在两个不同的地方,这些副本是否变得不一致,但为了确保万无一失,我刚刚使用 fdisk 删除了这两个分区并再次创建了它们)。
然后,我在两个分区上都放了新的 ntfs,并从 Linux 重新启动到 Windows 安装。这次 Windows 安装没有问题。然后它检测到了分区 3(驱动器 D:),我还没有碰过它,并对其进行了扫描。它修复了文件系统上的错误,所有照片(一些家庭照片)似乎都回来了。
再次感谢 lornix 的提示。
答案1
听起来像 MBR(主引导记录) 已损坏。Windows CD/DVD 检查了某些内容 (!),从而改变了它们的启动方式...考虑在裸机上安装 Windows...它启动后,会发出片刻的嗡嗡声,然后启动 Windows 安装程序,而工作系统会发出嗡嗡声,然后显示“按任意键从 CD/DVD 启动”...
因此,无论 Windows 用什么来检测此问题,它都会在您的计算机上失效,并且会锁定 Windows CD/DVD 检查程序。故障捕获真棒!(</sarcasm>)
在紧急情况下...(请注意,是紧急情况!!)您可以使用相同版本的 Windows 和 RIP CD 从工作系统中提取引导代码。我将描述该方法,实施和所需的“钢铁意志”取决于您...
在工作系统上启动你的 RIP CD,还需要插入闪存驱动器或类似的东西,我们需要在某处存储 440 字节
确保您的闪存驱动器已安装并且可以访问。
dd if=/dev/sdX of=/path/to/flash/drive/mybootcode.img bs=1 count=440
(replace /dev/sdX with appropriate boot drive, usually /dev/sda)
这会将 MBR 的前 440 个字节复制到“mybootcode.img”文件
确保文件已写入、同步、卸载闪存驱动器
在你破损的系统上...同样的步骤,同样的动作...是的...
再次插入、安装、检查闪存驱动器
dd if=/path/to/flash/drive/mybootcode.img of=/dev/sdX bs=1 count=440 conv=notrunc
(again, /dev/sdX with your appropriate drive, usually /dev/sda)
卸载,关机,移除 RIP CD...
系统现在可能可以启动,并且可能可以使用 Windows 修复 CD/DVD
现在有人说……但是扇区是 512 字节...为什么我们不直接复制第一个扇区呢? 好吧...考虑一下 MBR 的内容。
从维基百科,那里有一张表,我甚至不会尝试在这里重新创建,我的 markdown-fu 仍然很弱......
前 440 个字节是引导代码...而接下来的 72 个字节包含各种数据,但最重要的是...分区表!!
现在,除非你想手动(或使用某种工具)重建它……最好我们不丢失(或覆盖!)该信息!
这就是为什么,弗吉尼亚,我们不逐字复制整个 512 字节扇区。