在存在 GPT 硬碟問題的 VM 上安裝 Server 2012R2
所以…長話短說,我正在使用物理和虛擬 GPT 驅動器的系統上自動安裝 Windows Server 2012 R2。我還沒有把磁碟從樓梯上帶回物理盒子,但是我的虛擬機不工作。以下是症狀(所有 VM,沒有物理):
當我嘗試手動安裝 Windows 2012R2 時,它會通過升級過程而不是安裝過程執行。儘管沒有對硬碟進行分區或格式化,但似乎認為以某種方式安裝了 Windows。這對我來說沒有多大意義。我在安裝中進入了控制台,確認C盤不存在。磁碟 0 完全空閒,唯一存在的捲是 D 驅動器 (DVD)。
當我嘗試使用我的自動化方法進行安裝時,我從執行我創建的 C# 程序的 Windows PE 環境開始。這需要一些輸入並輸出一個在 Windows 安裝期間讀取的 unattend.xml 文件。該程序正在創建一個 100 GB 的硬碟。複製了一些文件,但該驅動器上至少還有 80 GB 可用空間。磁碟上還有額外的 40 GB(總共 140 GB)。在 2012R2 設置中,系統將顯示進度螢幕,然後立即失敗,說明存在硬碟驅動器問題。當我查看日誌時,系統似乎確信硬碟驅動器不夠大,儘管它似乎可以很好地讀取它並且它顯然足夠大。
請注意,自動安裝適用於 MBR 系統。要將其恢復到 MBR,我需要做的唯一更改是不在 DiskPart 上執行 GPT 命令。我還需要將機器從 EUFI 切換到 BIOS,或者我假設。這是diskpart命令(可能有點偏離,我正在從程式碼轉換,我可以確認它在執行時確實創建了一個100GB的功能C驅動器):
SELECT DISK 0 CLEAN SELECT DISK 0 CONVERT GPT CREATE PARTITION PRIMARY SIZE=100000 SELECT PARTITION 0 ASSIGN LETTER=C ACTIVE EXIT
該 VM 設置為 EUFI,具有未分區的 140 GB 精簡配置驅動器,設置為 Windows 2012R2,如果它在 BIOS 中並且執行我的 MBR 格式軟體版本就可以了。
有任何想法嗎?我有點卡住了,問題太羅嗦了,很難在網際網路上搜尋。
好的,我找到了解決方案。長話短說,如果您要定義分區而不是允許 Windows 執行此操作,則需要在安裝之前生成一個 100MB 的小分區。這可能是一個獨特的案例,因為該程序背後的想法是最大限度地減少使用者在安裝過程中必須觸摸系統的時間,因此我們在安裝 Windows 之前創建一個分區並複製文件,然後在 Windows 啟動後執行軟體安裝,不再需要執行安裝的人來搞亂系統。無論如何,變化如下:
SELECT DISK 0 CLEAN SELECT DISK 0 CONVERT GPT CREATE PARTITION EFI SIZE=100 CREATE PARTITION PRIMARY SIZE=100000 SELECT PARTITION 0 ASSIGN LETTER=C EXIT