您可以在ka1i Linux上安装VMware工作站或播放器,从而可以在ka1i内部使用虚拟机。但是,如果您希望将ka1i用作虚拟机,则访问之前文章的ka1i Linux Guest VMware页面。

预备

在尝试安装VMware之前,请确保您的ka1i版本是最新版本,并且需要重新启动计算机。

ka1i@ka1i:~$ sudo apt update
ka1i@ka1i:~$
ka1i@ka1i:~$ sudo apt full-upgrade -y
ka1i@ka1i:~$
ka1i@ka1i:~$ [ -f /var/run/reboot-required ] && sudo reboot -f
ka1i@ka1i:~$

 

下载

首先,您需要下载VMware。您可以转到VMware的下载页面来执行此操作。在撰写本文时,最新版本是15.5.1-15018445

或者,您可以执行以下命令行方法:

ka1i@ka1i:~$ sudo apt install -y curl
ka1i@ka1i:~$
ka1i@ka1i:~$ curl -L https://www.vmware.com/go/getworkstation-linux > Downloads/vmware.bin
ka1i@ka1i:~$
ka1i@ka1i:~$ file Downloads/vmware.bin
Downloads/vmware.bin: a /usr/bin/env bash script executable (binary data)
ka1i@ka1i:~$
ka1i@ka1i:~$ ls -lah Downloads/vmware.bin
-rwxr-xr-x 1 ka1i ka1i 511M Feb 14 20:46 Downloads/vmware.bin
ka1i@ka1i:~$

 

当所有内容都是最新的并且可以使用时,请确保该文件是可执行文件,然后调用它:

ka1i@ka1i:~$ chmod +x Downloads/vmware.bin
ka1i@ka1i:~$
ka1i@ka1i:~$ sudo ./Downloads/vmware.bin
Extracting VMware Installer...done.
Installing VMware Workstation 15.5.1
    Configuring...
[######################################################################] 100%
Installation was successful.
ka1i@ka1i:~$

 

我们可以看到我们已经安装了VMware Workstation 15.5.1。以后可能需要版本号。

安装安装程序后,您应该可以直接运行vmware以继续设置。

ka1i@ka1i:~$ vmware
ka1i@ka1i:~$

 

此时,您应该直截了当,通常只需单击一下即可。

 

排错


libaio丢失

如果在运行VMware时遇到以下问题:

ka1i@ka1i:~$ vmware
[AppLoader] Use shipped Linux kernel AIO access library.
An up-to-date "libaio" or "libaio1" package from your system is preferred.
ka1i@ka1i:~$

 

尝试安装libaio1软件包:

ka1i@ka1i:~$ sudo apt install -y libaio1
ka1i@ka1i:~$

 

然后,下次启动时vmware,它应该消失了。


vmware-host-modules

一个常见的问题是因为VMware的安装文件不支持最新的内核,这可能是一个问题,因为ka1i是滚动发行版,并且会频繁更新。如果是这种情况,我们可以修补VMware模块以支持此功能。

ka1i@ka1i:~$ sudo apt install -y git
ka1i@ka1i:~$
ka1i@ka1i:~$ sudo git clone -b workstation-$( grep player.product.version /etc/vmware/config | sed '/.*\"\(.*\)\".*/ s//\1/g' ) https://github.com/mkubecek/vmware-host-modules.git /opt/vmware-host-modules/
ka1i@ka1i:~$
ka1i@ka1i:~$ cd $_
ka1i@ka1i:/opt/vmware-host-modules$ sudo make
ka1i@ka1i:/opt/vmware-host-modules$
ka1i@ka1i:/opt/vmware-host-modules$ sudo make install
ka1i@ka1i:/opt/vmware-host-modules$

 

现在尝试安装VMware。

如果仍然有问题,您可能需要重新启动ka1i,然后再尝试最后一次。

## 建立

第一部分可能是VMware内核模块:

如果vmware不是使用超级用户权限调用的,则可能会提示您输入密码:

此时,它可能无法正确安装,并显示错误消息:Unable to install all modules. See log /tmp/vmware-ka1i/vmware-*.log for details. (Exit code 1)。这通常是由于ka1i的内核比VMware预期的要新。

查看日志可以解决该问题,以及帮助在这篇文章的末尾指导,vmware-host-modules

您需要接受法律协议:

您可能希望VMware检查所有更新:

您可能希望加入“ VMware客户体验改善计划”:

输入当前的用户名:

输入共享VM的位置(这与每个用户自己的VM不同):

输入用于HTTPS访问的端口

如果您有产品密钥,则可以立即输入,否则将进行30天的试用:

如果未使用超级用户特权执行安装文件,则可能会再次提示您:

最终屏幕应如下所示:

故障排除

缺少包

有时候,事情可能不会顺利。可能没有安装VMware的原因有很多。首先要检查的是您已经安装了所有必需的软件包:

ka1i@ka1i:~$ sudo apt install -y build-essential linux-headers-$( uname -r ) vlan
ka1i@ka1i:~$

尝试vmware再次运行,看看现在是否继续安装。

vmware-modconfi

如果仍然不成功,我们可以通过运行以下命令进一步挖掘:

ka1i@ka1i:~$ sudo vmware-modconfig --console --install-all
ka1i@ka1i:~$
ka1i@ka1i:~$ sudo vmware-modconfig --console --install-all 2>&1 | grep error
ka1i@ka1i:~$

查看输出,可能会给我们确切的问题,或者至少提供一些可以在Internet上搜索的内容。

无法启动虚拟机

尝试打开虚拟机电源时,您可能还会遇到以下问题:

  • “无法初始化监视设备”
  • “无法打开/ dev / vmmon:没有这样的文件或目录。请确保已加载内核模块'vmmon'”
  • “无法更改虚拟机电源状态:传输(VMDB)错误-14:管道连接已断开。”

解决这些问题的最快解决方案是重新启动ka1i,然后重试。


vmware-host-modules +内核更新

由于VMware具有各种内核模块,因此我们需要确保它们保持最新,并在ka1i的内核更新时对其进行重新修补。这可以通过以下指南中的步骤实现:

ka1i@ka1i:~$ cat<<EOF | sudo tee /etc/kernel/install.d/99-vmmodules.install
#!/usr/bin/bash

export LANG=C

COMMAND="\$1"
KERNEL_VERSION="\${2:-\$( uname -r )}"
BOOT_DIR_ABS="\$3"
KERNEL_IMAGE="\$4"

VMWARE_VERSION=\$(
  grep player.product.version /etc/vmware/config \
    | sed '/.*\"\(.*\)\".*/ s//\1/g'
)

ret=0

case "\${COMMAND}" in
    add)
       [ -z \${VMWARE_VERSION} ] \
         && exit 0

       git clone -b workstation-\${VMWARE_VERSION} https://github.com/mkubecek/vmware-host-modules.git /opt/vmware-host-modules-\${VMWARE_VERSION}/
       cd /opt/vmware-host-modules-\${VMWARE_VERSION}/
       make VM_UNAME=\${KERNEL_VERSION}
       make install VM_UNAME=\${KERNEL_VERSION}

       ((ret+=\$?))
       ;;
    remove)
        exit 0
        ;;
    *)
        usage
        ret=1;;
esac

exit \${ret}
EOF
ka1i@ka1i:~$

 

 

更新日期:2020年2月21日
作者: g0tmi1k