最近升级了vmware,提示vmware tools升级,操作后,提示不能写 vmlinux等,提示不要重新启动,再次安装后,还是同样的信息。后来因为有事情一不小心就关掉了。
在重新启动的时候提示grub rescue。
解决方法:
1、用Ubuntu10.10光盘进入菜单栏后选择“试用而不是安装Ubuntu10.10的系统选项”;
2、进入试用的系统后,打开终端,输入终端命令:
sudo fdisk -l (查看计算机分区列表)
请记录下来根分区 / 和 /boot 分区安装的位置(我的根分区位于/dev/sda6,/boot没有单独分区(若有则假设位于/dev/sda7)),
下面就以我的分区为例说明,请大家根据自己的磁盘分区情况进行相应修改;
3、在终端输入命令:
mkdir /mnt/disk
mount /dev/sda1 /mnt/disk
mount –bind /proc /mnt/disk/proc
(注意,命令中都是两个 半角 “ 减 ” 号 啊!)
mount –bind /dev /mnt/disk/dev
mount –bind /sys /mnt/disk/sys
chroot /mnt/disk/ /切换到“ /mnt/disk”
最后。
grub-install --root-directory=/mnt/ /dev/sda (注意此命令中root前面是两个减号横杠)
4 、
如果没有成功出现系统启动菜单,而是进入到有grub版本,下面是sh:grub> 这说明grub还缺少grub.cfg(这是grub2的启动项配置,在grub的目录下)文件,将对应的grub.cfg文件复制过去即可,这里要用root权限,可以通过终端下的sudo -i获得,然后进入到grub文件下,使用gedit grub.cfg,弹出一个gedit编辑框,将前面的grub.cfg文件的内容拷贝到这里,保存即可
update-grub (重建GRUB列表,将windows xp引导项修复)
grub-install /dev/sda (重新写入第一分区mbr)
但是还是进不去,还是缺少文件。继续进行下面的操作
5、
本来想想在网上找到boo的内容找了半天也没有发现,就在一个重新快速安装了而一个新的ubuntu系统(也就不到20分钟),然后见将原来的vm虚拟盘挂到了新系统做第二个硬盘使用。
启动后在终端输入命令:
sudo -i
mkdir /mnt/olddisk
mount /dev/sdb1 /mnt/olddisk
cp -rl /boot /mnt/olddisk/ (在这一部前,备份一下grub.cfg,如果不备份,就做如下操作)
如果备份了grub.cfg,拷贝回去即可。否则
blkid ( 查找到 原来启动分区的uuid )
原来sdb1启动分区的uuid 替换掉/mnt/oldisk/boot/grub/grub.cfg 中的新系统中的uuid
umount /mnt/olddisk
关闭新系统。
重启原来的系统。成功
看来boot的内容还是需要备份一下,否则太麻烦了