使用VHDX虚拟硬盘安装Windows

发布于 2024-04-28  77 次阅读


大多数用户安装多系统的做法是在不同的分区或硬盘分别安装,如果不想修改分区或没有空余的硬盘,则可以使用虚拟硬盘来安装多个 Windows 系统,对于想体验 Windows 内部预览版本或主系统出现问题考虑重装测试的用户很有帮助。

要求:存储虚拟硬盘文件的硬盘必须是内置硬盘,不能是外置硬盘(即该硬盘在主系统中不能弹出)

创建虚拟硬盘

建议使用 Windows 磁盘管理工具来创建虚拟硬盘,也可以使用 Hyper-V 管理工具或 PowerShell 命令。

在开始菜单搜索“格式化”,找到“创建并格式化硬盘分区”,打开磁盘管理工具。点击操作创建 VHD ,并选择虚拟硬盘文件的保存路径。

虚拟硬盘格式首选 VHDX ,一般没有理由选择 VHD ,除非主系统低于 Windows 10 。若希望节省物理硬盘空间,虚拟硬盘类型选择动态扩展(需确保未来物理硬盘空间足够,否则虚拟硬盘中的系统可能无法启动),否则选择固定大小。

虚拟硬盘创建完成后,磁盘管理工具将会自动显示该虚拟硬盘。右键虚拟硬盘,选择初始化磁盘,点击确定。右键未分配空间,点击新建简单卷,全部下一步即可完成。

安装操作系统

下载 Windows iso 镜像文件。推荐从 Microsoft 官网下载:

双击 iso 文件,找到 sources\install.wimsources\install.esd 文件,右键复制文件路径。

记下虚拟硬盘的盘符,以管理员身份打开 PowerShell ,输入以下命令:

⚠️请勿直接复制粘贴,注意替换为你自己的代码

dism /Apply-Image /ImageFile:install文件路径 /ApplyDir:虚拟硬盘盘符 /index:版本编号

例如 dism /Apply-Image /ImageFile:D:\sources\install.wim /ApplyDir:E:\ /index:1

其中“版本编号”指安装系统时,让用户选择“家庭版”“教育版”“专业版”等选项的编号,从1开始,如图所示:

注意不同镜像文件包含的版本不同,若不确定编号,请将镜像文件在虚拟机或刻录到U盘中启动。

如果输入命令后显示进度条,则说明命令无误,请等待进度条走完后进行下一步。如果没有显示进度条则说明命令有误,请仔细检查并重试。

添加启动引导

以管理员身份打开 PowerShell ,输入 bcdedit 命令。若没有安装过其它操作系统,则通常会输出两个项目: Windows Boot Manager 和 Windows Boot Loader ,如图所示:

⚠️请勿直接复制粘贴,注意替换为你自己的代码

创建新的 Windows Boot Loader 项目:

bcdedit /create /d "启动项名称,随意填写" /application osloader

命令返回 The entry {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} was successfully created. 则代表命令无误。复制其中的 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} ,并依次输入以下命令:

# 以下命令返回 The operation completed successfully. 则代表命令无误
# 虚拟硬盘文件路径,注意盘符有方括号
bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" device "vhd=[C:]\VirtualHardDisk.vhdx"
bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" osdevice "vhd=[C:]\VirtualHardDisk.vhdx"

bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" path \windows\system32\winload.efi

bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" systemroot \Windows

bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" nx OptIn

# 语言
bcdedit /set "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" locale zh-CN

# 开机时显示启动项选择菜单
bcdedit /set "{bootmgr}" displaybootmenu Yes

# 启动项选择菜单的超时时间,单位秒
bcdedit /set "{bootmgr}" timeout 30

# 将新建的启动项添加到启动选单
bcdedit /displayorder "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" /addlast

若操作无误,重启电脑后就会显示操作系统选择菜单,选择刚才安装的系统即可启动。