最近使用Vmware下的ubuntu,经常因为主机故障死机使得虚拟机也连同受损,表现为重启后打开虚拟机ubuntu后,进入grub菜单选项,选择启动后无法进入系统。
可能原因为:1,分区的文件系统受损;2,Grub程序损坏。
要解决这样的问题,一般需要一张ubuntu live CD(可试用ubuntu),或者其他可直接供虚拟机使用的linux系统作为辅助。
据网上资料讲ubuntu10.04版live CD的fsck工具有bug,无法正常检查分区。所以我根据现有资源自己想出一种方法,方便的解决了辅助linux系统的来源:
在虚拟机的一个操作系统下是可以添加多个硬盘的,包括虚拟机的硬盘文件。那么我可以将其他正常工作的虚拟机硬盘文件(来自自己的或者局域网内其他机器上的另一个ubuntu虚拟机)作为硬盘插入到损坏的虚拟操作系统。
启动该虚拟机系统,选择从新添加的硬盘启动(更改bios或者开机时选择启动菜单),进入正常的linux。
进入辅助的linux系统后,
1,fsck -y /dev/sda6
修复分区文件系统。/dev/sda6表示设备,即目标分区
2,mount /dev/sda6 /mnt
grub-install --force --root-directory=/mnt /dev/sda6
先将目标分区挂载到当前系统,再向其安装grub启动程序
参考:http://linux-wiki.cn/wiki/Grub2%E9%85%8D%E7%BD%AE
重启后损坏的ubuntu得到恢复。