Windows

磁碟複製後缺少 hal.dll

  • September 4, 2009

一位朋友似乎無法讓 Norton Ghost 複製可用的磁碟。我建議使用 GParted,並且(在 NTFS 分區上執行 chkdsk /f 之後 - 可能是諾頓問題的原因)採取了以下步驟:

  • 將恢復分區(在原始驅動器的末尾)複製到新驅動器的末尾。
  • 將系統分區復製到新驅動器的開頭,並“拉伸”它以填充空白空間。

複製完成後(我離開了),他嘗試啟動,出現錯誤並執行了 fixmbr/fixboot 過程。之後,Windows XP 將開始啟動,但出現“缺少 hal.dll”錯誤。

發生了什麼?

(我問/回答這個問題是因為我認為它可能對其他人有幫助。)

問題是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 來擴大分區。真的不確定什麼是最快的。

引用自:https://serverfault.com/questions/61759