QEMU 完全支持启动真实的 U 盘,无需重启即可测试基于 Linux 或 Windows 的可引导 U 盘。
⌨️ 方法一:使用命令行直接启动
以 Linux 系统为例,需要先通过lsblk或fdisk -l确认 U 盘的设备名称,通常是/dev/sdX的形式(例如/dev/sdb)。
基础命令:
sudo qemu-system-x86_64 -enable-kvm -m 1024 -drive file=/dev/sdX常用参数详解:
-enable-kvm:启用 KVM 硬件加速,大幅提升运行速度。-m 1024:分配 1024MB 内存给虚拟机。-drive file=/dev/sdX:指定使用的物理设备路径。权限问题:由于直接读写物理设备,需要使用
sudo或以root身份执行。启动顺序:如果虚拟机无法从U盘启动,可添加
-boot order=d参数强制从该驱动器引导。
方法二:Windows 环境操作
由于 Windows 系统锁机制,直接在 QEMU 命令行中映射物理驱动器 (\\.\PhysicalDrive1) 通常会是只读模式。如果需要写入,推荐以下工具:
RMPrepUSB:制作启动盘的工具,安装后按
F11键即可启动测试。QEMU Manager:QEMU 的图形化管理工具,在配置中可以直接选择物理磁盘号码(PhysicalDrive Number)。
⚙️ 进阶与高级配置
模拟真实 USB 接口:标准配置会将U盘识别为普通硬盘。如需模拟 USB 控制器,可通过命令行进行精确模拟。
UEFI 启动:默认 BIOS 无法启动 UEFI 系统。需下载支持 UEFI 的固件文件(如
OVMF.fd),并添加参数-bios /path/to/OVMF.fd。数据安全建议(-snapshot):为防止意外写入或破坏原U盘数据,可添加
-snapshot参数。所有更改将仅存在于当次会话中,退出虚拟机后所有改动都会丢失。
💡 常见问题与解决方案
无法找到可启动设备:通常因U盘引导记录损坏或 MBR/GPT 格式不匹配导致。可在虚拟机内检查并重建引导记录。
U 盘识别为硬盘而非 USB 设备:绝大多数情况不影响启动;若应用依赖检测,则可按“模拟真实 USB 接口”章节配置。
Windows 7 x64 启动失败:已知部分 QEMU 版本存在此兼容性问题