Windows 7 虚拟机已成为';无法访问';-流浪汉不再工作

Windows 7 虚拟机已成为';无法访问';-流浪汉不再工作,windows-7,vagrant,virtual-machine,virtualbox,Windows 7,Vagrant,Virtual Machine,Virtualbox,由于某种原因,今天早上当我运行“vagrant up”时,我得到了以下错误(这在一年多的时间里工作得非常好) 我可以尝试删除我现有的.vagrant文件夹,然后做一个vagrant up,但这将永远花费在我们非常缓慢的互联网速度上-有人能建议如何快速修复此问题吗?这对我很有效 在对调试输出进行了一些挖掘之后,我发现即使实际的虚拟机是完整的(我可以从VirtualBox GUI应用程序加载并运行它),VirtualBox还是会在其内部的某个地方将此虚拟机标记为“”。流浪汉,正确地相信它所说的,吐出

由于某种原因,今天早上当我运行“vagrant up”时,我得到了以下错误(这在一年多的时间里工作得非常好)

我可以尝试删除我现有的.vagrant文件夹,然后做一个vagrant up,但这将永远花费在我们非常缓慢的互联网速度上-有人能建议如何快速修复此问题吗?

这对我很有效

在对调试输出进行了一些挖掘之后,我发现即使实际的虚拟机是完整的(我可以从VirtualBox GUI应用程序加载并运行它),VirtualBox还是会在其内部的某个地方将此虚拟机标记为“”。流浪汉,正确地相信它所说的,吐出了错误信息

在查看VBoxManage的帮助后,我发现其中一个命令list VM列出了在VirtualBox中注册的所有虚拟机:

