soarli

避坑与科普:在 Linux KVM 下安装 Windows 虚拟机的三大核心概念
如果你习惯了 VMware 或 VirtualBox,刚刚转战 Linux 原生的 KVM/QEMU (libvi...
扫描右侧二维码阅读全文
02
2026/03

避坑与科普:在 Linux KVM 下安装 Windows 虚拟机的三大核心概念

如果你习惯了 VMware 或 VirtualBox,刚刚转战 Linux 原生的 KVM/QEMU (libvirt) 虚拟化环境,准备大展身手安装一台 Windows 虚拟机时,大概率会遇到几个让人摸不着头脑的小问题。

今天,我们就通过三个常见的“新手灵魂拷问”,把 KVM 安装 Windows 的核心逻辑串起来。

1. 为什么 sudo cd 进不去虚拟机的默认目录?

在 Linux 系统中,libvirt 虚拟机的默认磁盘镜像存放路径是 /var/lib/libvirt/images/。这个目录权限很严格,普通用户进不去。很多人的第一反应是敲下:
sudo cd /var/lib/libvirt/images/

结果系统会无情地报错:sudo: cd: command not found

为什么会这样?
因为 cd(切换目录)根本不是一个独立的应用程序,它是 Shell(命令行解释器)自带的一个内部指令。而 sudo 的作用是赋予你最高权限去执行一个独立的程序。既然找不到一个名叫 cd 的独立程序,sudo 自然就罢工了。

正确姿势:
你需要先用 sudo 提升整个 Shell 会话的权限,然后再自由切换目录。

  • 方法 A(推荐): 输入 sudo -i,直接切换到 root 用户的专属环境,然后执行 cd /var/lib/libvirt/images/
  • 方法 B: 输入 sudo -s,保持当前用户环境但获取 root 权限,同样再执行 cd 命令。
    (操作完成后,输入 exit 即可退回普通用户状态。)

2. 找不到硬盘?你需要 virtio-win.iso 救场

当你成功进入目录,开始安装 Windows 虚拟机,到了“选择安装位置”那一步时,你可能会傻眼:列表里空空如也,系统提示找不到任何驱动器。

这时候,你就需要请出 virtio-win.iso 这个神器了。(官方下载地址通常类似于:https://fedora-virt.repo.nfrance.com/virtio-win/...

它是干什么用的?
为了让虚拟机获得媲美物理机的极致磁盘读写和网络性能,KVM 通常会给虚拟机配置 VirtIO 架构的虚拟硬件。然而,微软的 Windows 系统原生并不认识这种开源的虚拟硬件,自然也就认不出虚拟硬盘。

如何使用:

  1. 在创建虚拟机时,配置两个虚拟光驱
  2. 光驱 A 挂载 Windows 操作系统的安装镜像;光驱 B 挂载下载好的 virtio-win.iso
  3. 在安装界面提示找不到硬盘时,点击“加载驱动程序”
  4. 浏览到 virtio-win.iso 所在的盘符,找到对应你 Windows 版本(如 amd64\w10)的文件夹并加载。
  5. 见证奇迹的时刻——虚拟硬盘出现了!安装完成后,还可以继续用这个光盘把虚拟网卡(NetKVM)、虚拟显卡(QXL)等驱动全部打齐。

3. qcow2 到底是个什么格式?

在准备虚拟机硬盘时,你一定会遇到 qcow2 这个词。

简单粗暴地理解:qcow2 在 KVM 里的地位,就完全等同于 VMware 里的 .vmdk 文件。 它就是你那台 Windows 虚拟机的“物理硬盘”。

为什么 KVM 独宠 qcow2?
全称 QEMU Copy On Write version 2 的它,拥有几个极其强大的特性:

  • 按需分配(动态扩展): 假设你给 Windows 分配了 100GB 的 qcow2 硬盘,刚装完系统实际上只占用了 20GB。那么在你的宿主机硬盘上,这个文件就只有 20GB 大小。只有当你在虚拟机里存入新文件,它才会慢慢变大。极大节省了宿主的存储空间。
  • 原生快照支持: 它可以把虚拟机的状态像拍照一样记录下来。更新系统前打个快照,万一蓝屏崩溃,几秒钟就能回滚到健康状态。
  • 高级特性: 支持数据透明压缩和磁盘加密。

总结

现在,完整的 KVM Windows 安装逻辑应该很清晰了:
首先,通过正确的命令获取权限进入 /var/lib/libvirt/images/ 目录;接着,在那里创建一个灵活强大的 qcow2 虚拟硬盘;最后,同时挂载 Windows 安装盘和 virtio-win.iso 驱动盘,完美点亮你的虚拟机!

最后修改:2026 年 03 月 02 日 05 : 27 AM

发表评论