虚拟机在重启时不断从 vmplayer 中消失

虚拟机在重启时不断从 vmplayer 中消失

重启后,/home 和其他地方的虚拟机不断消失。我正在运行 vmplayer 6.0.1 和 ubuntu 12.04。我尝试删除 /home 下的 .vmware,但问题仍然存在。

saad@beast:~$ ls -l /home/saad/.vmware
total 12
-rw-rw-r-- 1 saad saad  426 Feb  6 10:23 player.log
-rw-rw-r-- 1 saad saad 1114 Feb  6 10:13 playerUploadedData.log
-rw------- 1 saad saad  301 Feb  6 10:23 preferences

答案1

我也遇到了库消失的问题。这很可能与包含最近使用文件列表的 ~/.local/share/recently-used.xbel 文件有关。

henning@henning-T60:~/.local/share$ ls -la recently-used.xbel 
-rw------- 1 henning henning 1385 mars  23 09:27 recently-used.xbel

有时(我也不知道具体原因)文件的所有者和组从 henning 更改为 root。 手动启动

 vmplayer

然后将会抱怨无法访问最近使用的.xbel 文件。

假设对 vm 的引用仍然在最近使用的.xbel 文件中,它应该可以使用以下命令重新获得对该文件的访问权限

sudo chown henning: recently-used.xbel

我尝试使用 inotify-interface 监视对文件的访问

inotifywait -m ~/.local/share/recently-used.xbel

通常在启动时会出现:

henning@henning-T60:~/.local/share$ inotifywait -m recently-used.xbel 
Setting up watches.
Watches established.
recently-used.xbel OPEN 
recently-used.xbel ACCESS 
recently-used.xbel CLOSE_NOWRITE,CLOSE 

关闭 vmplayer 时会出现:

recently-used.xbel ATTRIB 
recently-used.xbel DELETE_SELF 

因此,文件的属性被改变并且文件被删除,但由于它之后仍然在目录中,所以以某种方式再次重新创建。

在 vmplayer 启动时使用 strace 记录到 test.log

henning@henning-T60:~/.local/share$ sudo strace -e trace=file -o test.log  vmplayer

进而

 henning@henning-T60:~/.local/share$ more test.log | grep 'recently-used'
  access("/home/henning/.recently-used.xbel", F_OK) = -1 ENOENT (No such file or directory)
  open("/home/henning/.local/share/recently-used.xbel", O_RDONLY|O_LARGEFILE) = 7
  open("/home/henning/.local/share/recently-used.xbel.XVW5CX", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0666) = 23
  lstat64("/home/henning/.local/share/recently-used.xbel", {st_mode=S_IFREG|0600, st_size=218, ...}) = 0
  rename("/home/henning/.local/share/recently-used.xbel.XVW5CX", "/home/henning/.local/share/recently-used.xbel") = 0
  chmod("/home/henning/.local/share/recently-used.xbel", 0600) = 0

因此,创建了一个新文件 recent-used.xbel.XVW5CX,然后将其重命名为 recent-used.xbel

答案2

我使用的是 Ubuntu 16 版和 vmwareworkstatin 12

解决此问题的最佳方法是执行以下操作:

打开终端并转到主目录或 /home/userid

现在在 Home/Userid 内创建一个新文件夹“ mkdir VMware_Temp ”

然后将现有文件夹 /home/userid/vmware 中的所有内容复制到新的 VMware_Temp Dir

现在这里是修复:从命令提示符或 Shell 提示符运行这个简单的命令:因为我们需要删除 .vmware 文件夹,因为它现在已损坏。“sudo rm -r $HOME/.vmware”

然后返回到 Ubuntu 上的 GUI 或桌面并打开 VMware Workstation。创建一个虚拟机并选择我将稍后安装操作系统。

现在您应该可以看到您刚刚创建的新 VM。因此请关闭 Vmware 工作站并重新打开 vmwareworkstation,看看新 VM 是否仍然存在!

返回您创建的 VMware_Temp 文件夹,然后再次将所有内容剪切并粘贴回文件夹 /Home/userid/vmware 内

然后在 VMware 工作站内对要运行的虚拟机执行文件>打开> /Home/Userid/vmware/“vmware 文件夹名称”。

现在对在 vmware 文件夹内安装的每个虚拟机执行上述操作。

然后关闭您的 VMware Workstation 并立即重新打开!您应该会看到您创建的所有虚拟机列表

玩得开心!

您需要像这样删除 .VMware 文件夹。

大学教师

相关内容