懒猫微服进阶心得(十三): WebVirtCloud 安装 Windows 使用 virtIO 的注

忘机山人

发布于292天前
博客图片修整中,看不了可以先搜索公众号“忘机山人”看。
在使用 WebVirtCloud 部署 Windows 虚拟机时,如果想要获得更高的磁盘与网络性能,建议使用 **virtIO 半虚拟化驱动**。不过,Windows 并不像大部分 Linux 发行版那样自带 virtIO 驱动,因此安装过程中需要额外设置。本文结合社区已有教程与实测经验,整理了安装 Windows 时使用 virtIO 的注意事项,方便大家快速上手。

[社区原教程参考:](https://lazycat.cloud/playground/guideline/454)


###  半虚拟化与全虚拟化的区别

半虚拟化(Paravirtualization)和全虚拟化(Full Virtualization)的主要区别在于 **虚拟机是否知道自己“不是物理机”** 以及 **是否需要为虚拟化修改驱动或操作系统**。

| 特性             | 全虚拟化(Full Virtualization)                | 半虚拟化(Paravirtualization)                    |
| -------------- | ---------------------------------------- | ------------------------------------------- |
| 客户机是否知道自己在虚拟环境 | 否,操作系统认为自己在裸机上运行                         | 是,操作系统知道自己在虚拟机里                             |
| 是否需要修改客户机操作系统  | 否(原始 OS 可直接运行)                           | 是(需要支持 paravirt 接口的内核或驱动)                   |
| 是否模拟完整硬件       | 是,完全模拟 CPU、BIOS、设备                       | 否,使用简化接口与 hypervisor 通信                     |
| 性能             | 一般略低(依赖 VT-x/AMD-V 等硬件加速)                | 更高(减少陷入与上下文切换)                              |
| 示例             | VMware Workstation、QEMU + TCG、VirtualBox | Xen PV 模式、KVM virtio、Hyper-V Enlightenments |
| 是否支持热迁移        | 支持                                       | 支持                                          |

**全虚拟化**:通过软件模拟硬件,客户机无需修改即可运行,但性能相对较低,尤其是 I/O。
**半虚拟化**:使用专用接口与宿主机通信,需要驱动支持,性能更高。

进一步对比如下:

| 情境      | 全虚拟化                   | 半虚拟化(virtio-net)       |
| ------- | ---------------------- | ---------------------- |
| 客户机看到什么 | 模拟 Intel e1000 网卡      | 简化的 virtio-net 网卡      |
| 通信方式    | 模拟 PCI 总线、MMIO、DMA     | 共享内存 + 通知机制(virtqueue) |
| 性能      | 中等(高 CPU 占用)           | 高(低延迟、低 CPU 占用)        |
| 兼容性     | 高(任何支持 e1000 的 OS 都能用) | 需要安装 virtIO 驱动         |

简而言之:
**全虚拟化 = 模拟“骗操作系统”**
**半虚拟化 = 协作“告诉操作系统你在虚拟机里”**


### 安装 Windows 使用 virtIO 的步骤

1. **准备 ISO 镜像**

   * Windows 安装 ISO
   * virtIO 驱动 ISO(建议版本 `virtio-win-0.1.266-1.iso`)
     下载地址:[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.266-1/](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.266-1/)

相当于安装的时候需要从virtio提取驱动文件来完成半虚拟化安装。
   ![image-20250815210345831](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815210345831.png)

2. **在 WebVirtCloud 设置中同时挂载两个 ISO**

   * Windows ISO
   * virtIO ISO

   ![image-20250815211218330](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815211218330.png)
   ![image-20250815210909079](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815210909079.png)

3. **启动控制台进入安装界面**
   ![image-20250815210707501](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815210707501.png)

4. **加载 virtIO 驱动**

   * 安装向导默认找不到磁盘(因使用 virtIO 控制器)
   * 点击“加载驱动程序” → 选择 virtIO ISO 中 `w10` 目录下的驱动
   * 刷新后即可识别磁盘

   ![image-20250815211037414](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815211037414.png)
   ![image-20250815210950210](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815210950210.png)

5. **正常分区并开始安装**
   ![image-20250815211117877](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815211117877.png)
   
   安装过程,是漫长的等待。
   
   ![image-20250815211134779](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815211134779.png)

6. **首次启动时跳过联网**

   * 因为 virtIO 网卡驱动未安装,联网步骤可选择“我没有 Internet”跳过
   * 进入系统后安装 virtIO 网卡驱动

   ![image-20250815215024868](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/image-20250815215024868.png)

7. **在系统内安装 guest tools**

   * 打开 virtIO ISO

   ![图片](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/640-20250815215218786.png)
   
   * 双击安装 **guest tools**(包含磁盘、网卡等驱动)

   ![图片](https://raw.githubusercontent.com/cloudsmithy/picgo-imh/master/640-20250815215244474.png)


### 总结

在 WebVirtCloud 下安装 Windows 时使用 virtIO,可以显著提升磁盘和网络性能,但前提是正确加载驱动并在系统中安装 guest tools。整个流程的关键点在于:

* 安装阶段提前挂载 virtIO ISO 并加载驱动
* 首次启动跳过联网,进入系统后安装 guest tools
* Linux 系统通常无需额外驱动,但 Windows 必须手动安装

这样,你的 Windows 虚拟机不仅能正常运行,还能充分发挥 KVM 的 I/O 性能优势。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0