在Ubuntu上跑虚拟机

Posted by Hsz on May 15, 2025

在Ubuntu上跑虚拟机

linux体系下桌面应用软件确实还是相对少了点,虽然有win体系(proton,感谢Valve感谢G胖)可以解决大部分问题,但总归还是有一些应用兼容性难以解决.这时我们就可以尝试使用虚拟机了.

KVM

Linux下有一个非常强力的虚拟机工具–KVM.它是基于内核的虚拟机,它是目前linux内核中的一个模块,相当于是linux自带一套虚拟化方案.它的使用需要一台可以运行linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器,也叫AMD-V).基本只要新一些的linux发行版都支持kvm,只要新一些的处理器也都支持虚拟化技术.

当然cpu支持并不意味着就直接能用,我们还需要去主板中打开对应的设置项,虽然大多数主板厂商都是默认打开的,我们还是应该先检查一下.

KVM的基础安装

安装之前首先我们需要检查下有没有安装条件

egrep -c '(vmx|svm)' /proc/cpuinfo

大于0则说明可以安装

之后就是

sudo apt install virt-manager qemu-system qemu-utils libvirt-daemon-system
sudo reboot

如果有条件最好先给系统备份下

其中

  1. virt-manager: 图形界面,我们主要就是操作这个软件来安装启动虚拟机以及进行配置
  2. qemu-system:kvm的上层虚拟器,配合kvm,完成虚拟器功能
  3. qemu-utils:处理器仿真器,比如模拟arm处理器
  4. libvirt-daemon-system:提供API,使GUI能够和各类进程、服务通信

安装和启动虚拟机

安装好后,会有一个virt-manager的图标

虚拟机启动器

双击打开,我们就可以在里面配置虚拟机了.要配置虚拟机,我们需要先下载好虚拟机系统的安装镜像,我们以win10为例.

  1. 首先点击图中小电脑图标,选择安装介质为我们下载好的iso文件

    步骤1

    步骤2

    步骤3

    步骤4

    步骤5

    需要注意,目前win10的安装镜像会被自动识别为win11,我们需要取消勾选自动识别,然后手动将11改为10

  2. 给虚拟机分配内存,cpu核心数以及磁盘空间

    步骤6

    步骤7

    对于虚拟机只是为了临时调试验证的用户来说,通常win10给个16g,4核(实际是4线程),40g空间也就够了,如果要重度使用建议分配32g内存8核120g硬盘空间.

    跑虚拟机的宿主机最好配置强些,像我这台是8核16线程,96g内存的配置,跑虚拟机就比较轻松了

  3. 之后点前进,就会进入windows的安装流程,就像在本地安装一样我们根据需求安装,激活也就行了

宿主机与虚拟机交互

正常情况下虚拟机和宿主机是完全隔离的,这其实用起来还是挺不方便的,比如你在宿主机复制了一个地址要去虚拟机里黏贴进浏览器下载东西,那就尴尬了.

要解决这个问题,我们需要做一些额外设置,最常用和推荐的方法是使用SPICE协议并在虚拟机中安装SPICE客户端工具

宿主机的设置

宿主机我们需要做的是确保虚拟机使用SPICE显示协议

确保项1 确保项2

虚拟机设置

之后我们需要在虚拟机中安装SPICE客户端,如果虚拟机是Debian及其衍生版,可以使用如下命令

sudo apt update
sudo apt install spice-vdagent spice-webdavd
sudo reboot

其中

  • spice-vdagent用于同步文本到剪切板
  • spice-webdavd用于文件拖放

而windows下我们需要去https://www.spice-space.org/download.html#guest_packages下找到spice-guest-tools的下载连接并下载下来安装,安装完成后记得重启

确保通道可用

正常情况下上面两步都弄完,宿主机与虚拟机间就可以交互了,但我们还是再回到宿主机,在下图确认下通道有被建立

确保通道