news 2026/9/3 10:03:53

Linux下跑Windows虚拟机:KVM/QEMU与virtio驱动实操指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下跑Windows虚拟机:KVM/QEMU与virtio驱动实操指南

平时我们听得最多的,是 Windows 上用 WSL 跑 Linux。工欲善其事,很多后端、运维同学已经习惯了在 Windows 里通过wsl --install快速启动一个 Ubuntu,然后敲 Linux 命令。反过来想,如果手头只有 Linux,却必须运行某款只有 Windows 版本的软件,该怎么办?本文就顺着这个思路,聊聊在 Linux 中运行 Windows 虚拟机这件事,并给你一套从检测虚拟化、创建 Windows 虚拟机到安装 virtio 驱动的完整操作流程。

为了方便理解,我先玩一个“反向缩写”:大家常说 WSL(Windows Subsystem for Linux),那不妨把“在 Linux 里跑 Windows 子系统”叫做《LSW》。不过必须先说明,LSW 并不是官方发行版或某个开源项目,它只是一种思路上的映射。真正落地使用的,是 KVM/QEMU、VirtualBox 这类虚拟化方案。下面我会以目前 Linux 平台性能最好、企业里最常见的 KVM/QEMU 路径为主线展开。

很多同学看到“Windows 虚拟化”会误以为只有 VMware Workstation 或 VirtualBox 能做,其实在 Linux 服务器上,KVM 才是更贴近生产环境的选择。读完本文,你可以掌握硬件虚拟化检测、virt-manager 图形创建、virt-install 命令行创建、Windows 系统安装、virtio 半虚拟化驱动、剪贴板共享、文件传输和性能调优等一整套实战技能。

1. 到底什么是“LSW”:先搞清楚方向

1.1 WSL 和 Windows 虚拟机是不同的东西

WSL 是微软在 Windows 上提供的 Linux 兼容环境。WSL 1 通过系统调用翻译层模拟 Linux 接口,WSL 2 则在一个轻量级虚拟机中运行真正的 Linux 内核。虽然 WSL 2 底层也用了虚拟化技术,但它面向的是“Windows 用户想在本地敲 Linux 命令、跑 Linux 服务”的场景,不是让你在一个独立的 Linux 系统里完整启动一台 Windows。

反过来,如果我们在 Linux 主机上安装 KVM/QEMU,创建一台完整的 Windows 虚拟机,那 Windows 会认为自己运行在一台真实电脑里。它有自己的 CPU、内存、磁盘、网卡、显卡,可以安装任意 Windows 应用,也能通过远程桌面连接使用。

两边的使用边界要分清:

场景WSLKVM + Windows 虚拟机
宿主机WindowsLinux
客户机Linux(通过微软子系统)Windows
启动方式wsl命令自动管理virsh/virt-manager管理
系统完整性轻量 Linux 环境完整 Windows 系统
是否适合 GUI 软件一般,更适合命令行工具适合商业软件、浏览器类 GUI 应用
性能损耗较低接近原生,但需要合理配置

如果你只是偶尔需要在 Linux 命令行里编译代码,不需要折腾 Windows 虚拟机。可当需求变成“必须用 Windows 版网银插件”“必须跑某个 Windows 专用工业软件”“需要测试 IE 兼容页面”时,虚拟机就是绕不开的方案。

1.2 Linux 上运行 Windows 的主流方案对比

Linux 平台上常见的选择有 KVM/QEMU、VirtualBox、VMware Workstation Pro for Linux,以及 Xen 等虚拟化平台。下面从性能和易用性两个角度对比:

方案虚拟化原理易用性性能表现适用场景
KVM/QEMULinux 内核模块 + QEMU 用户态设备模拟中等,virt-manager 后较友好很高服务器虚拟化、个人桌面虚拟化
VirtualBox内核模块 + 用户态虚拟机一般个人用户、跨平台虚拟机迁移
VMware Workstation闭源产品 + 内核模块较高桌面开发、测试复杂系统
Xen裸金属 Hypervisor中等很高企业级虚拟化平台,较少用于个人桌面

对于一块普通 Linux 桌面电脑或一台 Ubuntu Server,我的建议是优先尝试 KVM/QEMU。KVM 是 Linux 内核自带的虚拟化模块,你不需要额外购买商业授权,也不需要重启到另一套 Hypervisor。virt-manager 提供图形界面之后,创建 Windows 虚拟机的门槛已经大大降低。

