小编Sup*_*pel的帖子

移动可启动的 Windows 7(或 Vista)分区时需要更新什么?

当我将带有 Windows 的可引导 NTFS 分区移动到不同的块偏移时,需要更新什么才能使其再次可引导?

背景: 我计划编写一个执行必要操作的程序,这就是为什么我不寻求如何通过从 Windows DVD 启动来使用 Microsoft 工具的指南。相反,我需要如何自己修改这些东西,以便我可以编写一个对普通 PC 用户来说更容易的解决方案,当他想将他的 Windows 系统移动到更大的硬盘时。

特别是,这是我尝试过的:

我有一个包含多个分区的磁盘,其中一个是带有 Windows 的 NTFS 分区,并且该磁盘使用普通的旧 MBR 块 0 进行分区布局(不超过 4 个分区)。

现在我格式化和分区一个新的、更大的磁盘。在那里我为 NTFS 分区腾出空间,并将旧磁盘的 NTFS Windows 分区中的内容复制到其中。我使分区“活动”。

但是,当我尝试从该磁盘启动时,我立即收到“读取错误”消息并且启动停止,确切的文本是:

  A disk read error occurred
  Press Ctrl+Alt+Del to restart
Run Code Online (Sandbox Code Playgroud)

我验证了两个磁盘在块 0 中具有相同的引导扇区代码。

在我看来,其他东西可能需要更新。我猜想某处有一个绝对块引用需要更新,可能指向下一级加载器或 NT 内核。

更新:我发现这篇文章深入探讨了我想知道的内容。但是,它说要修改 boot.ini,但我在这里安装了 Windows 7,这些东西似乎发生了变化:没有 boot.ini,而是一个名为System Volume Information的文件夹,其中包含 GUID 和其他听起来与我的问题相关的数据. 打算继续挖...

更新 2:多亏starman看起来很糟糕但信息量很大的网站,我能够弄清楚第一步:NTFS 引导扇区有一个用于“隐藏”扇区的字段。该字段必须包含引导扇区的扇区号。这解决了“读取错误”消息。但是,现在我收到了“BOOTMGR 丢失”错误。看起来还有另一个地方需要调整块号,但我在代码清单中找不到任何关于此的内容。

我确实发现很多帮助站点都建议使用 Windows …

windows bootloader mbr grub

9
推荐指数
1
解决办法
3593
查看次数

标签 统计

bootloader ×1

grub ×1

mbr ×1

windows ×1