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