由于使用ghost镜像安装器在系统中装了winxp,又勾选了重建MBR,导致ubuntu的grub2引导丢失。以下对恢复过程做个记录。
由于之前是在win7中装的ubuntu,保留了EasyBCD的neogrub,对恢复ubuntu引导,简单了不少。
有两种恢复ubuntu引导的方法:
一、使用EasyBCD直接添加启动引导(这个方法我没试过,只是恢复引导的时候发现了这个)
1、打开EasyBCD;
2、进入add new entry;
3、operation systems选择linux/bsd;
4、type选择grub2,drive选择你安装ubuntu的分区;
5、点add entry。
二、使用EasyBCD添加的NeoGrub和DiskInternals Linux Reader恢复引导
1、由于之前在win7中安装ubuntu已经用EasyBCD添加了启动项NeoGrub Bootloader,开机选择该项;
2、进入了Grub4Dos界面;
3、输入c进入命令行模式;
4、输入find,会列出所有分区;
5、根据第4步列出的分区,输入root (hdx,y)。x为硬盘号,即第几块硬盘;y为x硬盘上的第y个分区。
6、root (hdx,y)输入后,会提示该分区的分区类型,文件系统。
7、输入ls确认是不是ubuntu系统所在分区;
8、确认后,记住x和y的值;
9、在win7中安装DiskInternals Linux Reader,这个工具非常好用,可以在win7系统中查看linux文件系统里的内容,还可以导出里面的文件;
10、使用DiskInternals Linux Reader查看linux根文件系统,找到/boot,找到ubuntu启动时所用的vmlinuz和initrd.img,如vmlinuz-3.2.0-60-generic,initrd.img-3.2.0-60-generic;
11、最简单的方法是在NeoGrub Bootloader直接加好启动ubuntu的菜单项;比较“骚包”的方法是在grub4dos命令行中手敲,这个麻烦了点。
12、打开EasyBCD,进入Add New Entry-》NeoGrub-》configure,在打开的文件中输入
title My Linux
root (hd0,6) 这里的0,5对应于第8步获取到的x和y。
kernel (hd0,6)/boot/vmlinuz-3.2.0-60-generic root=/dev/sda ro quiet splash
initrd (hd0,6)/boot/initrd.img-3.2.0-60-generic
13、保存后重启就可以通过进入NeoGrub Bootloader,选择My Linux进入ubuntu系统了。
还有一个更简单的办法,1-8都不用做,直接进入到第9步,然后通过DiskInternals Linux Reader把/boot/grub/grub.cfg文件导出到Windows系统中,然后查看grub.cfg文件里的内容,找到形如下面的内容:
menuentry 'Ubuntu, with Linux 3.2.0-60-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos6)'
search --no-floppy --fs-uuid --set=root 5b82255f-f3ee-40c3-a49b-f631f96dbbe7
linux /boot/vmlinuz-3.2.0-60-generic root=UUID=5b82255f-f3ee-40c3-a49b-f631f96dbbe7 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.0-60-generic
}
上面的信息已经提供了分区和vmlinuz和initrd.img的信息,该着为符合grub4dos的启动项,填入NeoGrub
title My Linux
root (hd0,6) 这里的0,5对应于第8步获取到的x和y。
kernel (hd0,6)/boot/vmlinuz-3.2.0-60-generic root=UUID=5b82255f-f3ee-40c3-a49b-f631f96dbbe7 ro quiet splash
initrd (hd0,6)/boot/initrd.img-3.2.0-60-generic
如果要恢复为有grub2引导,则在进入ubuntu系统后,打开终端,输入如下内容:
1、sudo grub-install /dev/sda;
2、sudo update-grub。
至此,恢复完成