在存在 GPT 硬盘问题的虚拟机上安装 Server 2012R2

在存在 GPT 硬盘问题的虚拟机上安装 Server 2012R2

所以...长话短说,我正在使用 GPT 驱动器(物理驱动器和虚拟驱动器)的系统自动安装 Windows Server 2012 R2。我还没有将磁盘从楼下带回物理机箱,但我的虚拟机无法正常工作。以下是症状(所有虚拟机,没有物理):

当我尝试手动安装 Windows 2012R2 时,它运行的是升级过程而不是安装过程。它似乎认为尽管硬盘没有分区或格式化,但 Windows 还是以某种方式安装了。这对我来说没有多大意义。我已进入安装中的控制台并确认 C 盘不存在。磁盘 0 完全可用,唯一存在的卷是 D 盘(DVD)。

当我尝试使用自动方法进行安装时,我首先在 Windows PE 环境中运行我创建的 C# 程序。这需要一些输入并输出一个 unattend.xml 文件,该文件在 Windows 安装期间被读取。该程序正在创建一个 100 GB 的硬盘。一些文件被复制过来,但该驱动器上至少还有 80 GB 可用。磁盘上还有额外的 40 GB(总共 140GB)。在 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 格式的工作就很好。

有什么想法吗?我有点困惑,而且问题太冗长,很难在​​互联网上搜索。

答案1

好的,我找到了解决方案。长话短说,如果您自己定义分区而不是让 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

相关内容