如何在不可啟動的 NVMe 硬碟上安裝 Windows 10?

如何在不可啟動的 NVMe 硬碟上安裝 Windows 10?

這一切都始於我嘗試為我值得信賴的電腦(華碩 A88XM-Plus、AMD A10、256 + 128 Sata SSD)提供小幅升級。我需要更多空間,因此我在 PCIe 適配器上添加了三星 NVMe 驅動器。我的目的是將 Windows 10 安裝移至 NVMe,同時保留一個 SSD 用於啟動和一個 Linux Mint 系統。

首先,事情並沒有如我預期的那樣進行。由於 Windows 建立分割區的方式,我無法擴展 Windows 分割區。我無法啟動 Windows,因為啟動訊息不知何故消失了(不過它確實啟動良好一次...一次)。我不斷收到 0x00..00e 錯誤。我無法使用 Windows 修復工具,因為沒有可啟動的 Windows,我無法建立 Windows USB 隨身碟。多虧了我的另一個 Linux 機器上的舊虛擬機,我終於成功了,但這也不起作用。有些工具(bootrec /fixmbr)可以工作,而有些工具(bootrec /RebuildCDB)則不能工作,因為找不到「要求的系統裝置」。因此,在花了三天時間嘗試解決此問題後,我放棄了並接受了重新安裝所有內容的需要。

我的 LinuxMint 是新鮮的並且正在運行,我專注於 Windows。我使用 Windows 10 USB 金鑰來安裝 Windows:僅使用包裝盒中的 NVMe 驅動器。 CSM 已停用。安全啟動已停用。然後在安裝程式的自訂安裝選單中刪除 NVMe 磁碟機上的所有分割區。選擇空白處啟動安裝第一次重新啟動時,我關閉電腦以移除 USB 記憶棒並插入帶有 Linux 的 SSD,這樣我就有了一個可啟動驅動器。啟動Linux系統更新grub重新啟動現在我在Windows系統的Grub選單中有一個條目,我可以啟動它......或者我是這麼想的。 Grub一直告訴我沒有這樣的設備。我檢查了驅動器的 UUID,它是正確的。透過列出分割區 (ls),我意識到 Grub 似乎沒有看到/載入 NVMe 磁碟機。

閱讀更多內容後,我發現 Windows 實際上可以使用現有的 EFI 分割區(如果它在安裝時找到它)。所以我再次開始,但這一次,我將 SSD 和 Linux 保留在原處,以便 Windows 安裝程式可以使用其上的 EFI 分割區。刪除NVMe中所有分割區並選擇空空間進行安裝的過程相同。似乎有效。 Windows管理器只在NVMe上建立了2個分割區,顯然將資料放在SSD的EFI分割區。電腦重新啟動,在 BIOS 中,我可以看到另一個名為「Windows Boot Manager」的 UEFI 條目。太好了,我選擇它繼續安裝......或者我是這麼想的。 Windows 用完全相同的 0x00...00e 錯誤向我打招呼,告訴我我的系統需要修復。

這讓我認為 Windows 在啟動時也不會載入 NVMe,因此無法找到實際的系統分割區。

有什麼辦法可以解決這個問題嗎?

答案1

對此可以有多種路徑,但我強烈建議將作業系統安裝在連接到主機板的磁碟上。這是因為 Windows 必須載入驅動程式才能運行 PCIe 卡,而該驅動程式很脆弱,這可能是 Windows 無法在您的情況下啟動的原因。我們有一個系統,當時 Windows 運作良好,直到更新導致它無法初始化 PCIe 磁碟卡,我們必須從復原磁碟啟動。

最好將 Linux 和 Windows 安裝在 SATA SSD 上的不同分割區中,並在 NVMe 上為它們建立兩個分割區用於資料。在系統磁碟上,您應該擁有啟動兩個系統的所有內容以及 NVMe 上的額外資料(主目錄、使用者、媒體等),這也將使兩個系統都獲得效能提升!

關鍵是,即使你設法讓它工作,它也可能會損壞,並且修復起來會很麻煩。如果您允許兩個作業系統上的啟動過程都很簡單,那麼將會避免很多麻煩。我可以想到另一種方法,但這不是我嘗試過的方法,那就是在虛擬機器下運行 Windows,並將 NVMe 作為其實體磁碟。這樣,驅動器存取將在 VM 層進行模擬,Windows 不會知道它位於 PCIe 卡上。當然,這會帶來虛擬化的開銷,所以這取決於你使用 Windows 的目的。

答案2

據我了解,要啟動到 PCIe 裝置上的 NVMe 驅動器,您必須啟動到 UEFI BIOS,因為非 UEFI BIOS 在啟動時無法識別 NVMe 驅動器。另外,我認為 BIOS 要求所有驅動器都是 GPT 才能更改為 UEFI。如果我錯了,我希望有人能糾正我。

相關內容