Win7 開機黑畫面提示 `Windows root>\system32\hal.dll 損壞或丟失,導致 Windows 無法啟動`。實際上 `hal.dll` 通常存在,真正原因是 `Boot.ini` (或 BCD) 引導設定錯誤,導致系統找不到正確的啟動路徑。本文提供 DOS 編輯 Boot.ini、重建 BCD、分區工具修復 MBR 三種修復方案。
常見原因分析
- Ghost 還原系統導致分區對應錯誤 (品牌機隱藏分區干擾)
- 非正常關機/斷電導致啟動設定損毀
- 超頻不穩導致系統檔案損毀
- 記憶體故障 (金手指氧化/虛焊/損壞) → 先排除硬體

核心觀念:不是缺 hal.dll,是引導路徑錯
直接複製 `hal.dll` 到 `System32` 無效。`Boot.ini` 格式錯誤 → 系統預設從 `C:\Windows` 啟動 → 判斷非 C 槽安裝 → 尋找其他路徑找不到 `hal.dll` → 報錯。需修正 `Boot.ini` 指向正確安裝分區。
方案一:DOS 編輯 Boot.ini (適用舊版 BIOS/MBR 啟動)
- 準備 DOS 開機碟/USB (含 `EDIT.EXE`)
- DOS 下輸入 `EDIT C:\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="Windows 7" /fastdetect
- `partition(1)` 對應系統安裝分區順序 (第 1 個主分區),需根據實際調整
- 儲存 (Alt+F → S) → 離開 (Alt+F → X) → 重開機
方案二:Windows 安裝碟/PE 重建 BCD (Win7 標準 UEFI/MBR)
- Win7 安裝光碟/USB 開機 → 選擇語言 → 修復電腦
- 選擇 命令提示字元
- 依序執行:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
- 掃描到 Windows 安裝 → 輸入 `Y` 加入啟動清單
- 重開機
方案三:DiskGenius 修復 MBR/引導扇區 (PE 環境)
- PE 開機 (USB/光碟) → 開啟 DiskGenius
- 選中系統磁碟 → 功能表 硬碟 → 重建主引導記錄 (MBR)
- 選擇「標準 MBR」→ 確定

- 若為 GPT/UEFI,需改用「重建 EFI 系統分區」/「修復 UEFI 啟動」
硬體排除 (必做)
- 記憶體條拔下 → 橡皮擦擦拭金手指 → 重新插緊 / 換插槽 / 單條測試
- 執行 `mdsched.exe` (Windows 記憶體診斷) 或 MemTest86 完整測試
- 硬碟健康:CrystalDiskInfo 查看 S.M.A.R.T.、MHDD/Victoria 掃描壞軌
預防建議
- 定期建立系統映像備份 (Windows 備份與還原 / Macrium Reflect / AOMEI Backupper)
- 制作 WinPE 維護 USB (含 DiskGenius、Dism++、WinNTSetup、驅動包)
- 避免強制關機,使用 UPS/筆電電池保護