在 Windows Server 中的现有虚拟 CD 驱动器上安装 ISO,而不是创建新的 ISO

在 Windows Server 中的现有虚拟 CD 驱动器上安装 ISO,而不是创建新的 ISO

Windows Server 2012 R2 在 Azure 中新安装,但出现了奇怪的行为:加载 ISO 文件时(在资源管理器中单击鼠标右键,选择“安装”),它不会将其安装到现有的 CD 驱动器 E: 上,而是在第一个可用字母 G: 上创建一个新的 CD 驱动器并将其安装在那里。当我弹出 G: 时,它会卸载 ISO,并且驱动器会从列表中消失。

没有安装其他软件,它是 2015 年 2 月的 Azure 库存映像。

尝试通过 Powershell 执行此操作,但 Mount-DiskImage 没有目标驱动器或字母的参数。

有任何解决这个问题的方法吗 ?

答案1

对我来说,解决这个问题的最佳方法是不使用驱动器号进行挂载,然后使用第二个命令分配一个字母(不太可能被某些 Azure 内部进程使用,例如 V)。

Mount-DiskImage -ImagePath "C:\ISO\My.iso" -NoDriveLetter
Get-Partition -DiskNumber 3 | Set-Partition -NewDriveLetter V

正如我在评论和下面的链接中提到的,这是预期的行为,Azure 在市场图像中使用 E: 驱动器。如果您想进一步了解我为什么一直在关注这个问题:https://www.codeisahighway.com/prepare-data-disks-for-stability-and-consistency-in-azure-throughout-virtual-machines-and-scale-sets-lifecycle/

导致此行为的原因是 Microsoft 使用的 CD-ROM 驱动器。在处理某些 Azure 市场映像(通用)时,Microsoft 将使用此驱动器作为引导点,以正确许可 Windows 和配置操作系统。当虚拟机代理进入就绪状态并且一切正常时,此驱动器将不再需要,最终将被清除,因此会在虚拟机生命周期的某个时间点消失。[...] 在我的场景中,我正在创建一个虚拟机规模集,并开始将我的第一个数据磁盘驱动器号分配为 F。我使用了从 Azure 文档中获取的初始化脚本。它运行得很好,直到我需要重新映像实例或在规模集中执行操作系统升级。当我这样做时,实例恢复运行,但我的数据磁盘的字母是 E 而不是 F。不言而喻,这导致我的应用程序崩溃,因为它在其配置中引用的数据位置是 F:...。

相关内容