过去对虚拟机嗤之以鼻,以为直接安装多系统效率更高,但试过虚拟机之后确实觉得好用,只要电脑性能足够,多系统同时运行很实用(linux上用wine使用win软件不稳定、麻烦)。在win10 vmware虚拟机上已安装多个系统,现保留的有3个,Fedora 34、Macos big sur(显卡问题解决不了,聊胜于无)和GhostBSD 21。用Ubuntu十几年了,装的是与win10并存的多系统,也就没在虚拟机上折腾,在win10的子系统上折腾过。最近在Manjaro上用kvm虚拟机安装了深度linux,比win10的虚拟机稍复杂些,但虚拟驱动问题反而更简单。在win10 wmware虚拟机上装系统不难,网上教程一大堆,难的无非就是虚拟驱动的问题。装GhostBSD稍复杂些,首次折腾了几个晚上,后因升级出现问题重装操作系统后又折腾了一两个晚上。想到总结是个好习惯,可节省不少时间,也可倒逼学懂弄通,遂作个备忘录。

去虚拟化后安装驱动 虚拟机装显卡驱动_VMware

  1.安装时选择显卡驱动。在win10 Vmware中启动安装GhostBSD后,在显卡选择菜单里,若找不到你的显卡的品牌或芯片,则依据选择的启动方式作选择。若选择基于BIOS启动,则选择vesa,即Video Electronics Standards Association;若选择基于UEFI启动,则选择scfb,即System Console Frame Buffer。 考虑到操作系统安装后,在客户机中要依托Vmware tools 或open-vm-tools提供调整分辨率、跨系统复制粘贴、文件共享等功能。如果选择错误,无法启动Live CD的图形界面,我亲自经历,折腾了不少时间,最后在vmware官方查到的。用Live CD启动进入桌面,便于以图形化方式安装操作系统。

  2.安装后重启并先升级。终端:sudo pkg update -f;sudo pkg upgrade。若无法更新,大都是网络或服务器问题。笔者曾多次碰到问题,比如返回.....has no meta file,晚上碰到问题反复折腾不行,第二天顺利更新,服务器在北美,我猜测可能是服务器问题或网络问题。想到GhostBSD基于FreeBSD,本想修改为中国源,但又担心还有别的软件未包含就放弃。

  3.安装open-vm-tools并配置。因GhostBSD 21基于freebsd 12.2或13,经查询vmware官方说明,vmware tools已不支持新版的freebsd(VMware Tools 10.1.5 是可以在 FreeBSD 11. x 版本上安装的最后 VMware Tools 一个版本。从 VMware Tools 10.2.0 开始,FreeBSD Tools 仅可通过 Open VM Tools 获取),只有安装开源版本open-vm-tools(OVT)。终端:sudo pkg install -y open-vm-tools xf86-video-vmware (注:xf86-input-vmmouse默认已安装,可pkg search 先查询)。重启后可跨系统复制,但最直观的分辨率问题没有搞定,又折腾了好长时间。发现OVT并未对操作系统作自动配置,未调用虚拟显卡驱动。终端下运行:sudo cp /usr/local/etc/X11/cardDetect/XF86Config.vmware  /usr/local/etc/X11/xorg.conf.d/vmware.conf。然后重新启动,若分辨率未调整到显示器最佳分辨率,点vmware pro 菜单中的自动拉伸图标即可,有时可能要点几下。

  笔者分析,因open-vm-tools所针对系统较多,在GhostBSD中虽检测生成了XF86Config.vmware,但在启动时并未自动调用虚拟显卡和鼠标等驱动,所以需要配置,我的第一想法就是去看系统有没有自动生成,也许只是路径问题。后来根据网上的配置在文件系统中找到一个与之类似的配置文件,复制一下配置文件即,免得手工编写。当然也可以自行模仿创建此配置文件。

去虚拟化后安装驱动 虚拟机装显卡驱动_去虚拟化后安装驱动_02

vmware.conf的内容如下:

Section "ServerLayout"
        Identifier     "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        Option      "AutoAddDevices" "Off"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "vmmouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device   "Card0"
        Monitor  "Monitor0"