我在生产环境见过不少团队用 KVM 跑 Windows Server,用 VirtIO 驱动后网络和磁盘性能都很稳。如果你的 Linux 只是临时测试机,VirtualBox 也可以。只是遇到性能瓶颈时,别急着怀疑 Windows 本身,先检查是否用上了半虚拟化驱动。

1.3 为什么首选 KVM/QEMU 来跑 Windows

KVM 全称 Kernel-based Virtual Machine,它把 Linux 内核变成了一个 Type-1 虚拟化层。QEMU 负责模拟 CPU、内存、磁盘、网卡等设备,二者配合后,Windows 客户机能直接执行 CPU 指令,性能损耗远小于纯软件模拟。

相比 VirtualBox,KVM/QEMU 在 Linux 服务器上更符合运维习惯。虚拟机配置文件统一放在/etc/libvirt/qemu/,可以通过virsh做开机自启、快照、热迁移。生产服务器的统一纳管也会优先选 libvirt 体系。

但 KVM 对新人最大的障碍是驱动。Windows 默认不识别 VirtIO 磁盘、网卡,所以安装时需要额外提供一个 virtio-win 驱动光盘。这个问题下面会专门讲,耐心看下去并不复杂。

2. 环境准备与虚拟化检测

2.1 硬件与系统要求

要舒服地跑 Windows 虚拟机,硬件上至少要确认三件事:

  1. CPU 支持并开启硬件虚拟化。Intel 平台对应 VT-x,AMD 平台对应 SVM。
  2. 内存要留给宿主机一部分,不能全部给虚拟机。Windows 10/11 建议至少 4GB,推荐 8GB。
  3. 磁盘空间按需准备。Windows 10 建议预留至少 60GB,Windows Server 可以适当减小。

在 Linux 里先查看 CPU 虚拟化是否开启:

grep -E -o '(vmx|svm)' /proc/cpuinfo | sort -u

如果输出包含vmx,表示 Intel 虚拟化已开启;如果输出svm,表示 AMD 虚拟化已开启。如果没有输出,可能是 BIOS/UEFI 中关闭了虚拟化,也可能是当前运行在云主机上但没有透传 VT 标志位。

还要看/dev/kvm是否存在:

ls -l /dev/kvm

/dev/kvm是宿主机访问 KVM 能力的关键设备节点。如果不存在,大概率是没安装 KVM 软件,或内核模块没加载。

2.2 安装 KVM 相关软件

这里以 Ubuntu/Debian 系为例。先更新软件源,然后安装 QEMU、libvirt、virt-manager 和 virtinst:

sudo apt update sudo apt install -y qemu-system-x86 libvirt-daemon-system libvirt-clients virt-manager virtinst qemu-utils

安装完成后启动 libvirtd 服务,并设置为开机自启:

sudo systemctl enable --now libvirtd sudo systemctl status libvirtd --no-pager

如果是 CentOS/RHEL/Rocky Linux 系统,则用 dnf 命令:

sudo dnf install -y qemu-kvm libvirt virt-install virt-manager sudo systemctl enable --now libvirtd sudo systemctl status libvirtd --no-pager

安装后建议把当前用户加入libvirtkvm用户组,避免每次操作都加 sudo:

sudo usermod -aG libvirt,kvm $USER

执行完需要重新登录终端或重启桌面会话,组权限才会生效。

2.3 验证 KVM 是否可用

在 Ubuntu 上可以运行 virt-host-validate:

virt-host-validate

这个命令会检查 CPU、IOMMU、KVM 模块、cgroup 等状态。绝大多数PASS说明环境正常。若有WARN一般是某些非关键能力没有开启,不影响普通虚拟机运行。

再检查内核模块:

lsmod | grep kvm

如果输出类似kvm_intel 122880 0,一行就有kvm_intelkvm_amd,还有kvm,说明模块已经加载。此时在终端中运行:

virsh version

能正常输出版本信息,就说明 libvirt 服务可以连接了。到这里,环境准备基本完成,接下来可以创建第一台 Windows 虚拟机。

3. 快速创建 Windows 虚拟机:GUI 与 CLI 两条路线

3.1 准备 Windows 安装镜像与 virtio 驱动

创建 Windows 虚拟机前,先准备两个镜像:

  1. Windows 安装 ISO,例如从正规渠道下载的 Windows 10/11 或 Windows Server 评估版镜像。
  2. virtio-win ISO,这是 KVM 环境给 Windows 使用的半虚拟化驱动镜像。

