起因 链接到标题

尝试在Debian上运行Windows应用。由于Wine的效果不是非常理想,以及在尝试使用KVM+GPU Passthrough时被宿主机的桌面环境重创,所以放弃了这两个想法。

偶然看到某个博主以”在Linux上运行任何Windows应用程序“为题,做了一个非常标题党的”VMware安装运行Windows“的影片,故让我想尝试一下这条路线。因为这个人的影片里在VMware Player中运行了糖豆人,让我认为这个虚拟显卡的性能还不错。

参考:https://wiki.debian.org/VMware

安装VMware Workstation 链接到标题

启用硬件虚拟化 链接到标题

进BIOS中启用虚拟化。由于相关教程太多,故不赘述。

安装依赖 链接到标题

sudo apt install build-essential linux-headers-$(uname -r)

安装本体 链接到标题

在VMware官网上下载安装包,然后运行安装程序。(这是从Wiki上复制的文本,当时的VMware版本较老,请手动输入文件名)

chmod +x VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle
sudo ./VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle

安装模块 链接到标题

VMware自动的安装依赖在我的电脑上运行时会出现问题。

如果不解决这个问题,会导致VMware中的虚拟机无法联网等问题。

解决办法参见Debian的Wiki上给出的解决办法,以root身份运行,可直接复制粘贴:

    cd /usr/lib/vmware/modules/source
    tar xvf vmnet.tar
    cd vmnet-only
    make
    cd ..
    tar xvf vmmon.tar
    cd vmmon-only
    make
    cd ..
    cp vmmon.o /lib/modules/`uname -r`/kernel/drivers/misc/vmmon.ko
    cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko
    depmod -a
    service vmware restart

解决宿主机卡死问题 链接到标题

参见:https://unix.stackexchange.com/questions/458893/vmware-on-linux-host-causes-regular-freezes

这个解决办法对我比较有用:https://gist.github.com/2E0PGS/2560d054819843d1e6da76ae57378989

大致情况是Transparent Hugepage会导致VMware在启动虚拟机后会导致宿主机上所有应用程序无法正常运行。

解决办法是:

echo madvise > /sys/kernel/mm/transparent_hugepage/enabled

在运行这个命令后,在当前会话中不会再出现这个问题。

所以还需要在/etc/profile.d中创建一个sh文件,把上面这段命令粘贴进去。

在这之后,这个问题就被解决了。

3D加速支持 链接到标题

在虚拟机中安装Windows端的Guest端时,需要勾选完整安装,再开始安装。

另外根据 https://www.techhut.tv/windows-11-vmware-guide-linux/

需要先退出VMware,然后编辑 ~/.vmware/preferences

在这个文件的最后追加一行:

mks.gl.allowBlacklistedDrivers = "TRUE"

体验 链接到标题

在这个Windows虚拟机中进行了测试。已按照上述文章进行配置。

个人感觉只能说勉强能用。

由于我懒得再配置一台机器,所以在VMware中直接使用我的物理硬盘作为虚拟机的硬盘。狠狠地折磨了一把我的Windows。

在AutoCAD中能够正常使用硬件加速,但是效率远不如直接物理机运行。

在SketchUp中,能够正常开机,但是处理效率基本上接近于不能使用。

综上所述,基本不可用。所以我大概还是要保持使用dual boot的状态。作为一个虚拟化的方案,不如使用virt-manager,然后自己配置GPU Passthrough,虽然我在做这个的时候遇到了很大困难最后放弃了。