为了教 AI 课,我在 Ubuntu 上装了 win10 虚拟机

4 阅读3分钟

背景

最近在准备少儿 AI 线上课,碰到了个小问题:

每次上课都要从头演示装各种东西,所以最好是从最干净的系统开始。

于是我就想到了虚拟机,但是我的笔记本性能不够,于是我就想到了在我的 Ubuntu 开发机上装一个 win10的虚拟机。

这里记录一下我的步骤,欢迎大家参考。

步骤

一、下载 iso 镜像

win10 镜像

微软官网 下载安装工具:

  1. 安装过程选择【为另一台电脑安装】;
  2. 然后勾掉【对这台电脑使用推荐配置】,如需要调整版本;
  3. 选【ISO 文件】。

VirtIO 驱动 ISO

Fedora 选择最新版的进入,下载 virtio-win.iso 文件。

virtio-win.iso 是 KVM/QEMU 虚拟机用的 Windows 驱动包。

它主要包含 Windows 下缺失的 VirtIO 半虚拟化驱动

  • 磁盘驱动viostor / vioscsi
  • 网卡驱动NetKVM
  • 内存气球、串口、输入、显卡等驱动
  • QEMU Guest Agent 等工具

为什么需要它?
KVM/QEMU 为了让 Windows 虚拟机性能接近原生,会把磁盘、网卡等虚拟硬件设成 VirtIO。但 Windows 默认不认识这些硬件。没有驱动时:

  • 安装 Windows 可能看不到虚拟硬盘
  • 装好后网卡不能用,远程桌面连不上
  • 或者只能改用 IDE/SATA/e1000 模拟硬件,性能差、CPU 占用高

二、安装 KVM/QEMU

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

三、安装 win10

  1. 启动虚拟机 sudo virt-manager
  2. 新建虚拟机,选择 win10 镜像。注意下面选择操作系统如果无法自动匹配到,你就手输 win10 搜索就可以了。这里我稍微卡了下;
  3. 最后一步的时候一定要勾选【安装前自定义设置】,然后进入自定义配置页面;
  4. 进入【SATA Disk1】标签,将 Disk bus 改为 VirtIO
  5. 进入【NIC】标签,将 Device model 改为 virtio
  6. 重要)添加硬件,选择【Storage】,Device type 选 CDROM,然后挂载 virtio-win.iso。注意 Bus type 不用改;
  7. 点击左上角【开始安装】;
  8. 选择【自定义安装】,这时候找不到磁盘,点击【加载驱动程序】,选择 w10 那个;
  9. 剩下的正常安装就可以了。

四、配置网络

  1. 成功安装系统之后,进入 win10,在开始菜单点击右键,进入【设备管理器】;
  2. 把【以太网控制器】的驱动用加载的 VirtIO 更新一下,选 NetKVM\w10 应该就可以了。

五、远程桌面

本来想用原生的 RDP,结果发现我安装的是家庭版,没有远程桌面的功能……

(╯‵□′)╯︵┻━┻

好吧,还好我之前用 Tailscale + RustDesk 打造了个全天候无线办公系统。

详见 《码农的快乐你不懂:随便一台破电脑,都能远程高效开发!真·零帧起手·爽爆了!》。

索性,在虚拟机里也就用这套方案了,效果还不错。

结语

折腾了一晚上,总算跑通了,还好有 AI 帮忙。

这要是放在以前,不知道要研究几天呢。

其实还有一些极致优化性能的操作,毕竟是虚拟机嘛,性能有限。

我就不写在这里了,大家问 AI 就行。

好了,希望上面的内容对大家有帮助,咱们下次见~~