the vm session was closed before any attempt to power it on

今天关VirtualBox虚拟机时,选的方式是“快速休眠”。结果竟然蓝屏报PAGE_FAULT_IN_NONPAGED_AREA。

重启电脑后再启动虚拟机时,虚拟机窗口一闪而过,出现如下错误:

the vm session was closed before any attempt to power it on

由于是休眠状态,设置里都不能改。网上搜了一艘,多是说重建虚拟机,再加载VDI。

无意中在虚拟机列表上右键点那个虚拟机,看到了一个菜单项是"清除保存的状态"。试着点了一下,提示清除休眠的数据相当于硬重启,想了想正好可能是休眠数据损坏了,于是点了确定。之后就能正常打开了。

这错误处理也太简单粗暴了,直接从错误信息里根本看不出来是啥问题啊。错误详细信息里最多也就是个FAIL什么的。

下面是转的网上别人的解决方案,他也是休眠的,其实不用重建虚拟机。

[plain]  view plain  copy
  1. 百度一下大概有2种解决方法,如下:  
  2. 1、到存储设置里面删除光驱和硬盘 然后再加回来。  
  3. 2、新建一个虚拟机 然后磁盘选择现有的或者以前的VDI文件。  
  4.    
  5. 针对方法1:因为fedora13处于休眠状态,“设置”不可用,所以无法操作,该方法不可行。  
  6. 针对方法2:以前的VDI文件是指第一次安装fedora时生成的vdi文件,我的路径是:C:/Users/zhangyg/.VirtualBox/HardDisks/fedora13.vdi 安装日期是2010/12/21如果用这个vdi文件那么自安装日期起在fedora13下所做的更改就全没有了。  
  7.    
  8. 所以应该选择现有的vdi文件,我的路径是:  
  9. C:/Users/zhangyg/.VirtualBox/Machines/fedora13/Snapshots/{9822eec4-0b0e-4495-a1c6-76b2189a180d}.vdi  
  10. 1)新建一个fedora虚拟机,比如:fedora13-2,安装过程中在注册一个新的虚拟硬盘时选择这个vdi文件:{9822eec4-0b0e-4495-a1c6-76b2189a180d}.vdi,当然注册会失败,因为在文件已经被虚拟机fedora13注册,所以应该首先删除注册信息。  
  11. 2)在C:/Users/zhangyg/.VirtualBox/ VirtualBox.xml下搜索 “9822eec4-0b0e-4495-a1c6-76b2189a180d”删除注册信息:  
  12.   
  13. 3)然后再重复步骤1就可以注册虚拟硬盘,并成功恢复fedora13系统。  

另外,Oracle对开源真不上心,VirtualBox的可用度比VMWare差太多了,有地方不少bug,比如直接移动、拷贝虚拟机的时候,打开会提示:
Cannot register the hard disk 'X:\xxxx\xxxx.vdi' {blah blah blah} because a hard disk 'X:\xxxx\xxxx.vdi' with UUID {blah blah blah} already exists.
查了一下,需要重新分配一个UUID:

最新virtualbox可以用这个命令:VBoxManage internalcommands sethduuid New.vdi 。
如果您使用的是VirutalBox 3.2 之前版本,命令格式为:VBoxManage internalcommands setvdiuuid New.vdi 。
当然,如果要复制一个vdi文件,最好是复制的同时可以对新的虚拟硬盘镜像文件重新生成新的uuid。
VBoxManage clonevdi Orig.vdi New.vdi
例如可以这样复制:VBoxManage clonevdi F:\VirtualBox VMs\xp4.vdi  xp5.vdi 。

相比较,VMWare就友好多了,会自动提示你是移动还是复制了虚拟机,选一下就可以了,不会有这种不能直接使用的问题。


https://blog.csdn.net/bokutake/article/details/46832993

你可能感兴趣的:(项目案例积累)