需通过DISM部署系统镜像到VHDX卷,再用bcdboot生成引导文件,最后用bcdedit注册为独立启动项:先创建并初始化GPT格式VHDX、分配盘符;再用DISM将install.wim部署至该卷;接着运行bcdboot F:\Windows /s F: /f UEFI构建引导环境;最后用bcdedit /copy、/set device/osdevice为vhd=[D:]\xxx.vhdx完成启动项注册。

想在不调整物理分区、不重装主系统的情况下,为Win10添加一个完全独立可启动的第二个Windows系统,并让它运行在你预先准备好的VHDX文件里——这需要绕过安装向导的默认路径限制,直接将系统镜像部署进已挂载的VHDX卷,再手动配置启动项。
确认VHDX已创建并正确初始化
打开【磁盘管理】→ 右键空白处选【创建VHD】→ 设置路径(如 D:\Win10-Second.vhdx)、大小≥64GB、格式选【VHDX】、类型选【动态扩展】→ 点击确定后,该虚拟磁盘会以“状态:无媒体”显示 → 右键它 → 【初始化磁盘】→ 分区样式必须选【GPT】(UEFI启动必需)→ 初始化完成后右键未分配空间 → 【新建简单卷】→ 全程按向导走,格式化为NTFS,分配盘符(例如 F:)。
【关键前提】必须确保VHDX挂载后分配的是**带盘符的可写卷**,且该卷未被任何程序占用(如资源管理器正打开F:\)。若初始化失败或无盘符,请先在diskpart中执行 clean → convert gpt → create partition primary → format fs=ntfs quick → assign letter=F。
用DISM将Windows镜像部署进VHDX卷
把Windows 10 ISO解压到本地(例如 D:\Win10-ISO),确保其中包含 sources\install.wim 或 sources\install.esd 文件。
以管理员身份运行PowerShell → 执行:Dism /Apply-Image /ImageFile:D:\Win10-ISO\sources\install.wim /Index:1 /ApplyDir:F:\(/Index值需根据你实际要安装的版本调整,可用 Dism /Get-ImageInfo /ImageFile:D:\Win10-ISO\sources\install.wim 查看列表)。
部署完成后,F:\ 应出现 Windows、Program Files、Users 等系统目录。若报错“访问被拒绝”,说明F:卷仍被占用或权限受限;若提示“无法应用映像”,大概率是VHDX未初始化为GPT或未格式化为NTFS。
注入启动环境并生成引导文件
继续在管理员PowerShell中执行:bcdboot F:\Windows /s F: /f UEFI /l zh-cn(/f参数必须与你的固件模式严格匹配:UEFI主板填 UEFI,Legacy BIOS填 BIOS;/l指定语言,zh-cn可省略)。
这一步会在F:\EFI\Microsoft\Boot\下生成 bootmgr.efi、winload.efi 等核心引导文件,并在F:\ 写入 boot\bcd 配置数据库。注意:bcdboot命令**不会自动将该VHDX加入主系统启动菜单**,它只负责在VHDX内部构建可启动结构。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
执行后检查 F:\EFI\Microsoft\Boot\ 是否存在 bootmgr.efi 和 winload.efi;若缺失,说明 /f 参数错误或F:卷不是活动的EFI系统分区——此时需回到diskpart中重新识别并分配EFI分区盘符(通常为S:),再对S:执行 bcdboot F:\Windows /s S: /f UEFI。
用bcdedit注册VHDX为独立启动项
第一步:获取当前启动项ID → 管理员CMD中运行:bcdedit /enum firmware,找到主系统的标识符(形如 {current})。
第二步:复制并修改新条目 → 运行:bcdedit /copy {current} /d "Windows 10 (VHDX)",记下返回的新ID(如 {a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8})。
第三步:绑定VHDX路径 → 运行:bcdedit /set {a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8} device vhd=[D:]\Win10-Second.vhdx → 再运行:bcdedit /set {a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8} osdevice vhd=[D:]\Win10-Second.vhdx。
【路径必须精确】方括号中的物理盘符([D:])必须与VHDX文件所在的实际硬盘分区一致,且路径使用反斜杠、全英文字符,不能有中文或空格;若VHDX在E:\,此处就必须写 [E:],写错将导致启动时蓝屏0xc000000f。
第四步:启用HAL自动检测 → 运行:bcdedit /set {a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8} detecthal on。
第五步:验证设置 → 运行:bcdedit /enum {a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8},确认 device 和 osdevice 均显示为 vhd=[D:]\Win10-Second.vhdx,且 state 为 enabled。

















