新增 MBR 硬碟後 Windows(在 GPT 磁碟上使用 UEFI 啟動)將不再啟動

新增 MBR 硬碟後 Windows(在 GPT 磁碟上使用 UEFI 啟動)將不再啟動

我最近使用 UEFI 開機和 GPT 在新 SSD 上安裝了 Windows 7 64 位元。系統運作良好。將我的舊系統 HD 新增至系統(使用 MBR)後,Windows 將不再正確啟動:從 SSD 啟動時,會出現正常啟動畫面,Windows 告訴我它正在載入檔案。然後啟動畫面消失,我處於 EFI shell 中,無法啟動。當我拔掉舊硬碟時,Windows 再次啟動,沒有任何抱怨。

我可以用這種配置啟動而不先格式化我的舊硬碟嗎?

我有一塊 MSI Z77-G65A 板。它配置為 UEFI 啟動,從 SSD 啟動。兩個驅動器都設定為獨立的硬碟(沒有意外啟動的 RAID)。 SSD 連接到 SATA-6G 端口,舊驅動器連接到 SATA-3G 連接埠。

答案1

刪除磁碟簽章解決了問題。這可以透過命令來完成

dd if=/dev/zero of=/dev/sdb bs=1 count=4 seek=440 conv=notrunc

在具有 root 權限的 Linux shell 中。

背景:
從Windows 2000開始,微軟將一個4位元組的值-磁碟簽章-寫入每個磁碟的MBR中,以便識別每個磁碟。當兩個磁碟具有相同的標識符時,就會出現問題。上述命令將此簽章替換為零,這會提示 Windows 指派新的唯一值。

請注意,在覆蓋磁碟簽名之前,我還嘗試將引導程式(MBR 中的位元組 0-439)替換為零。就其本身而言,這無助於解決我的問題。

編輯:該解決方案解決了僅一次啟動的問題。當嘗試第二次啟動時,同樣的問題再次出現。透過再次覆蓋磁碟簽名,我能夠啟動,但也只能啟動一次。
從上面提供的背景來看,Windows似乎選擇了不合適的磁碟簽名,從而導致問題再次出現...

編輯2:在 UEFI 模式下啟動時,Windows 7 64 位元似乎無法正確處理具有 MBR 的磁碟上的擴充分割區。該錯誤的解釋如下:

修補程式-1 修補程式-2

顯然擴展分割區被錯誤地辨識為 UEFI 分割區。這兩個修補程式應該可以解決問題,但它們必須已整合到安裝媒體中。

答案2

我有類似的問題。我使用 Windows 磁碟管理員為第二個磁碟機新增了一個額外的主分割區和一個擴充分割區 - 總共 4 個分割區。之後我無法再啟動 Windows,並且所有修復選項都不起作用。

解決方法是在 BIOS 中停用第二個磁碟機。

我的解決方案是使用從緊急修復磁碟運行的 diskpart 命令將第二個磁碟機從 MBR 轉換為 GPT。事後看來,當我安裝 Windows 時,我只格式化了第一個磁碟機(SSD),它必須預設為 GPT。我使用 Windows 磁碟管理器格式化了第二個驅動器,並且該軟體必須預設為 MBR。

我很高興找到這篇文章,因為它確定問題出在軟體中,而不是出在我的兩個磁碟機之一或主機板中。

相關內容