virtio-win 镜像一般可以在 Fedora 官方仓库、红帽相关仓库中获得,也可以从 virtio-win 项目页面下载。注意版本要与虚拟机系统架构匹配,x86_64 的 Windows 就下载对应的 x86_64 版本。

准备好后,把 ISO 放在固定目录,例如/opt/iso/。权限要确保运行 libvirt 的用户能读取,否则启动虚拟机时会出现找不到镜像的错误。

sudo mkdir -p /opt/iso sudo chmod 755 /opt/iso

3.2 使用 virt-manager 图形界面创建

virt-manager 是 Linux 桌面上管理虚拟机的图形工具,对于新手最直观。打开方式:

virt-manager

如果是在远程 Linux 服务器上操作,可以通过 SSH X11 转发,但体验一般;更推荐本机桌面环境运行 virt-manager,然后远程连接宿主机 libvirt,或者直接用 virt-install 命令行。

图形界面创建流程:

  1. 点击左上角“新建虚拟机”按钮。
  2. 选择“本地安装介质(ISO 镜像或光驱)”。
  3. 点击“浏览”选择 Windows 安装 ISO。
  4. 系统类型如果无法自动识别,可以先选择“Generic”或已知的 Windows 类型。
  5. 设置 CPU 和内存。Windows 10 建议 4 核 8GB 左右,Windows 11 建议更高。
  6. 为虚拟机创建磁盘镜像,默认 qcow2 格式,磁盘大小建议至少 40GB。
  7. 在自定义配置阶段,把磁盘总线改成 VirtIO,网卡型号也改成 VirtIO。
  8. 接着添加第二张光驱,把 virtio-win ISO 挂载进去。
  9. 确认配置后启动虚拟机。

启动后 Windows 安装程序会加载。如果之前把磁盘设置为 VirtIO,Windows 默认看不到磁盘。此时不要慌,Windows 安装界面选择“加载驱动程序”,定位到 virtio-win 光驱下的vioscsiviostor驱动目录,选择对应的系统目录即可。

光标、键盘、显示方面,virt-manager 默认使用 SPICE 协议,安装后还需要安装 SPICE Guest Tools,才能获得更好的分辨率和剪贴板共享。

3.3 使用 virt-install 命令行创建 Windows 虚拟机

服务器上没有图形界面时,virt-install 是更可靠的选择。先查询 libvirt 支持的操作系统类型:

osinfo-query os | grep -i windows

输出会列出如win10win11win2k19等名称,不同版本名称略有差异。确认后创建一个 Windows 10/Server 虚拟机,示例命令如下:

sudo virt-install \ --name win10 \ --memory 8192 \ --vcpus 4 \ --cpu host-passthrough \ --disk path=/var/lib/libvirt/images/win10.qcow2,size=60,format=qcow2,bus=virtio,cache=writeback \ --disk path=/opt/iso/windows.iso,device=cdrom,bus=sata \ --disk path=/opt/iso/virtio-win.iso,device=cdrom,bus=sata \ --os-variant win10 \ --network network=default,model=virtio \ --graphics spice \ --video virtio \ --boot uefi

参数含义:

参数作用
--name win10虚拟机名称,用于 virsh 管理
--memory 8192分配 8GB 内存
--vcpus 4分配 4 个 vCPU
--cpu host-passthrough让虚拟 CPU 透传宿主机 CPU 特性,Windows 下性能更好
--disk size=60自动创建 60GB 的 qcow2 磁盘镜像
bus=virtio磁盘总线使用 VirtIO
device=cdrom将 ISO 作为光驱设备挂载
--os-variant win10告诉 libvirt Windows 10 的特殊配置
model=virtio网卡使用 VirtIO 虚拟网卡
--graphics spice启用 SPICE 显示协议
--video virtio显卡使用 VirtIO GPU
--boot uefi使用 UEFI 引导,安装 Win10/11 推荐

执行过程中会自动打开 VNC 或 SPICE 客户端连接窗口。如果没有图形环境,建议只安装完再使用远程桌面。执行后可用以下命令确认状态:

sudo virsh list --all

输出里应该有win10虚拟机,状态为runningshut off。如果创建后没有图形窗口,可以用:

sudo virsh start win10 sudo virt-viewer --connect qemu:///system win10

来手动打开虚拟机画面。

