通过虚拟机设置挂载Windows PE的ISO镜像文件,调整启动顺序优先从该虚拟光驱引导,即可在Linux虚拟机上启动进入Windows PE环境进行系统维护或故障排除。
Windows PE (Windows Preinstallation Environment) 是一个轻量级的 Windows 环境,常用于系统部署、故障排除、数据恢复和系统映像操作,有时,即使你主要在 Linux 主机上工作,也可能需要在虚拟机中运行 Windows PE,例如测试部署脚本、修复虚拟磁盘或进行取证分析,本文将详细指导你如何在 Linux 主机上运行的虚拟机中成功启动进入 Windows PE 环境。
核心原理:
在虚拟机中启动 PE 与在物理机上类似,关键在于让虚拟机从包含 Windows PE 映像的启动介质(通常是 ISO 文件)启动,Linux 主机上的虚拟机软件(如 VirtualBox, KVM/QEMU, VMware Workstation Player for Linux)都支持从 ISO 文件启动虚拟机。
准备工作:
-
获取 Windows PE 映像 (ISO 文件):
- 官方途径 (推荐,体现权威性 E): 最可靠的方式是使用 Windows Assessment and Deployment Kit (Windows ADK),在 Windows 机器上下载并安装 ADK,选择安装“Deployment Tools”和“Windows Preinstallation Environment (Windows PE)”组件,然后使用
copype
命令构建适用于目标架构 (x86, amd64, arm, arm64) 的 PE 映像,并使用MakeWinPEMedia
命令将其转换为 ISO 文件,这是微软官方工具,确保 PE 的完整性和兼容性。 - 第三方工具 (需谨慎,注意可信度 T): 一些系统维护工具(如微PE工具箱、优启通等)会提供预构建的 PE ISO。务必从可信赖的、知名的来源下载,并验证其哈希值,以避免包含恶意软件,本文更推荐官方 ADK 方法以保障安全性和专业性。
- 现成 ISO (最不推荐): 网络上能找到现成的 PE ISO,但强烈不建议使用来源不明的文件,安全风险极高。
- 官方途径 (推荐,体现权威性 E): 最可靠的方式是使用 Windows Assessment and Deployment Kit (Windows ADK),在 Windows 机器上下载并安装 ADK,选择安装“Deployment Tools”和“Windows Preinstallation Environment (Windows PE)”组件,然后使用
-
选择并安装 Linux 虚拟机软件:
- VirtualBox: 开源免费,用户界面友好,广泛使用,通过 Linux 发行版的包管理器(如
sudo apt install virtualbox
for Ubuntu/Debian,sudo dnf install VirtualBox
for Fedora)即可安装。 - KVM/QEMU: Linux 内核原生虚拟化方案,性能通常最佳,通常与
virt-manager
(GUI) 或virsh
/qemu-system
(CLI) 一起使用,安装包名通常为qemu-kvm
,libvirt-daemon
,virt-manager
(sudo apt install qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
on Ubuntu)。 - VMware Workstation Player for Linux: 商业软件,有免费个人使用版本,功能强大稳定,需从 VMware 官网下载安装包。
- 选择建议: VirtualBox 对新手最友好;追求性能和深度集成选 KVM+
virt-manager
;熟悉 VMware 生态可选 Workstation Player。
- VirtualBox: 开源免费,用户界面友好,广泛使用,通过 Linux 发行版的包管理器(如
-
创建或准备虚拟机:
- 在你选择的虚拟机软件中创建一个新的虚拟机。
- 操作系统类型: 选择 “Windows” 或 “Windows 10/11” (即使 PE 基于旧内核,选 Win10/11 通常兼容性更好)。
- 版本: 选择 “Other Windows” 或 “Windows 10 (64-bit)” 等。
- 内存 (RAM): 分配给虚拟机至少 1024MB (1GB) 内存,推荐 2048MB (2GB) 或更多以确保 PE 运行流畅。
- 硬盘 (虚拟磁盘):
- 场景 A (主要目的就是运行 PE): 创建一个小的虚拟硬盘(10-20GB,格式如 VDI/VMDK/QCow2)即可,PE 主要在内存中运行,对硬盘需求极小。
- 场景 B (需要 PE 访问/修复现有虚拟磁盘): 不要创建新硬盘!而是选择添加一个现有虚拟硬盘,指向你需要访问或修复的那个虚拟磁盘文件(
.vdi
,.vmdk
,.qcow2
等)。这是关键步骤! 确保在虚拟机设置中将此硬盘的连接方式设置为SATA
或IDE
(避免使用 VirtIO,除非你确认 PE 中已集成 VirtIO 驱动)。
- 网络 (可选): 如果需要 PE 访问网络(如下载工具、访问共享),配置一个网络适配器(NAT 模式即可),注意 PE 默认网络驱动可能有限。
启动进入 PE 的步骤 (通用流程):
以下步骤以 VirtualBox 和 virt-manager
(KVM) 为例,原理适用于其他软件:
使用准备好的 PE ISO 文件启动 (最常见)
-
挂载 PE ISO 到虚拟光驱:
- VirtualBox:
- 打开虚拟机设置 ->
存储
。 - 在
存储树
下,选中控制器: IDE
或控制器: SATA
下的空
光盘图标。 - 在右侧
属性
面板的光学驱动器
下拉菜单旁,点击光盘图标 ->选择磁盘文件...
-> 浏览并选中你准备好的 Windows PE ISO 文件。 - 确保
Live CD/DVD
复选框被勾选。
- 打开虚拟机设置 ->
- virt-manager (KVM):
- 打开虚拟机硬件详情 -> 点击
添加硬件
。 - 选择
Storage
-> 在选择或创建自定义存储
下,点击管理...
-> 浏览找到你的 PE ISO 文件并选择 -> 点击选择卷
。 - 设备类型保持
CDROM
-> 完成。 - 或者,在虚拟机硬件列表中找到现有的
IDE CDROM
或SATA CDROM
,点击XML
旁边的铅笔图标,在<source>
部分将file
路径指向你的 ISO 文件。
- 打开虚拟机硬件详情 -> 点击
- VirtualBox:
-
设置虚拟机启动顺序:
- VirtualBox:
- 虚拟机设置 ->
系统
->主板
选项卡。 - 确保
光驱
在启动顺序
列表中,并且其顺序高于硬盘,通常将光驱
拖到第一位即可。
- 虚拟机设置 ->
- virt-manager (KVM):
- 虚拟机硬件详情 ->
引导选项
。 - 勾选
IDE CDROM
或SATA CDROM
(具体名称取决于你添加的方式)。 - 使用旁边的上下箭头按钮,确保 CDROM 的启动顺序在硬盘 (
VirtIO Disk
或SATA Disk
) 之前。
- 虚拟机硬件详情 ->
- VirtualBox:
-
启动虚拟机并进入 PE:
- 启动虚拟机。
- 虚拟机开机后,通常会显示类似 “Press any key to boot from CD or DVD…” 的提示。务必快速按任意键(如空格键),如果错过这个提示,虚拟机会尝试从硬盘启动(如果硬盘可启动),你需要重启虚拟机并快速按键。
- 成功从 ISO 启动后,你会看到 Windows PE 的初始化过程(命令行窗口或图形界面,取决于 PE 的构建方式),稍等片刻,即可进入 PE 桌面或命令行环境。
将物理 PE U 盘映射给虚拟机 (较少用,适合已有物理PE盘)
- 确保 Linux 主机能识别 U 盘: 插入 PE U 盘,使用
lsblk
或sudo fdisk -l
命令确认 U 盘设备名(如/dev/sdb
)。 - 将物理 U 盘作为原始磁盘映射给虚拟机:
- VirtualBox:
- 关闭虚拟机。
- 打开虚拟机设置 ->
存储
-> 添加一个SATA
或IDE
控制器(如果还没有)。 - 在控制器下点击
添加硬盘
->选择磁盘
-> 点击右上角添加
图标 -> 在文件类型中选择所有文件
-> 浏览到/dev
目录 -> 选择你的 U 盘设备(如/dev/sdb
)。注意:选择整个磁盘设备 (/dev/sdb
),而不是某个分区 (/dev/sdb1
)。 - 选中添加的物理磁盘 -> 确定。
- virt-manager (KVM):
- 关闭虚拟机。
- 打开虚拟机硬件详情 ->
添加硬件
->Storage
。 - 设备类型:
磁盘设备
。 - 选择或创建自定义存储:
管理...
-> 浏览 -> 在左侧面板选择本地设备
-> 在右侧找到你的 U 盘设备(如/dev/sdb
)-> 选择卷。 - 总线类型:
USB
或SATA
/IDE
(USB 更直接,但 SATA/IDE 兼容性可能更好),完成。
- VirtualBox:
- 设置虚拟机启动顺序:
- 按照 方法一 的第 2 步操作,但这次确保你添加的物理磁盘设备(在 VirtualBox 中显示为添加的硬盘,在 virt-manager 中显示为新的磁盘)在启动顺序中,并且顺序高于虚拟机的其他硬盘,在
virt-manager
的引导选项
中勾选新添加的磁盘并调整顺序。
- 按照 方法一 的第 2 步操作,但这次确保你添加的物理磁盘设备(在 VirtualBox 中显示为添加的硬盘,在 virt-manager 中显示为新的磁盘)在启动顺序中,并且顺序高于虚拟机的其他硬盘,在
- 启动虚拟机: 启动虚拟机,它应该会直接从映射的物理 PE U 盘启动,无需按任意键(因为 U 盘通常被识别为可移动磁盘而非 CDROM)。
进入 PE 后的注意事项与常见问题 (体现专业性 E 和可信度 T):
- 识别磁盘: PE 启动后,打开文件资源管理器(PE 带 GUI)或使用
diskpart
和diskraid
命令(在命令提示符下)来查看虚拟机中的磁盘,特别注意:- 如果你是为了修复现有虚拟磁盘(场景 B),这个磁盘应该会显示出来,确保你之前将其以
SATA
或IDE
方式连接,否则可能因缺少驱动(如 VirtIO)而无法识别。 - PE 环境本身通常加载到内存盘 (X:)。
- 如果你是为了修复现有虚拟磁盘(场景 B),这个磁盘应该会显示出来,确保你之前将其以
- 网络问题: 如果虚拟机网络在 PE 中不工作:
- 检查虚拟机设置中网络适配器是否已启用并连接。
- PE 可能缺少对应虚拟网卡(如 VirtIO 网络驱动)的驱动程序,需要在构建 PE 时使用
dism
命令将 VirtIO 网络驱动(或其他必要驱动)集成到 PE 映像中,或者尝试在 PE 中手动加载驱动(如果支持)。
- 找不到硬盘/启动失败:
- 启动顺序错误: 最常见原因,仔细检查虚拟机设置中的启动顺序,确保 CDROM 或映射的物理磁盘在第一位。
- 没按任意键: 从 ISO 启动时错过了 “Press any key…” 的提示,重启虚拟机并快速按键。
- ISO 文件损坏: 重新下载或生成 PE ISO 文件,并验证哈希值。
- 驱动问题 (场景 B): 如果是为了访问现有虚拟磁盘且该磁盘使用 VirtIO 控制器,而 PE 未集成 VirtIO 存储驱动,则 PE 无法识别该磁盘。解决方案: 在虚拟机设置中将该硬盘的连接方式改为
SATA
或IDE
(推荐),或者在构建 PE 时集成 VirtIO 存储驱动。 - UEFI vs Legacy BIOS: 确保虚拟机的固件设置(在虚拟机设置中,如 VirtualBox 的
系统
->主板
->启用 EFI
选项)与 PE ISO 的构建方式(UEFI 或 Legacy BIOS)匹配,大多数现代 PE 同时支持两者,但如果不匹配可能导致启动失败,如果不确定,尝试在虚拟机设置中切换启用/禁用 EFI。
- 安全性与合法性: Windows PE 是微软提供的强大工具。请务必在合法授权的范围内使用,仅用于系统部署、维护、故障排除和数据恢复等正当目的。 尊重数据隐私和软件许可协议。
在 Linux 虚拟机上进入 Windows PE 的核心步骤是:1) 获取合法的 PE ISO 文件(推荐使用 Windows ADK 构建);2) 在虚拟机软件中创建或配置好虚拟机(特别注意目标磁盘的连接方式);3) 将 PE ISO 挂载为虚拟光驱或将物理 PE U 盘映射为原始磁盘;4) 正确设置虚拟机从该介质优先启动;5) 启动虚拟机并在提示时(对于 ISO)按任意键,成功进入 PE 后,你就可以执行所需的系统维护、修复或部署任务了,理解启动顺序和磁盘驱动兼容性是成功的关键。
引用说明:
- Windows PE 的概念和官方构建方法基于 Microsoft Docs – Windows PE (WinPE): https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-intro (此链接为示例,请查阅最新官方文档)
- VirtualBox 操作指南参考了 Oracle VM VirtualBox User Manual: https://www.virtualbox.org/manual/
- KVM/QEMU 和
virt-manager
的操作参考了 Libvirt Documentation 和 QEMU Documentation 的通用原则。 - VirtIO 驱动信息参考了 Fedora Project – VirtIO Drivers: https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/ (此链接为示例,说明 VirtIO 驱动的重要性)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9029.html