$ /cygdrive/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe list vms
"precise64" {3613de48-6295-4a91-81fd-36e936beda4b}
"<inaccessible>" {2568227e-e73d-4056-978e-9ae8596493d9}
"<inaccessible>" {0fb42965-61cb-4388-89c4-de572d4ea7fc}
"<inaccessible>" {c65b1456-5771-4617-a6fb-869dffebeddd}
"<inaccessible>" {9709d3d5-ce4d-42b9-ad5e-07726823fd02}
  • 现在,使用registervm命令注册VM,并使用VM配置文件的路径:

    $ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe registervm C:\cygwin\home\Philip\Virtual VMs\rails-vm-v2\rails-vm-v2.vbox
    
    现在您应该能够按预期启动VM了

  • 资料来源: 这对我来说很有用:

    在我的“C:\Users{user}\VirtualBox VMs{vm id}”文件夹中有两个文件

    • {vm id}.vbox prev
    • {vm id}.vbox tmp

    从“{vm id}.vbox tmp”重命名为“{vm id}.vbox”解决了我的问题,我可以调用“vagrant up”

    您只需从项目文件夹中删除.vagrant文件夹,然后再次运行vagrant up

    使用以下命令之一查找无法访问的命令:

    $ vagrant global-status
    
    或:

    然后记下GUID,并将其从
    VirtualBox.xml
    文件中删除(OS X:
    ~/Library/VirtualBox/VirtualBox.xml
    ,Windows:
    %HOME%/.VirtualBox

    或者从虚拟机所在的文件夹中删除
    .vagrant
    文件夹,从头开始(
    vagrant up


    另请参见:在VirtualBox,这里没有任何东西适合我

  • 我从中删除(或重命名)了所有文件
  • C:\Users[YourNameHere].VirtualBox

  • 再次流浪:

    vagrant up


  • 现在问题解决了。

    我的问题是一样的,但解决方法却大不相同。。。我的虚拟机存储在网络驱动器上,可通过NFS共享访问。重新启动后,远程驱动器无法启动,因此无法访问虚拟机。 我花了一段时间才意识到原因,同时四处打猎,没有找到解决办法

    然后我意识到,掌心,登上小路,一切都很顺利

    简而言之,这是一个路径问题


    我觉得我应该把它包括在这里,以防它对同舟共济的人有所帮助。

    VirtualBox Manager可能会为您提供更多有用的信息,例如在我的案例中,它报告说
    .vbox
    文件不存在

    查看后,问题确实是该文件不存在-有人将其重命名为
    x.vbox-tmp
    (可能在虚拟机仍在运行的情况下关闭电脑?)


    我将
    x.vbox-prev
    文件复制到
    x.vbox
    并再次尝试启动虚拟机,一切正常。

    我必须将[VM id].vbox tmp(在VirtualBox虚拟机上)重命名为[VM id].vbox。之后,如果不删除.vagrant文件夹,我就可以运行vagrant,它工作得很好。

    如果有人手动从VirtualBox VMs文件夹中删除您的vm,那么在这种情况下,您的vm将无法访问。但是,您将无法取回您的机器,但vagrant仍会在列表中显示您的vm。要将其从vm列表中完全删除,请转到

    \.vagrant.d\data\machine-index 
    
    然后打开索引文件。删除无法访问的计算机的引用。下次运行下面的命令时,它将不会显示无法访问的计算机

    vagrant global-status --prune
    

    在Linux上,以下操作将注销计算机:

    VBoxManage list vms
    VBoxManage unregistervm <inaccessible machine UID>
    

    删除
    .vagrant
    文件夹可能会有所帮助,但您必须重建计算机。

    通过使用命令行,您可以使用一行程序删除所有无法访问的框:

    VBoxManage list vms |grep inaccessible |cut -d "{" -f2 |cut -d "}" -f1 |xargs -L1 VBoxManage unregistervm 
    
    参见

    我也有这个问题。 重新启动macOS后更改virtualBox目录时,所有虚拟机都无法访问virtualBox

    我的解决方案奏效了

    只需将虚拟框移动到默认目录。 从gui中删除所有不可访问的虚拟机,然后从默认路径注册虚拟机,然后运行它


    可能重复保存的我的一天(在Win7主机上)!谢谢当与
    vboxmanage
    命令而不是
    VBoxManager.exe
    一起使用时,这在linux中也能起作用,而
    VBoxManager.exe显然不存在于linux中。这就像一个符咒一样有效:)首先尝试一下这个答案,这个答案比公认的答案好,因为它简单得多(如果它对您有效的话)。对我来说也很有魅力:)干得好。感激它:)对我来说也是完美的方式。谢谢也可以在Win10上工作。节省了我很多时间谢谢!这对我有效,重命名了我的.VirtualBox以防万一,然后运行homestad up/vagrant up。我将把它添加到我的解决方案中。我选择了另一个文件,homestad-7.vbox-tmp,并将其重命名回homestad-7.vbox,然后再次工作。我还选择了
    .vbox prev
    而不是
    x.vbox-tmp
    ,考虑到临时工可能会因意外终止而出现不一致。(谢谢你的windows更新。)我的理由确实是在虚拟机仍在运行的情况下关闭电脑。谢谢你也为我工作。。。可能是系统崩溃造成的。。供快速参考:vbox文件可在适用于Windows的“\VirtualBox VMs”中找到。这似乎与@Danny Wheeler的答案及其注释中的建议中所述的解决方案相同。删除.vagrant文件夹可能会导致vagrant从头开始重新创建VM。如果您需要修复损坏的VM,这可能不是正确的方法。如果虚拟机是完全可丢弃和可重新创建的,那么这是解决问题的简单方法。谢谢!它用于删除先前创建的缓存,因此它会显示最新状态。
    vagrant global-status --prune
    
    VBoxManage list vms
    VBoxManage unregistervm <inaccessible machine UID>
    
    sudo /sbin/vboxconfig
    
    VBoxManage list vms |grep inaccessible |cut -d "{" -f2 |cut -d "}" -f1 |xargs -L1 VBoxManage unregistervm 
    
    vagrant up