4. 安装系统与半虚拟化驱动

4.1 为什么 Windows 必须安装 virtio 驱动

默认情况下,QEMU 可以模拟 IDE 磁盘和 e1000 网卡,Windows 可以免驱识别,但性能远不如 VirtIO。VirtIO 属于半虚拟化设备,需要客户机里安装驱动后,虚拟机和 QEMU 之间才能通过共享内存队列高效通信。

在 KVM 环境里,没有 VirtIO 驱动的 Windows 虚拟机就像装了机械硬盘、百兆网卡,跑起来卡顿明显。因此创建虚拟机时,即使安装阶段麻烦一点,我也建议优先把磁盘和网卡设置为 VirtIO。

virtio-win 驱动镜像中主要包含以下几类驱动:

  • viostor:VirtIO 块设备驱动,对应虚拟磁盘。
  • vioscsi:VirtIO SCSI 控制器驱动。
  • NetKVM:VirtIO 网络驱动。
  • pvpanic:崩溃上报驱动。
  • qxlvirtio-gpu:显卡驱动。
  • balloon:内存气球驱动。

4.2 在 Windows 安装过程中加载磁盘驱动

如果你把磁盘总线设置成了 VirtIO,Windows 安装程序通常会显示“找不到任何驱动器”。这时需要先给 Windows 加载 vioscsi/viostor 驱动。

在 Windows 安装界面点击“加载驱动程序” → “浏览”,然后选择 virtio-win 光驱。驱动目录在不同版本中略有差异,但结构一般包含amd64目录。选择viostor对应 Windows 版本的驱动文件夹,点击确定。如果路径正确,很快就能列出可用的磁盘。

加载成功后,Windows 安装程序会看到刚才创建的 qcow2 磁盘。这时再分区、格式化、继续安装。

我之前第一次安装时把 virtio-win 光驱放在了另一台远程服务器上,没留意权限,结果点“浏览”时看不到安装 ISO,也没法加载驱动。后来把 ISO 复制到本机/var/lib/libvirt/images/下并设置好权限,问题才解决。遇到“找不到驱动程序”时,先检查光驱是否挂载成功,再检查驱动目录是否选择正确。

4.3 安装 virtio 驱动和 SPICE Guest Tools

Windows 安装完成后,第一件事不是装浏览器,而是打开 virtio-win 光驱,运行里面的驱动安装程序。具体文件名称随版本变化,常见的有virtio-win-guest-tools.exe,它会把 VirtIO 网卡、磁盘、内存气球、显卡等驱动一并安装。

如果是 Win10/11,也可以直接在设备管理器中找到带感叹号的设备,右键更新驱动,指向 virtio-win 光驱。手动更新适合只维护少量虚拟机,批量部署时建议直接运行套装工具,效率更高。

接下来安装 SPICE Guest Tools,用于增强虚拟机的显示体验。安装后:

  • 分辨率可以动态适应 virt-manager 窗口。
  • 宿主机和虚拟机之间可以直接复制文本。
  • 剪贴板里的大文件也能直接拖拽。

安装完成后重启 Windows,用dxdiag检查显卡名称,正常情况下会显示为 VirtIO GPU 或 QXL 显卡,不再是“Microsoft 基本显示适配器”。

4.4 Windows 11 的 TPM 与安全启动提醒

如果你创建的是 Windows 11 虚拟机,还有一个额外门槛:Windows 11 安装时默认要求 TPM 2.0 和安全启动。在 Linux KVM 环境中,可以通过 libvirt 为虚拟机添加软件模拟 TPM 设备。

宿主机安装 swtpm:

sudo apt install -y swtpm

然后在虚拟机 XML 配置的<devices>节点里添加 TPM 设备片段:

<tpm model='tpm-crb'> <backend type='emulator' version='2.0'/> </tpm>

添加后重启虚拟机,Windows 11 的安装前检测会更容易通过。如果使用 UEFI 引导,还需要在 virt-manager 的“引导选项”中启用安全启动。当然,Windows 11 不同版本要求会有变化,如果你只是学习测试,也可以选择 Windows 10 或 Windows Server,减少折腾成本。

5. 性能调优与体验优化

5.1 CPU 与内存配置策略

vCPU 的数量并不是越多越好。虚拟机的 CPU 调度本身有开销,如果 Windows 虚拟机只需要跑办公软件,分配 4 核已经足够。如果编译大型项目或运行数据库,可以逐步增加到 8 核,但要观察宿主机负载。

