Archlinux安装VMware16,并解决vmmon和vmnet错误
自从8月份arch更新内核后,vmware就提示“could not open /dev/vmmon:?????? please make sure that the kernel moduel vmmon is load”,然后一直在降级使用。已经过了快半年了,去archlinuxcn上提问了一下最新版是否可以正常使用了,没人回答,倒是被嘲讽了一下。既然嘲讽,那应该就是没问题了,于是就开始升级系统,安装vmware。
五个多月没更新,直接使用的sudo pacman -Syu更新的系统,下载内容5个多G。下载包时,最后有一个包卡在了“无效或已损坏的软件包 (PGP 签名)”,不能执行安装,于是使用
sudo pacman -S archlinux-keyring
更新了一下签名,再使用sudo pacman -Syu就可正常进行下一步了。
升级完系统后,开始安装vmware。参照https://wiki.archlinux.org/index.php/VMware
卸载旧版vmware
//列出已经安装的vmware产品
vmware-installer -l
//卸载列出的vmware产品
vmware-installer -u vmware-workstation
//删除服务
rm /etc/systemd/system/vmware.service
rm /etc/systemd/system/vmware-usbarbitrator.service
安装新版vmware
wiki里提到安装可以使用vmware bundle或者aur安装,运行在x86_64的话推荐使用aur。
注意:下面的方法是使用git clone后makepkg -si安装的,也可以使用yay安装。
使用aur安装的时候,提示“错误:未找到目标:vmware-keymaps”,需要先安装vmware-keymaps。
git clone https://aur.archlinux.org/vmware-keymaps.git
cd vmware-keymaps
makepkg -si
安装完之后再使用aur安装vmware。
git clone https://aur.archlinux.org/vmware-workstation.git
cd vmware-workstation
makepkg -si
安装的时候,在“Extracting VMware Installer...done.”这里时间比较长,大约几分钟的时间,等一会就可以。直到安装完成。
安装系统服务
创建文件
sudo vim /etc/systemd/system/vmware.service
将以下内容写进去
[Unit]
Description=VMware daemon
Requires=vmware-usbarbitrator.service
Before=vmware-usbarbitrator.service
After=network.target
[Service]
ExecStart=/etc/init.d/vmware start
ExecStop=/etc/init.d/vmware stop
PIDFile=/var/lock/subsys/vmware
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
创建文件
sudo vim /etc/systemd/system/vmware-usbarbitrator.service
将以下内容写进去
[Unit]
Description=VMware USB Arbitrator
Requires=vmware.service
After=vmware.service
[Service]
ExecStart=/usr/bin/vmware-usbarbitrator
ExecStop=/usr/bin/vmware-usbarbitrator --kill
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
创建文件
sudo vim /etc/systemd/system/vmware-networks-server.service
将以下内容写进去
[Unit]
Description=VMware Networks
Wants=vmware-networks-configuration.service
After=vmware-networks-configuration.service
[Service]
Type=forking
ExecStartPre=-/sbin/modprobe vmnet
ExecStart=/usr/bin/vmware-networks --start
ExecStop=/usr/bin/vmware-networks --stop
[Install]
WantedBy=multi-user.target
创建文件
sudo vim /etc/systemd/system/vmware-workstation-server.service
将以下内容写进去
[Unit]
Description=VMware Workstation Server
Requires=vmware.service
After=vmware.service
[Service]
ExecStart=/etc/init.d/vmware-workstation-server start
ExecStop=/etc/init.d/vmware-workstation-server stop
PIDFile=/var/lock/subsys/vmware-workstation-server
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
创建链接
sudo ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool
启动服务
sudo systemctl start vmware.service
sudo systemctl enable vmware.service
后面进入系统后可能出现vmnet:0或vmnet:8错误,导致虚拟机不能联网,这里还要再启动一个服务
sudo systemctl start vmware-networks
sudo systemctl enable vmware-networks
至此,vmware就安装完成了,可以直接打开使用了。由于之前是15.6的版本,安装新版后升级一下每个已安装的系统就可以了;另外如果之前使用过unlocker解锁mac系统,还需要再重新解锁。
可能我死的时候,我闺女也会这么哭我吧