EndSection

Section "Device"
        Identifier      "Card0"
        Driver        "vmware"
        BusID        "0:15:0"
EndSection

  就这样,成功调整分辨率为最佳,我的是4K。这就是配置方法一。如果直接套用此配置文件,请执行sudo lspci看下自己虚拟显卡的BusID并对照修改。

  下面还有配置方法二,是我对比配置文件内容想到的。在查看/etc/xorg.conf,发现其内容仍保持系统安装好后的初样,配置的仍是我当初安装系统时的选择的scfb显卡驱动。分析/etc/xorg.conf文件内容,显然是设置显卡驱动的:

Section "Devic"    Identifier "Card0"
    Driver     "scfb"
EndSection

  于是,我将上述/usr/local/etc/X11/xorg.conf.d/vmware.conf文件的内容全部复制替换/etc/X11/xorg.conf中的这三行内容,并重命名/usr/local/etc/X11/xorg.conf.d/vmware.conf文件为vmware.conf.bak,也就是屏蔽此前的修改,重启操作系统,效果是完全一样的。此为配置方法二。但不推荐此法,这是全局设置。

  在这里,顺带介绍一下Fedora 34安装vmware工具的配置技巧,记得当时安装的VMware tools,先在虚拟机虚拟光驱中挂载VMware Workstation安装目录中提供的linux.iso,再在Fedora中将光盘文件复制解压后手动执行./vmware-tools.pl安装的,设置的过程与这时介绍的又不一样,是将/etc/vmware-tools/tools.conf.example文件重命名为tools.conf后,将其中的[resolutionKMS]项目下面的#enable=true的#删除让其设置生效。但还有一个问题尚未解决,也就是启动后不自动切换分辨率,需要点击VMware Workstation工具栏中的“自由拉伸”按钮(最后一个)1-2次即可切换为最高分辨率。这个方法也启发我在GhostBSD上试过,然并卵。不过,我认为认真分析/etc/vmware-tools/tools.confg.example文件内容是很有必要的,看官方文档是学习捷径,只是需要耐心。

  期间参考了此官方论坛解决方案:https://forums.ghostbsd.org/viewtopic.php?f=76&t=299&p=2248&hilit=open+vm+tools#p2248 。但是,当时在GhostBSD桌面环境下用终端运行Xorg -configure,显示正在运行,无法生成xorg.conf.new,应退出桌面环境在命令行模式下操作,ctrl+alt+backspace进入纯字符模式不成功,虽然我知道修改配置文件可以,麻烦。这是对配置方法二的启发。考虑到我用的桌面环境是mate,它依托的基于X协议的显示服务器是X.org(xorg)。(背景:2004年,XFree86的开发因软件许可证出现分岐,XFree86不再遵从GPL许可证发行,而衍生出另一个发展自XFree86 4.4 RC2 版本源代码,名叫X.Org 服务器的XWindow系统,导致许多发行套件不再使用XFree86,转而使用Xorg)。正因为xorg基于XFree86,此前安装xf86-video-vmware这个虚拟驱动就好理解了。通过分析网上的一些教程,原本准备自建一个配置文件,后来找到XF86Config.vmware,分析其内容,发现匹配,就想到了直接复制这个配置文件的方法,果然可行。

  体会:Windows VMware虚拟机安装操作系统,安装VMware tools或open-vm-tools是必修课。针对不同操作系统,在vmware及操作系统的官方文档均可找到安装方法。记得当时安装macos big sur时,是用网友研究的自动配置下载的macos vmware虚拟机的darwin.iso安装的VMware tools驱动包,darwin.iso被自动下载后放在VMware安装目录中,通过驱拟光驱加载即可安装,也是成功调整为我的显示器最高分辨率4K的。

  注:测试基于 Win10 pro+VMware workstation pro 16.1.2,先后安装GhostBSD-21.04.26、GhostBSD-21.05.22,均成功调整到4K分辨率并可跨系统复制文件、使用鼠标。考虑到已可跨系统复制文件,也可用鼠标拖动文件复制。尚未折腾共享文件问题,据说还需要安装open-vm-tools-dkms。