磁盘克隆后缺少 hal.dll

磁盘克隆后缺少 hal.dll

一位朋友似乎无法使用 Norton Ghost 克隆磁盘。我建议使用 GParted,并且(在 NTFS 分区上运行 chkdsk /f 后 - 这可能是 Norton 问题的原因)采取了以下步骤:

  • 将恢复分区(位于原始驱动器的末尾)复制到新驱动器的末尾。
  • 将系统分区复制到新驱动器的开始位置,然后“拉伸”它以填充空白空间。

克隆完成后(我离开了),他尝试启动,出现错误并执行了 fixmbr/fixboot 过程。之后 Windows XP 开始启动,但出现“缺少 hal.dll”错误。

发生了什么?

答案1

(我询问/回答这个问题是因为我认为这可能对其他人有帮助。)

问题出在 boot.ini 上。

我首先复制了恢复分区(位于驱动器的末尾),因为我想一步完成系统分区的复制和调整大小。我认为这比让 GParted 先复制系统分区,然后复制恢复分区,然后调整系统分区的大小以填充空间要快。

由于此顺序,分区编号与原始编号不同。第一个分区(位于驱动器的开头)的编号为 2,而位于驱动器末尾的分区的编号为 1。

只需更新 boot.ini 即可反映这一点。来自:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Window"

到:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Window"

希望这对处于同样情况的其他人有所帮助。下次我可能会先使用 dd,然后使用 gparted 来扩大分区。真的不知道哪个最快。

相关内容