内存方面,Windows 10/11 建议至少 4GB,日常流畅 8GB。如果宿主机内存只有 16GB,给虚拟机分配 12GB 会导致宿主机本身很紧张,Swamp 频繁时会明显卡顿。生产环境建议宿主机预留不少于 4GB 内存。

使用host-passthroughCPU 模式可以最大化兼容性,Windows 的沙箱、虚拟化应用也能识别出更多 CPU 指令。缺点是虚拟机跨物理机迁移时,如果两边的 CPU 型号不同,容易热迁移失败。如果你不需要迁移,就放心用。

5.2 磁盘镜像格式与缓存策略

KVM 环境最常用的磁盘格式是qcow2。它支持稀疏文件、快照、压缩和加密。创建一个 60GB 的 qcow2 文件,刚开始只占用很小空间,随着写入增多逐渐增大。相对的,raw格式更接近裸设备,性能往往略好,但不支持快照和精简分配。

命令行创建时可以这样选择:

  • 日常使用:qcow2,兼顾空间和快照。
  • 高吞吐性能:raw或使用 LVM 逻辑卷直连。
  • 机械硬盘宿主机:cache=writethrough更安全,但速度慢。
  • SSD 宿主机:cache=writeback或保留默认策略,整体性能更好。

如果你的磁盘性能较差,安装 Windows 时可能非常慢。建议优先把系统装在 SSD,虚拟机镜像也放到 SSD 上。

5.3 网络模式优化

Linux 宿主机上 Windows 虚拟机最常见的网络模式是defaultNAT 网络。虚拟机可以访问外网,宿主机也可以访问虚拟机,但外部设备无法直接连接虚拟机。

如果 Windows 虚拟机需要对外提供服务,可以创建桥接网络。比如直接把 Linux 主机的物理网卡桥接到虚拟机,Windows 会从局域网获取独立 IP。不同 Linux 桌面环境的网络管理工具不同,配置桥接前需要先了解 NetworkManager 或 netplan 的写法。

另一个常见问题是 Windows VM 网络速率低。安装 VirtIO 网卡驱动后,可以启用网卡多队列:

sudo virsh edit win10

<interface>里加入:

<driver name='vhost' queues='4'/>

如果虚拟机有多个 vCPU,网络多队列能利用多核处理数据包,提高吞吐。此配置需要虚拟机处于关机状态。

5.4 显卡与显示协议优化

在 virt-manager 里,默认视频设备可以设置为 VirtIO 或 QXL。对普通桌面办公,VirtIO GPU 配合 SPICE 已经足够。安装 SPICE Guest Tools 后,分辨率和剪贴板体验会接近真实桌面。

但要注意,这种虚拟显卡无法满足高负载 3D 游戏。若必须运行需要较强图形能力的 Windows 软件,需要做 GPU 直通,把宿主机一块物理显卡直接分配给 Windows 虚拟机。GPU 直通对硬件平台有要求,还需要配置 IOMMU,不是所有主板都能稳定运行。遇到这类需求,请先查阅虚拟化平台官方文档,并在测试机验证后再操作。

如果 Windows 虚拟机只是作为服务运行,不开桌面,甚至可以不启动 SPICE,远程桌面协议更合适。Windows 专业版自带远程桌面,启用后直接用 Linux 上的 Remmina 连接即可。

5.5 剪贴板共享与文件互传

VirtIO 加 SPICE 组合下,安装 SPICE Guest Tools 后,复制文本通常可以双向共享。如果剪贴板失效,重启虚拟机或检查 services 中的 SPICE agent 是否正常运行。

跨系统传文件有几种方式:

  1. SPICE 拖拽:适合小文件。
  2. SMB 共享:把 Linux 目录共享给 Windows,适合大文件和日常协作。
  3. 内置 virt-manager 的“传输文件”功能。
  4. 通过 HTTP 临时服务下载,适合一次性文件。

业务量大时更建议把常用文件放在 SMB 共享目录,Windows 虚拟机里映射为网络驱动器。这样即使虚拟机损坏,数据也不会一起丢失。

6. 常见问题与排查思路

6.1 KVM 无法启动:权限不足

执行 virt-install 时如果提示类似:

Permission denied: /dev/kvm

说明当前用户没有访问/dev/kvm的权限。解决方案是加入kvm用户组并重新登录:

