FreeBSD VMware Tools踩坑指南

FreeBSD VMware Tools踩坑指南

闲着没事装了一下FreeBSD的虚拟机,在安装VMware Tools里踩了大坑,在网上几乎没有找到任何关于新版本如何解决这些问题的操作,这里就来记录一下应该怎么样正确安装。

系统配置

主系统 Windows 11 24H2 x86-64
软件 VMWare Workstation 17.6.1 build-24319023
FreeBSD 14.2-RELEASE
使用UEFI引导

注意,aarch64架构的FreeBSD系统缺少VMware的一些驱动,(具体为xf86-video-vmware xf86-input-vmmouse),所以如果在你的ARM架构的Mac上安装FreeBSD桌面环境可能会遇到鼠标动不了的情况。

桌面环境

FreeBSD文档对于桌面环境的安装十分详细,不过关于X11以及各个桌面环境分散在各个不同的地方,这里我就做一个整合,针对VMware场景使用KDE并使用sddm作为登录引导。

首先是需要添加一个除了root之外的用户,并且此用户应该属于video用户组,sddm默认似乎不允许root登录。在安装的时候就会提示你可以添加一个用户,此时讲用户添加至video组。如果已经完成了安装,那么通过以下方法添加用户

adduser

如果用户已经存在,那么通过以下命令将用户添加至video用户组

pw groupmod video -m <username>

添加至wheel用户组同理。

下面进行桌面环境的安装。

最简命令

pkg install xf86-video-vmware xorg sddm plasma5-plasma konsole

包含了一些常用软件的命令

pkg install xf86-video-vmware xorg sddm plasma5-plasma konsole vim firefox vscode cmake

在安装完成后,需要进行一些配置,通过命令

sysrc dbus_enable=YES
sysrc sddm_enable=YES
sysctl net.local.stream.recvspace=65536
sysctl net.local.stream.sendspace=65536

即可。

配置vmmouse

配置vmmouse可以让你在虚拟机和实体机中自由切换鼠标,参考FreeBSD中文社区的VMware中鼠标集成一节。

在安装完桌面环境之后,趁着X11还没有启动,立刻进行鼠标继承的配置。

pkg install xf86-input-vmmouse
sysrc moused_enable=YES
Xorg -configure
mv /root/xorg.conf.new /usr/local/share/X11/xorg.conf.d/xorg.conf

并修改/usr/local/share/X11/xorg.conf.d/xorg.conf的以下段落

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen          0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option          "AutoAddDevices" "Off"  # 添加此行到此处
EndSection

…………此处省略一部分…………

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

…………此处省略一部分…………

如果你此时已经启动了X11,那么最简单的方法,就是把sddm关闭自动启动

sysrc sddm_enable=NO

然后重启电脑。在完成上述配置后,重新执行sysrc sddm_enable=YES即可。

虚拟机增强工具

注意,此章内容几乎均由我手操获得,在网上几乎找不到任何其他的解决方案

首先,大部分的文档会告诉你安装open-vm-tools并设置vmware_guestd_enable=YES即可,但至少在VMware Tools Version 12.5.0这个版本下,你连启动都没有办法正确启动。查看日志/var/log/vmware-vmsvc-root.log可以得知,这个版本的open-vm-tools在安装时没有正确配置插件文件夹。其次,就算工具启动了,它也几乎没有任何作用,因为内核模块没有被正确安装。

因此,正确的安装VMware Tools的方法如下:

首先你需要修改pkg的仓库地址,修改/etc/pkg/FreeBSD.conf

FreeBSD: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

将里面的quarterly改为latest,因为在quarterly仓库中没有vmware的内核模块(open-vm-kmod)

下一步,安装内核模块和工具

pkg install open-vm-kmod open-vm-tools

待安装完成后,你需要手动配置vmware-tools的插件目录,否则vmware_guestd无法启动

mkdir -p /usr/local/lib/open-vm-tools/plugins/vmsvc
mkdir -p /usr/local/lib/open-vm-tools/plugins/common

你还需要将刚刚安装的内核模块复制到vmware-tools的模块驱动下

cp /boot/modules/vmblock.ko /usr/local/lib/vmware-tools/modules/drivers
cp /boot/modules/vmmemctl.ko /usr/local/lib/vmware-tools/modules/drivers

并编辑/boot/loader.conf,添加一行

fusefs_load="YES"

使其开机自动加载内核模块fusefs

现在才能正常启动vmware-tools,并启用它的复制以及屏幕缩放功能。下面执行命令

sysrc vmware_guest_vmblock_enable=YES
sysrc vmware_guest_vmhgfs_enable=YES
sysrc vmware_guest_vmmemctl_enable=YES
sysrc vmware_guest_vmxnet_enable=YES
sysrc vmware_guest_kmod_enable=YES
sysrc vmware_guestd_enable=YES

vmware-tools能够开机启动。

posted @ 2025-01-03 11:16  Rt39  阅读(491)  评论(0)    收藏  举报