UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

608 lines (394 loc) 23.8 kB
相关文章 * [Category:Hypervisors](/index.php/Category:Hypervisors "Category:Hypervisors") * [在 VMware 中安装 Arch](/index.php/Installing_Arch_Linux_in_VMware_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "Installing Arch Linux in VMware (简体中文)") * [VirtualBox](/index.php/VirtualBox_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "VirtualBox (简体中文)") * [KVM](/index.php/KVM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "KVM (简体中文)") * [QEMU](/index.php/QEMU_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "QEMU (简体中文)") * [Xen](/index.php/Xen "Xen") * [Moving an existing install into (or out of) a virtual machine](/index.php/Moving_an_existing_install_into_(or_out_of)_a_virtual_machine "Moving an existing install into (or out of) a virtual machine") **翻译状态:** 本文是英文页面 [VMware](/index.php/VMware "VMware") 的[翻译](/index.php/ArchWiki_Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "ArchWiki Translation Team (简体中文)"),最后翻译时间:2017-08-18,点击[这里](https://wiki.archlinux.org/index.php?title=VMware&diff=0&oldid=485222)可以查看翻译后英文页面的改动。 本文是关于在 Arch 中安装 VMware,你也许想寻找的是 [在 VMware 中安装 Arch Linux](/index.php/Installing_Arch_Linux_in_VMware_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "Installing Arch Linux in VMware (简体中文)") **注意:** * 这篇文章适用于最新的 VMware 正式版,即 VMware Workstation Pro / Player 12.5. * 对于旧版本的 VMware,建议安装本体后追加安装 [vmware-patch](https://aur.archlinux.org/packages/vmware-patch/) 包 ## Contents * [1 安装](#.E5.AE.89.E8.A3.85) * [2 配置](#.E9.85.8D.E7.BD.AE) * [2.1 内核模块](#.E5.86.85.E6.A0.B8.E6.A8.A1.E5.9D.97) * [2.2 Systemd 服务](#Systemd_.E6.9C.8D.E5.8A.A1) * [2.2.1 Workstation Server服务](#Workstation_Server.E6.9C.8D.E5.8A.A1) * [3 启动程序](#.E5.90.AF.E5.8A.A8.E7.A8.8B.E5.BA.8F) * [4 提示和技巧](#.E6.8F.90.E7.A4.BA.E5.92.8C.E6.8A.80.E5.B7.A7) * [4.1 输入Workstation Pro许可密钥](#.E8.BE.93.E5.85.A5Workstation_Pro.E8.AE.B8.E5.8F.AF.E5.AF.86.E9.92.A5) * [4.1.1 从终端](#.E4.BB.8E.E7.BB.88.E7.AB.AF) * [4.1.2 从 GUI](#.E4.BB.8E_GUI) * [4.2 解压缩 VMware BIOS](#.E8.A7.A3.E5.8E.8B.E7.BC.A9_VMware_BIOS) * [4.3 解压缩安装程序](#.E8.A7.A3.E5.8E.8B.E7.BC.A9.E5.AE.89.E8.A3.85.E7.A8.8B.E5.BA.8F) * [4.3.1 使用修改过的 BIOS](#.E4.BD.BF.E7.94.A8.E4.BF.AE.E6.94.B9.E8.BF.87.E7.9A.84_BIOS) * [4.4 在Intel和Optimus上启用3D图形](#.E5.9C.A8Intel.E5.92.8COptimus.E4.B8.8A.E5.90.AF.E7.94.A83D.E5.9B.BE.E5.BD.A2) * [5 疑难解答](#.E7.96.91.E9.9A.BE.E8.A7.A3.E7.AD.94) * [5.1 错误:Kernel headers for version 4.x-xxxx were not found. If you installed them[...]](#.E9.94.99.E8.AF.AF.EF.BC.9AKernel_headers_for_version_4.x-xxxx_were_not_found._If_you_installed_them.5B....5D) * [5.2 无法识别 USB 设备](#.E6.97.A0.E6.B3.95.E8.AF.86.E5.88.AB_USB_.E8.AE.BE.E5.A4.87) * [5.3 当远程访问VMware时,遇到不正确的用户名/密码错误](#.E5.BD.93.E8.BF.9C.E7.A8.8B.E8.AE.BF.E9.97.AEVMware.E6.97.B6.EF.BC.8C.E9.81.87.E5.88.B0.E4.B8.8D.E6.AD.A3.E7.A1.AE.E7.9A.84.E7.94.A8.E6.88.B7.E5.90.8D.2F.E5.AF.86.E7.A0.81.E9.94.99.E8.AF.AF) * [5.4 ALSA输出的问题](#ALSA.E8.BE.93.E5.87.BA.E7.9A.84.E9.97.AE.E9.A2.98) * [5.5 错误:Kernel-based Virtual Machine (KVM) is running](#.E9.94.99.E8.AF.AF.EF.BC.9AKernel-based_Virtual_Machine_.28KVM.29_is_running) * [5.6 组件问题](#.E7.BB.84.E4.BB.B6.E9.97.AE.E9.A2.98) * [5.6.1 错误:/dev/vmmon not found](#.E9.94.99.E8.AF.AF.EF.BC.9A.2Fdev.2Fvmmon_not_found) * [5.6.2 错误:/dev/vmci not found](#.E9.94.99.E8.AF.AF.EF.BC.9A.2Fdev.2Fvmci_not_found) * [5.6.3 在Linux 4.9后内核模块无法编译](#.E5.9C.A8Linux_4.9.E5.90.8E.E5.86.85.E6.A0.B8.E6.A8.A1.E5.9D.97.E6.97.A0.E6.B3.95.E7.BC.96.E8.AF.91) * [5.6.4 VMware模块在Linux内核4.11+上(在GCC7下)编译失败](#VMware.E6.A8.A1.E5.9D.97.E5.9C.A8Linux.E5.86.85.E6.A0.B84.11.2B.E4.B8.8A.EF.BC.88.E5.9C.A8GCC7.E4.B8.8B.EF.BC.89.E7.BC.96.E8.AF.91.E5.A4.B1.E8.B4.A5) * [5.6.5 VMware 模块在 Linux 4.13 版内核上编译失败](#VMware_.E6.A8.A1.E5.9D.97.E5.9C.A8_Linux_4.13_.E7.89.88.E5.86.85.E6.A0.B8.E4.B8.8A.E7.BC.96.E8.AF.91.E5.A4.B1.E8.B4.A5) * [5.7 安装程序启动失败](#.E5.AE.89.E8.A3.85.E7.A8.8B.E5.BA.8F.E5.90.AF.E5.8A.A8.E5.A4.B1.E8.B4.A5) * [5.7.1 用户界面初始化失败](#.E7.94.A8.E6.88.B7.E7.95.8C.E9.9D.A2.E5.88.9D.E5.A7.8B.E5.8C.96.E5.A4.B1.E8.B4.A5) * [5.8 VMware启动失败](#VMware.E5.90.AF.E5.8A.A8.E5.A4.B1.E8.B4.A5) * [5.8.1 旧的Intel微指令在启动时产生段错误](#.E6.97.A7.E7.9A.84Intel.E5.BE.AE.E6.8C.87.E4.BB.A4.E5.9C.A8.E5.90.AF.E5.8A.A8.E6.97.B6.E4.BA.A7.E7.94.9F.E6.AE.B5.E9.94.99.E8.AF.AF) * [5.8.2 版本号为12.5.4的vmplayer/vmware无法启动](#.E7.89.88.E6.9C.AC.E5.8F.B7.E4.B8.BA12.5.4.E7.9A.84vmplayer.2Fvmware.E6.97.A0.E6.B3.95.E5.90.AF.E5.8A.A8) * [5.8.3 版本号为12.5.3-12.5.5的vmplayer/vmware无法启动](#.E7.89.88.E6.9C.AC.E5.8F.B7.E4.B8.BA12.5.3-12.5.5.E7.9A.84vmplayer.2Fvmware.E6.97.A0.E6.B3.95.E5.90.AF.E5.8A.A8) * [5.8.4 vmware 12的进程在启动之后立即终止,没有显示GUI](#vmware_12.E7.9A.84.E8.BF.9B.E7.A8.8B.E5.9C.A8.E5.90.AF.E5.8A.A8.E4.B9.8B.E5.90.8E.E7.AB.8B.E5.8D.B3.E7.BB.88.E6.AD.A2.EF.BC.8C.E6.B2.A1.E6.9C.89.E6.98.BE.E7.A4.BAGUI) * [5.9 客户机问题](#.E5.AE.A2.E6.88.B7.E6.9C.BA.E9.97.AE.E9.A2.98) * [5.9.1 无法为客户机下载VMware Tools](#.E6.97.A0.E6.B3.95.E4.B8.BA.E5.AE.A2.E6.88.B7.E6.9C.BA.E4.B8.8B.E8.BD.BDVMware_Tools) * [5.9.2 错误:Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722"](#.E9.94.99.E8.AF.AF.EF.BC.9AGuests_have_incorrect_system_clocks_or_are_unable_to_boot:_.22.5B....5DtimeTracker_user.c:234_bugNr.3D148722.22) * [5.9.3 Guests系统启动后网络不可用](#Guests.E7.B3.BB.E7.BB.9F.E5.90.AF.E5.8A.A8.E5.90.8E.E7.BD.91.E7.BB.9C.E4.B8.8D.E5.8F.AF.E7.94.A8) * [6 卸载](#.E5.8D.B8.E8.BD.BD) ## 安装 [安装](/index.php/Pacman "Pacman") 依赖项: * [fuse2](https://www.archlinux.org/packages/?name=fuse2) - 提供 *vmware-vmblock-fuse* * [gksu](https://aur.archlinux.org/packages/gksu/) - 支持需要 root 权限的操作(比如内存分配、注册许可证等等) * [gtkmm](https://www.archlinux.org/packages/?name=gtkmm) - 支持 GUI * [linux-headers](https://www.archlinux.org/packages/?name=linux-headers) - 模块编译所需 * [ncurses5-compat-libs](https://aur.archlinux.org/packages/ncurses5-compat-libs/) - 支持安装程序的 `--console` 选项 * [libcanberra](https://www.archlinux.org/packages/?name=libcanberra) - 支持事件提示音 下载最新的 [VMware Workstation Pro](https://www.vmware.com/go/tryworkstation) 或[Player](https://www.vmware.com/go/downloadplayer) (或者[beta](https://communities.vmware.com/community/vmtn/beta)版,如果有的话)。 开始安装: ``` # sh VMware-*edition*-*version*.*release*.*architecture*.bundle ``` **提示:** 一些常用的选项: * `--eulas-agreed` - 跳过各种许可协议 * `--console` - 使用命令行界面,而非 GUI * `--custom` - 允许自定义安装目录,比如`/usr/local`(记得修改[#Systemd 服务](#Systemd_.E6.9C.8D.E5.8A.A1)一节下,`vmware-usbarbitrator.service`中的路径) * `-I`, `--ignore-errors` - 忽略致命错误 * `--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX` - 设置安装时使用的序列号(有利于脚本化安装) * `--required` - 只询问必要的问题(当结合`--eulas-agreed``--console`时可以实现静默安装) 当安装程序询问 `System service scripts directory` 的设置时,输入 `/etc/init.d` 即可。 **注意:** 安装过程中会收到`"No rc*.d style init script directories"`错误。这可以安全忽略,因为Arch使用的是[systemd](/index.php/Systemd "Systemd"). **提示:** 如需重新编译模块,用这条命令: ``` # vmware-modconfig --console --install-all ``` ## 配置 ### 内核模块 VMware Workstation 12.5 最高支持内核 4.8. ### Systemd 服务 *(可选)* 你也可以创建一个 `.service` 文件 (也可以用[AUR](/index.php/AUR "AUR")中的[vmware-systemd-services](https://aur.archlinux.org/packages/vmware-systemd-services/)包),而不是直接使用 `/etc/init.d/vmware` (`start|stop|status|restart`) 和 `/usr/bin/vmware-usbarbitrator` 来管理服务: `/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 ``` `/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 ``` 如果你想在另一个Workstation服务器控制台上连接此次安装的VMware Workstation,请添加下面的服务 `/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 ``` 之后您就可以在启动时[enable](/index.php/Enable "Enable")它们. #### Workstation Server服务 服务`vmware-workstation-server.service`将调用`wssc-adminTool`,即使后者已经被重命名作`vmware-wssc-adminTool`. 这将阻止该服务启动。创建一个文件链接可以修复这个问题: ``` # ln -s wssc-adminTool /usr/lib/vmware/bin/vmware-wssc-adminTool ``` ## 启动程序 启动VMware Workstation Pro: ``` $ vmware ``` 或Player: ``` $ vmplayer ``` ## 提示和技巧 ### 输入Workstation Pro许可密钥 #### 从终端 ``` # /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ``` `XXXXX-XXXXX-XXXXX-XXXXX-XXXXX` 处是你的许可密钥。 **Note:** The `-debug` binary informs the user of an incorrect license. #### 从 GUI 如果以上方法无效,你可以试试: ``` # /usr/lib/vmware/bin/vmware-enter-serial ``` ### 解压缩 VMware BIOS ``` $ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z $ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom ``` ### 解压缩安装程序 查看安装程序`.bundle`的内容: ``` $ sh VMware-*edition*-*version*.*release*.*architecture*.bundle --extract */tmp/vmware-bundle/* ``` #### 使用修改过的 BIOS 如果你决定修改解压出的BIOS,你可以通过将其移动至`~/vmware/<Virtual machine name>`来让虚拟机使用它: ``` $ mv bios440.rom ~/vmware/*Virtual_machine_name*/ ``` 然后在 `<Virtual machine name>.vmx` 文件中加入它的名称: `~/vmware/*Virtual_machine_name*/*Virtual_machine_name*.vmx` `bios440.filename = "bios440.rom"` ### 在Intel和Optimus上启用3D图形 由于不理想和(或)不稳定的3D加速,某些图形驱动是默认被阻止的。当启用*Accelerate 3D graphics*后,log中应该会出现: ``` Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override. ``` 这表示: `~/.vmware/preferences` `mks.gl.allowBlacklistedDrivers = TRUE` ## 疑难解答 ### 错误:Kernel headers for version 4.x-xxxx were not found. If you installed them[...] 安装 [linux-headers](https://www.archlinux.org/packages/?name=linux-headers)。 **Note:** 更新内核和头文件会需要你启动新的内核以匹配头文件的版本。这是一个相对常见的错误。 ### 无法识别 USB 设备 **提示:** 可以通过 [vmware-patch](https://aur.archlinux.org/packages/vmware-patch/) 解决。 如果不使用[#Systemd 服务](#Systemd_.E6.9C.8D.E5.8A.A1)来处理服务,你每次都需要以root身份手动启动`vmware-usbarbitrator`. 启动: ``` # vmware-usbarbitrator ``` 停止: ``` # vmware-usbarbitrator --kill ``` ### 当远程访问VMware时,遇到不正确的用户名/密码错误 VMware Workstation通过`vmware-workstation-server`服务来提供远程管理共享的虚拟机的功能。然而,这将以错误`"incorrect username/password"`而告终,因为`vmware-authd`服务中,[PAM](/index.php/PAM "PAM")的相关配置出错了。通过编辑`/etc/pam.d/vmware-authd`来解决问题: `/etc/pam.d/vmware-authd` ``` #%PAM-1.0 auth *required pam_unix.so* account *required pam_unix.so* password *required pam_permit.so* session *required pam_unix.so* ``` 然后重新启动`vmware`[systemd](/index.php/Systemd "Systemd")服务。 现在你能通过安装时提供的身份信息来登录这个服务器了。 **Note:** 也许会需要[libxslt](https://www.archlinux.org/packages/?name=libxslt)来启动虚拟机 ### ALSA输出的问题 [修复](http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html)音质问题或正确启用高清音频输出。首先执行: ``` $ aplay -L ``` 如果希望在客户机中播放5.1 *立体声*,寻找`surround51:CARD=*vendor_name*,DEV=*num*`;如果存在音质问题,寻找`front:CARD=*vendor_name*,DEV=*num*`。最后将名称加入到`.vmx`文件中: `~/vmware/*Virtual_machine_name*/*Virtual_machine_name*.vmx` ``` sound.fileName=*"surround51:CARD=Live,DEV=0"* sound.autodetect=*"FALSE"* ``` [OSS模拟](/index.php/Advanced_Linux_Sound_Architecture#OSS_compatibility "Advanced Linux Sound Architecture")也应该被禁用. ### 错误:Kernel-based Virtual Machine (KVM) is running 禁止`KVM`自动启动,你可以: `/etc/modprobe.d/vmware.conf` ``` blacklist kvm blacklist kvm-amd # For AMD CPUs blacklist kvm-intel # For Intel CPUs ``` ### 组件问题 #### 错误:/dev/vmmon not found 完整的错误是: ``` Could not open /dev/vmmon: No such file or directory. Please make sure that the kernel module `vmmon' is loaded. ``` 这意味着未加载`vmmon`模块.参见[#Systemd 服务](#Systemd_.E6.9C.8D.E5.8A.A1)章节 #### 错误:/dev/vmci not found 完整的错误是: ``` Failed to open device "/dev/vmci": No such file or directory Please make sure that the kernel module 'vmci' is loaded. ``` 尝试重新编译VMware内核模块: ``` # vmware-modconfig --console --install-all ``` #### 在Linux 4.9后内核模块无法编译 对于VMware Workstation Pro 12.5.2,模块的源码必须作出修改,以便于在Linux 4.9上编译 [[1]](http://rglinuxtech.com/?p=1847)。 ``` # cd /usr/lib/vmware/modules/source # tar xf vmmon.tar # mv vmmon.tar vmmon.old.tar # sed -i 's/uvAddr, numPages, 0, 0/uvAddr, numPages, 0/g' vmmon-only/linux/hostif.c # tar cf vmmon.tar vmmon-only # rm -r vmmon-only ``` ``` # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i 's/addr, 1, 1, 0/addr, 1, 0/g' vmnet-only/userif.c # tar cf vmnet.tar vmnet-only # rm -r vmnet-only ``` #### VMware模块在Linux内核4.11+上(在GCC7下)编译失败 运行vmware-modconfig时返回: ``` Failed to get gcc information. ``` 详细的错误信息能在日志中被找到: ``` modconfig| I125: Got gcc version "6.3.1". modconfig| I125: GCC major version 6 does not match Kernel GCC major version 7. modconfig| I125: The GCC compiler "/sbin/gcc" cannot be used for the target kernel. ``` 为跳过检查,使用下面的解决方案: ``` # sed 's/gcc version 7/gcc version 6/' /proc/version > /tmp/version # mount --bind /tmp/version /proc/version # vmware-modconfig --console --install-all # umount /proc/version && rm /tmp/version ``` #### VMware 模块在 Linux 4.13 版内核上编译失败 VMware Workstation Pro 12.5.7 版本的内核模块代码需要做出一定修改,才能够成功地为 4.13 版 Linux 内核编译。出处:[[2]](https://communities.vmware.com/thread/568089)。 ``` # cd /usr/lib/vmware/modules/source # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i 's/atomic_inc(&clone->users);/clone = skb_get(clone);/g' vmnet-only/bridge.c # tar cf vmnet.tar vmnet-only # rm -r vmnet-only ``` ### 安装程序启动失败 如果你回到了执行`.bundle`时的终端提示,则这个版本的VMware Installer也许坏掉了或者不完整,你应该删掉它(你也许也应该参照[#卸载](#.E5.8D.B8.E8.BD.BD)一节中的内容): ``` # rm -r /etc/vmware-installer ``` #### 用户界面初始化失败 你也许会看到这样的错误: ``` Extracting VMware Installer...done. No protocol specified No protocol specified User interface initialization failed. Exiting. Check the log for details. ``` 这可以通过安装[ncurses5-compat-libs](https://aur.archlinux.org/packages/ncurses5-compat-libs/)或者临时允许X拥有root权限来解决: ``` $ xhost + $ sudo ./<vmware filename>.bundle $ xhost - ``` ### VMware启动失败 #### 旧的Intel微指令在启动时产生段错误 旧的Intel微指令可能会在启动时产生这样的段错误: ``` /usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation" ``` 参阅[Microcode](/index.php/Microcode "Microcode")了解如何更新微指令 #### 版本号为12.5.4的vmplayer/vmware无法启动 如[[3]](https://bbs.archlinux.org/viewtopic.php?id=224667)中所述,临时的解决方案是将包`libpng`降级至1.6.28-1版本,并将其加入`IgnorePkg`参数以忽略升级(参见[/etc/pacman.conf](/index.php/Pacman#Skip_package_from_being_upgraded "Pacman"))。 更方便的解决方案是令VMware使用系统的zlib而不是它自己的: ``` # cd /usr/lib/vmware/lib/libz.so.1 # mv libz.so.1 libz.so.1.old # ln -s /usr/lib/libz.so.1 . ``` #### 版本号为12.5.3-12.5.5的vmplayer/vmware无法启动 这貌似是文件`/usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6`中的问题,`CXXABI_1.3.8`缺失。 如果系统安装了[gcc-libs](https://www.archlinux.org/packages/?name=gcc-libs)或者[gcc-libs-multilib](https://www.archlinux.org/packages/?name=gcc-libs-multilib),那个库就已经被安装了。因此,直接移除那个出错的文件将使vmplayer使用gcc-libs提供的版本。使用root执行: ``` # mv /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 /usr/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6.bak ``` 同时有另一个解决方案: ``` # export VMWARE_USE_SHIPPED_LIBS='yes' ``` #### vmware 12的进程在启动之后立即终止,没有显示GUI 这是[Mageia](https://bugs.mageia.org/show_bug.cgi?id=9739)中已知的Bug,但是对于Arch,终端里似乎并没有任何错误信息输出。检阅位于`/tmp/vmware-<id>`里的日志文件,会发现启动vmware或vmplaer后,产生了`VMWARE_SHIPPED_LIBS_LIST is not set`, `VMWARE_SYSTEM_LIBS_LIST is not set`, `VMWARE_USE_SHIPPED_LIBS is not set`, `VMWARE_USE_SYSTEM_LIBS is not set`问题。进程在`Unable to execute /usr/lib/vmware/bin/vmware-modconfig.`后结束。解决方案是,以root身份执行: ``` # mv /etc/vmware/icu/icudt44l.dat /etc/vmware/icu/icudt44l.dat.bak ``` 同时有另一个解决方案: ``` # export VMWARE_USE_SHIPPED_LIBS='yes' ``` 如果在版本**12.5.7**上出现问题,并且移动`icudt44l.dat`或者设置`VMWARE_USE_SHIPPED_LIBS`为`yes`不起作用,或者在终端内执行`vmplayer`无输出,尝试以root权限执行: ``` # cd /usr/lib/vmware/lib/libz.so.1 # mv libz.so.1 libz.so.1.old # ln -s /usr/lib/libz.so.1 . ``` 尽管设置了VMWARE_USE_SHIPPED_LIBS变量,VMware仍有可能找不到某些库文件,比如libfontconfig.so.1。查看VMware位于tmp目录中的日志来检查哪些库文件未被找到,并将对应的系统库文件拷贝至合适的路径: ``` # cp /usr/lib/libfontconfig.so.1 /usr/lib/vmware/lib/libfontconfig.so.1/ ``` ### 客户机问题 #### 无法为客户机下载VMware Tools 访问[VMware repository](http://softwareupdate.vmware.com/cds/vmw-desktop/)来手动下载这些工具。 导航至:"*application name* / *version* / *build ID* / linux / packages/"来下载合适的工具。 解压: ``` $ tar -xvf vmware-tools-*name*-*version*-*buildID*.x86_64.component.tar ``` 并通过VMware安装程序安装: ``` # vmware-installer --install-component=*/path/*vmware-tools-*name*-*version*-*buildID*.x86_64.component ``` 如果上述步骤不管用,尝试安装[ncurses5-compat-libs](https://aur.archlinux.org/packages/ncurses5-compat-libs/) #### 错误:Guests have incorrect system clocks or are unable to boot: "[...]timeTracker_user.c:234 bugNr=148722" 这是由于在VMware Linux中[不完整的](http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591)对电源管理功能的支持导致的CPU频率的变化([Intel SpeedStep](https://en.wikipedia.org/wiki/Intel_speedstep "wikipedia:Intel speedstep")和[AMD PowerNow!](https://en.wikipedia.org/wiki/AMD_powernow "wikipedia:AMD powernow")/[Cool'n'Quiet](https://en.wikipedia.org/wiki/Cool%27n%27Quiet "wikipedia:Cool'n'Quiet"))。2012年,随着[linux 3.3-1](https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be)的发布,最大CPU频率[Performance](/index.php/CPU_frequency_governors "CPU frequency governors")的管理者被动态的*Ondemand*替代。当宿主的CPU频率变化时,客户机的时钟会运行过快或过慢,同时也可能会导致客户机无法启动。 为规避该问题,宿主CPU的最高频率可以被指定,并禁用[时间戳计数器](https://en.wikipedia.org/wiki/Time_Stamp_Counter "wikipedia:Time Stamp Counter")(TSC)。在整体设置中: `/etc/vmware/config` ``` host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000". host.noTSC = "TRUE" # Keep the Guest system clock accurate even when ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow. ``` **提示:** 若要每隔一分钟修正一次时钟,在VMware Tools下的*Options*选项卡中,启用: *"Time synchronization between the virtual machine and the host operating system"*. #### Guests系统启动后网络不可用 这可能是 `vmnet` 模块没有加载 [[4]](http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/)。又见[#Systemd 服务](#Systemd_.E6.9C.8D.E5.8A.A1)自动加载。 ## 卸载 为卸载VMware你首先需要知道产品名称(`vmware-workstation` 或是 `vmware-player`)。列出所有的产品: ``` # vmware-installer -l ``` 然后通过下面的指令卸载(使用`--required`跳过所有的确认): ``` # vmware-installer -u *product* --required ``` **提示:** 加上`--console`来使用终端UI 记得要[disable](/index.php/Disable "Disable")和删除`.service`文件: ``` # rm /etc/systemd/system/vmware.service # rm /etc/systemd/system/vmware-usbarbitrator.service ``` 你可能还需要清理在`/usr/lib/modules/*kernel_name*/misc/`下的冗余文件,并且如果目录`/etc/init.d/`是空的话,删除它。