sudo usermod -aG kvm $USER sudo chmod 660 /dev/kvm

某些发行版在重启后/dev/kvm权限会被 udev 规则重新设置。如果仍不生效,检查/etc/udev/rules.d/里是否有自定义规则影响。

6.2 Windows 安装时看不到磁盘

问题现象常见原因解决思路
安装界面无法显示磁盘磁盘总线为 VirtIO,未加载驱动在安装界面加载 vioscsi 或 viostor 驱动
加载驱动提示路径无效virtio-win 目录选择错误根据 Windows 版本和架构选amd64目录
光驱中看不到 virtio-win 内容ISO 未挂载或路径权限错误检查virsh domblklist win10和目录权限

先用以下命令查看虚拟机挂载的设备:

sudo virsh domblklist win10

确认安装 ISO 和 virtio-win ISO 都出现在列表中。如果 ISO 所在目录其他用户无法读取,QEMU 进程也读不到。

6.3 虚拟机安装完成后网络不通

Windows 安装后网络图标显示断开,通常是因为网卡型号是 VirtIO 但驱动没有正确安装。安装 virtio-win 套装工具后,网络一般会自动恢复。

如果安装过了驱动仍不通,检查宿主机网络:

sudo virsh net-list --all sudo virsh net-start default

默认情况下 default 网络可能没有自启,设置开机自启:

sudo virsh net-autostart default

再到 Windows 设置里手动检查 IP 是否为192.168.122.x网段。如果 NAT 网络正常,但外网无法访问,需要检查宿主机的 IP 转发是否开启。

6.4 虚拟机开机自启需求

服务器重启后,希望 Windows 虚拟机自动启动,可以使用:

sudo virsh autostart win10

取消自启:

sudo virsh autostart --disable win10

虚拟机自启后,如果 Windows 有服务依赖其他系统,注意启动顺序。尽量把数据库、中间件等虚拟机的自动启动顺序设计好。

6.5 Windows 启动缓慢或磁盘占用持续偏高

如果 KVM 虚拟机的磁盘持续占用高,可以先检查 qcow2 文件是否过大:

sudo du -h /var/lib/libvirt/images/win10.qcow2

Windows 删除文件并不一定会让 qcow2 缩小。你可以在虚拟机关机后使用:

sudo virt-sparsify --compress /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/win10-shrink.qcow2

这会整理镜像空闲空间并压缩大小。执行前必须备份原镜像,并确保路径空间充足。整理完成后,再替换原文件。该方法不适用于正在运行的虚拟机。

7. 最佳实践与工程建议

7.1 备份与快照规划

Windows 虚拟机中的系统状态比 Linux 容器更复杂,补丁更新和软件安装都可能破坏系统。生产环境建议定期做快照或备份。

KVM 原生快照命令:

sudo virsh snapshot-create-as win10 \ --name "before-update-20250101" \ --description "Windows 更新前快照"

查看快照:

sudo virsh snapshot-list win10

恢复快照:

sudo virsh snapshot-revert win10 --snapshotname before-update-20250101

快照不是万能的。qcow2 快照性能会有损耗,长期保留大量快照会让磁盘占用膨胀。更稳妥的方案是定期停止 Windows 虚拟机后复制镜像文件,或使用virt-clone做完整克隆。

7.2 安全与最小权限原则

虚拟化平台权限很大,误操作可能直接删除整个虚拟机或影响同宿主机上的其他服务。执行 virt-install、virsh undefine、snapshot-delete 等破坏性命令前,建议先输出当前状态确认对象:

sudo virsh dumpxml win10 > /tmp/win10-backup.xml

这样即使虚拟机被误删,XML 配置也能找回一部分。如果做删除操作建议备份两次,再执行。

Windows 虚拟机如果暴露到物理网络,需要安装杀毒软件和防火墙。不要因为“它是虚拟机”就放松安全要求。通过 NAT 访问外网时,外部无法直接连入,默认更安全;一旦改成桥接模式,虚拟机就相当于局域网内一台真实电脑,必须按生产设备对待。

7.3 命名、存储目录与监控规范

虚拟机名称建议加上业务含义,如win-caiwu-01win-mes-01,不要只叫test。镜像文件放在统一的数据盘目录,避免系统盘被虚拟机镜像占满。建议单独挂载大容量数据盘到/var/lib/libvirt/images,或通过 LVM 单独管理。

日常监控可以用:

