Rescue a VBox missing l_intl.nls

有人求助说一台 Windows 虚拟机坏了,启动不了。我去一看,黑屏白字,说,missing C:\Windows\System32\l_intl.nls,要我用 Windows 启动盘里的故障修复台修复。 怎么修复呢?没有说。我手边一时没有启动盘,自作聪明地把坏掉的虚拟机的硬盘文件 vhd 挂载到另一台虚拟机下做第二硬盘,查看 \Windows\System32\l_intl.nls 还在不在。在另一台虚拟机下看这硬盘挺健康的,\Windows\System32\l_intl.nls 也在。 我仍是复制了一份 l_intl.nls 给它,还是启动不了。 还是 Google 来一个办法,去取来 Windows 启动盘,在故障修复台命令行执行 30G 的硬盘,花了 1个多小时修理完毕,没提示有什么磁盘错误。重启,非常遗憾,仍是黑屏。 接着又试着把坏掉的虚拟机的硬盘文件 vhd 挂到另一台虚拟机下,直接在它的 Windows DOS 里执行 这跟故障修复台环境不同,chkdsk 能接受的参数也不同。这次修理快了很多,提示了一堆 Index 错误,看不懂,也不知修复了没有,看重启,仍是黑屏。 之后又尝试种种工具,无一有效。直到看到一个论坛的角落里(因为我花了几小时才看到,所以是角落)有人说,”YET ANOTHER Microsoft screw up”。一语惊醒梦中人! 那人建议试试 BIOS 重置、测试下内存(换下有问题的内存条)。我的是虚拟机,没有 BIOS 重置一说。我就新建了一个虚拟机,加载既有的 vhd,mamma mia,重见 Windows 的徽标在飘扬,舒了口气。 但是,我高兴得太早了,我很快发现此 Windows 非彼 Windows——我忘了这是虚拟机。刚才新建的虚拟机,加载的 vhd 文件,是有问题的虚拟机下的硬盘的最初状态!最初状态非常健康。这也是之前种种努力,把它挂载到其他虚拟机下尝试修复,修复时没发现问题,l_intl.nls 文件也在,而在有问题的虚拟机下真正加载的不单是这个 vhd,而是一个… Continue reading Rescue a VBox missing l_intl.nls

Export VirtualBox snapshots

我觉得挺奇怪的 —— VirtualBox 怎么不弄个一键连同快照导出虚拟机的功能?这功能应该很有用。 网上搜了一圈,也没人给个系统的指导。没办法,只好自己摸索着做。其实,导出快照没我想的那么复杂,也就是拷贝和修改一下配置文件。具体步骤是: 从源机拷出某个虚拟机的整个目录。 在目标机器上创建跟源虚拟机一样配置的新虚拟机。 把拷出的目录里所有文件放到新虚拟机所在的目录。用源虚拟机的硬盘文件覆盖新虚拟机的硬盘文件,同时有个 Name_Of_Vbox.vbox 的文件也被覆盖。.vbox 有快照文件们的树形结构信息及所在位置的信息。快件文件在 Snapshots 子目录下, .vbox 里存储的是相对位置,在新虚拟机里仍然使用。.vbox 是个 xml 格式的文件,不妨打开来看一下,里面还有一个 machine uuid,把它拷出来。 打开 VirtualBox.xml,它是 VirtualBox 的配置文件,在 Fedora 下它保存在 ~/.VirtualBox/ 目录下,新建的虚拟机的 machine uuid 和源虚拟机的 machine uuid 通常是不匹配的,那就用刚刚从 .vbox 里拷出来的 machine uuid 替换。 这样源虚拟机连同快照文件就迁移到目标机器上了。这时尝试启动虚拟机或许会提示如虚拟网卡不存在之类的错误,一般是因为源机和目标机器环境不一致或所用 VirtualBox 版本不一致所引起的,问题不大,只要重新给虚拟机一张虚拟网卡就行了。

Solve media type differencing after VirtualBox upgrade to 3.2.8

我在 VirtualBox 升级到 3.2.8 以后发现其中的 Windows XP Guest OS 无法启动,其他 Guest OS 正常。Windows XP Guest OS 用到的两个 harddisk 文件也显示 inaccessible,而且也 release 不了它们,强行访问还给一个错误信息。 Medium type of ‘/path/to/harddiskfile’ is differencing but it is not associated with any parent medium in the media registry (‘/path/to/.VirtualBox/VirtualBox.xml’). 我也没怎么上心,觉得是 VirtualBox 升级版中的 bug,指望在后续版本中把它修复。可是好久没见 Oracle 出更新,只好 google 求帮助。 我发现跟我有同样遭遇的人还不少,原因或许是 Host OS 使用了 ext4… Continue reading Solve media type differencing after VirtualBox upgrade to 3.2.8

