我现在要在VMware用到Arch Linux,因此写写吧。

新建用户

因为后面的makepkg不能使用root执行,因此我在这里先创建管理员用户吧:
archlinux添加管理员用户
记得用vim /etc/sudoerscold ALL=(ALL) ALL加进去喔,然后重启

安装官方的VMware Tools

不建议使用VMware Tools,这是因为VMware Toolsarchlinux的支持很差,如果为了其他功能也需要open-vm-tools的配合

首先更新一下

pacman -Syy

然后安装软件:

pacman -S base-devel net-tools linux-headers asp wget sudo

然后创建 init 目录,满足安装程序:

for x in {0..6}; do mkdir -p /etc/init.d/rc$x.d; done

挂载安装程序:

在VMware界面:虚拟机 - 安装VMware Tools,然后输入

mount /dev/cdrom /mnt

解压(以 /root 为例):

tar xf /mnt/VMwareTools*.tar.gz -C /root

开始安装:

perl /root/vmware-tools-distrib/vmware-install.pl

若安装时出现如下的错误,都可以安全忽略:

VMNEXT 3 虚拟网卡

“Warning: This script could not find mkinitrd or update-initramfs and
cannot remake the initrd file!”

在系统中找不到 Fuse 组件

选择管理员用户

su cold

启用 vmware-vmblock-fuse systemd 服务(请确保你手动安装了依赖或使用 -s 参数):

asp checkout open-vm-tools
cd open-vm-tools/repos/community-x86_64/

继续安装

makepkg -s --asdeps

asp这里如果没挂代理的话,会等很长时间的,还是没反应试试asp update

如果使用root用户执行 makepkg -s --asdeps,会报错

==> 错误: 不能使用 root 用户运行 makepkg,
因为可能会系统造成灾难性的损坏。

因此需要使用普通用户进行执行。
然后又用root用户执行下面操作:

sudo su
cp vm* /usr/lib/systemd/system
systemctl enable vmware-vmblock-fuse
systemctl enable vmtoolsd

重新启动虚拟机:

systemctl reboot

登录并启动 VMware Tools:

/etc/init.d/rc6.d/K99vmware-tools start

可能会提示:

Mounting HGFS shares:                                              failed

不用管它,这个是VMware共享文件夹,默认是没设置,所以显示failed

安装open-vm-tools

还是用open-vm-tools更舒服一些

pacman -S open-vm-tools

然后安装软件:

pacman -S base-devel net-tools linux-headers asp wget sudo

时间同步

为虚拟机配置时间同步很重要,因为虚拟机比物理机更容易出现时间波动现象。主要原因就在于 CPU 是被共用的。

有两种方案可以实现实现同步:同步宿主机时间或者用NTP服务。

与宿主机同步时间
保证 vmtoolsd.service 服务处于运行状态systemctl status vmtoolsd.service,然后用如下的命令启用时间同步功能:

vmware-toolbox-cmd timesync enable

宿主系统休眠后,用如下的命令来使客机间同步时间:

hwclock --hctosys --localtime

窗口分辨率自动适配

我主要是为了这个功能,所以才折腾的。
自动适配的意思是,当你在宿主机里缩放 VMware 窗口之后,Arch 作为客户机系统,应该自动根据主系统窗口的新尺寸来调整分辨率。

1.开启3D加速

VMware Worksation 的这一设置位于:设置 - 显示器 - 选择合适的显存 - 开启加速3D图形

不要开启缩放

2.确认VMware的查看 - 自动调整大小 - 自动适应客户机 选择上
3.安装xf86-video-vmware

pacman -S xf86-video-vmware

4.安装gtkmm和gtk2

pacman -S gtkmm gtk2

5.添加相关模块

vim /etc/mkinitcpio.conf
MODULES=(vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx)

然后执行

mkinitcpio -p linux

6.启动vmtoolsd.service

systemctl start vmtoolsd.service
systemctl enable vmtoolsd.service

重启,完事
官方文档还需要安装一些其他的东西,但我就安装这个就可以了

拖拽复制粘贴

open-vm-tools缺少gtkmm,因此无法复制粘贴,手动安装即可。

pacman -S gtkmm

在GitHub上有自动化安装的项目,但已经很久没更新了,因此我就不写在这里面了。


参考:
VMware/Install Arch Linux as a guest

最后修改:2021 年 03 月 01 日
如果觉得我的文章对你有用,请随意赞赏