裝pe的话会顺坏grub4dos,重复2->5步骤即可。
就是这样。
这篇是一年前写的文章,当时发在校内上了,看的人也不多,结果当时就没怎么在意。
但这两天刚好又在倒腾电脑,发现这文章写得真是 。。。 烂。
说明不清楚,还有拼写错误,想起了一句话:错误的注释比没注释更可怕。
改正如下:
假设电脑上已装有Ubuntu,重装win7到C盘后引导项被删除。为重新引导ubuntu,我们先在win7上装grub4dos。
原理是利用win7的bootmgr。
准备软件:grub4dos软件。
步骤:
1.在X盘中新建boot.ini,在里面写入
[boot loader] [operating systems] C:\grldr.mbr="grub4dos"
这样在开机的时候bootmgr就能从boot.int中读取启动信息,在次启动的时候就能选择启动win7或是启动grub4dos;
2.解压grub4dos后拷贝文件夹中grldr,grldr.mbr,menu.lst三个文件到C盘,到这grub4dos就算装好了,开机后能够选择grub4dos引导;
3.menu.lst中记录的是引导信息,这里我们有利用它来引导Ubuntu,先要获得Ubuntu的启动信息,10.10之后的系统都存放在/boot/grub/grub.cfg,有两种方法,1)在装好Ubuntu后,打开/boot/grub/grub.cfg,找到如下字段
menuentry 'Ubuntu,Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set=root 60aeeaf3-1d61-47f4-a2c5-72d18e775e86 linux /boot/vmlinuz-3.0.0-12-generic root=UUID=60aeeaf3-1d61-47f4-a2c5-72d18e775e86 ro quiet splash vt.handoff=7 initrd /boot/initrd.img-3.0.0-12-generic }
红色的字段就是有用的信息,新建一个文档把它存起来;2)如果是之前没有记录启动信息,那在装完win7之后可利用Ubuntu的livecd,或是U盘linux系统来获取;
4.编辑menu.lst,
title Unbuntu 10.10 root (hd0,0) kernel /boot/vmlinuz-3.0.0-12-generic root=UUID=60aeeaf3-1d61-47f4-a2c5-72d18e775e86 ro quiet splash initrd /boot/initrd.img-3.0.0-12-generic boot
注意一下第二行,grub.cfg中写的是 root='(hd0,msdos1)',menu.lst中也这样写的话会提示错误,改成hd0,0后就没问题了,意思是挂在第一块硬盘的第一分区。
5.grub4dos还有很多其他功能,比如引导pe,安装系统,这里就不意义赘述了。