Demystify 1and1 cloud server

漫天都是“云服务”,但真让我有云的感觉的服务目前只有 Google 一家。最近买了 1&1 cloud server,如果要评满意程度的话,只能是 5 out of 10 (购前期望过高)。 我原以为基于云的服务器可以一劳永逸、无限扩张,哪知 1&1 cloud server cpu core, memory, hard disk 都有上限,cpu core 最多买 4 个,其实就相当于单个 quad core cpu。 1&1 cloud server 性能也一般,或许还不如 vps,唯一优势就是比同等性能的 dedicated server 便宜一些。

How to remove VirtualBox 3.1.8

今天启动 VirtualBox 时提示说有 3.2.2 版可用,于是在第一时间下载了 rpm 来安装。可是安装时提示一大堆的文件冲突,我按经验就先卸载老版本 yum remove VirtualBox 可是以前管用的命令,在卸载 3.1.8 版时不管用了,提示 No Match for argument: VirtualBox No Packages marked for removal 大概 VirtualBox 改了 package name,惭愧,我也不会用 yum 来查看已安装的 package list。Google 了一会,这条命令倒是管用: yum remove /usr/share/applications/virtualbox.desktop 于是见到了久违了的 Loaded plugins: refresh-packagekit Setting up Remove Process Resolving Dependencies –> Running transaction check —> Package VirtualBox-3.1.x86_64 0:3.1.8_61349_fedora11-1 set… Continue reading How to remove VirtualBox 3.1.8

Upgrade VirtualBox to 3.1.x

刚从国内回来,电脑上积累了很多更新。其中 VirtualBox 有了 3.1.2 r56127,我从 3.0.x 直接升级失败,抛出一大堆的文件冲突信息。 于是 yum remove VirtualBox -y 然后再 yum localinstall -y –nogpgcheck VirtualBox-3.1-3.1.2_56127_fedora11-1.x86_64.rpm 成功! 此删除和重安装操作无须备份和恢复原有的 guest OS(but as a good practice, you should backup files before major changes)。

Get rid of annoying VirtualBox usbfs warning

VirtualBox 升级到了 3.0.10,在启动 VirtualBox 时就有一个 Warning: 研究了一下,原来是以前版本为了在 GuestOS 启用 USB 设备而在 /etc/fstab 里增加的一行 none /sys/bus/usb/drivers usbfs devgid=???,devmode=774 0 0 现在成了累赘,把它删了 Warning 就没了。

usb disk cannot be accessed by host and guest OS at the same time

我才知道 host OS 和 guest OS 不能同时挂载一个 usb disk,但是大错已经酿成。 当时我正在 host OS 里从 host OS 的硬盘移动一些文件到 usb disk 上,然后又在虚拟机里加载 usb disk 给 guest OS,结果,usb disk 就自动从 host OS 里卸载了。卸载时一些文件正在移动,突如其来的卸载造成这些文件未成功写入 usb disk,但源文件却已经从 host OS 的硬盘上删除了。 Host OS 是 Fedora,这教训给我一个感觉,Fedora (或者说是 GNOME,我不清楚该责怪谁) 的文件操作机制不够可靠——移动文件时,应该在收到目的文件写入成功信号后才删除源文件。

IE8 crash fix

I recently installed Windows XP in VirtualBox, and did all necessary updates, including IE 8. However, IE 8 kept crashing. At first, I thought it was a problem with VirtualBox or its Guest Additions. The same problem exists in kvm. Then I thought it was a general problem of running IE 8 in virtual machines.… Continue reading IE8 crash fix

Send Ctrl+Alt+Fn to VirtualBox guest OS

Fedora 常用到几个热键: Ctrl+Alt+F1 Ctrl+Alt+F2 Ctrl+Alt+F3 Ctrl+Alt+F4 Ctrl+Alt+F5 Ctrl+Alt+F6 VirtualBox guest OS 有时会出现花屏,得用 Ctrl+Alt+F2 和 Ctrl+Alt+F1 刷新一下显示就好了,所有我觉得这几个热键是很重要的。但 VirtualBox 没有提到怎么发送它们到 Guest OS (菜单是只有 Ctrl+Alt+Del 和 Ctrl+Alt+Backspace),但举一反三,Host+Fn 就相当于 Ctrl+Alt+Fn。这个 Host 键真的很重要啊,我觉得 VirtualBox 设置 right Crtl 作 Host 键真是很好用。