sudo virt-top

virt-top能实时查看各虚拟机的 CPU、内存、磁盘读写情况。配合宿主机原有的监控方案,重点观察虚拟机内存回收和磁盘 I/O 延迟。Windows 虚拟机发生内存不足时,往往表现为卡顿而不是直接崩溃,因此要提前设置监控告警。

7.4 远程管理 libvirt

如果你有大量 Linux + Windows 虚拟机需要管理,建议启用 libvirt 的远程管理端口,但必须限制来源 IP 并使用 TLS/SSH 隧道。不建议直接暴露无认证的 TCP 端口。局域网内部可通过 virt-manager 连接远程 QEMU 主机:

virt-manager --connect qemu+ssh://user@linux-host/system

这个命令依赖 SSH 认证,相对安全。生产环境中远程管理连接必须走受控网络,并遵循最小权限原则。


从 WSL 到《LSW》,本质上是把虚拟化的方向反转过来。WSL 解决的是 Windows 用户拥抱 Linux 的效率问题;KVM/QEMU 解决的是 Linux 用户必须运行 Windows 软件的兼容问题。别让名字迷惑,你真正需要掌握的是 virt-manager、virt-install、virtio-win 驱动这三件套。只要把系统安装、驱动加载、网络和磁盘配置这几步走通,在 Linux 里跑 Windows 就不再是稀奇事。

如果在实际操作中遇到其他报错,优先查看日志和配置:sudo journalctl -u libvirtd -n 50,再对照设备列表virsh domblklist 虚拟机名virsh domiflist 虚拟机名判断问题出在哪一层。KVM 虚拟化的学习曲线并不陡,真正值得花时间的,是理解虚拟化设备的性能模型和故障排查思路。希望这篇笔记能帮你省下一些摸索时间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 10:02:12

终极菜单栏神器:精选10款开源macOS应用提升你的工作效率

终极菜单栏神器&#xff1a;精选10款开源macOS应用提升你的工作效率 想要让Mac的菜单栏发挥最大效用吗&#xff1f;serhii-londar/open-source-mac-os-apps项目收集了大量优秀的开源macOS应用程序&#xff0c;特别是那些能够极大提升工作效率的菜单栏工具。本文将为你精选10款…

作者头像 李华
网站建设 2026/9/3 10:01:22

5款顶级开源TeX排版工具:macOS用户的终极选择指南

5款顶级开源TeX排版工具&#xff1a;macOS用户的终极选择指南 在学术写作和出版领域&#xff0c;TeX排版系统一直被誉为专业排版的金标准。对于macOS用户来说&#xff0c;开源社区提供了众多优秀的TeX工具&#xff0c;让学术写作变得更加高效和美观。今天&#xff0c;我们将为…

作者头像 李华
网站建设 2026/9/3 9:58:44

数字示波器实战指南:从基础操作到I2C信号分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/3 9:54:52

FPGA实现SD卡SPI模式读写与FAT32文件系统实战指南

简介&#xff1a;本资源是一套基于FPGA实现SD卡底层读写功能的完整工程实践方案&#xff0c;面向数字电路设计初学者与嵌入式硬件开发者&#xff0c;解决FPGA与SD卡通信中协议解析、初始化流程、块级数据传输及CRC校验等核心难点。压缩包共71个文件&#xff0c;涵盖Verilog源码…

作者头像 李华
网站建设 2026/9/3 9:52:21

前字节、腾讯专家孙鹏加盟星尘智能,强化机器人强化学习布局!

9月2日&#xff0c;前字节跳动强化学习专家、前腾讯Robotics X智能体中心负责人孙鹏博士正式加入星尘智能&#xff0c;将负责机器人强化学习方向技术研发与应用探索。孙鹏履历亮点多孙鹏毕业于清华大学&#xff0c;后在康奈尔大学和罗格斯大学从事博士后研究。他长期专注强化学…

作者头像 李华
网站建设 2026/9/3 9:51:58

终极窗口管理神器:5款开源工具大幅提升macOS工作效率

终极窗口管理神器&#xff1a;5款开源工具大幅提升macOS工作效率 还在为macOS窗口管理效率低下而烦恼吗&#xff1f;&#x1f914; 在这个开源macOS应用程序仓库中&#xff0c;我们发现了多款优秀的窗口管理工具&#xff0c;它们能够彻底改变你的工作方式&#xff0c;让你的mac…

作者头像 李华