关于重建 grub

第一步:想办法进入原来的linux.可以利用启动软盘,安装光盘等.也可以使用live cd,比如knoppix

1, 使用knoppix:光盘启动后,在boot:后输入knoppix 2出现knoppix提示符后,挂载原来linux的根分区,比如mount /dev/hda8 /mnt/hda8把改变当前的根分区和bashchroot /mnt/hda8可以看到bash提示符变了,这就可以进入下一步了

2,用安装光盘用光盘或硬盘安装方式,在boot提示符下输入linux rescue一步一步往下进行,redhat系统会找到已经安装过的系统,并挂载到/mnt/sysimage下,按提示输入chroot /mnt/sysimage(网上看到的,自己没验证过)

debian系统需要自己挂载原来的根分区,使用方法和knoppix一样

第二步:使用grub命令重建grub
在上一步chroot成功后,在新的bash提示符下敲 grub成功后回出现grub>提示符,给出你原来的启动映像所在的分区,root (hd0,6)需要注意,这个分区是要启动映像(比如vmlinuz开头的文件),还有grub目录,如果你在以前安装时只有一个/分区,那就是它,如果你给/boot单独划了一格分区,那你得先找到这个分区。另外,这个编号规则和hda*不太一样,通常hda7对应(hd0,6),hdb1对应(hd1,0), 因为(hd*,*)里分区的编号是从0开始的,而hda*后面那个数字是从1开始的。然后可以重建一个grub了,还是在grub>提示符下,敲 setup (hd0)这个命令会把grub写道mbr里然后quit命令退出grub,再重启就行了。

其他建议:其实可以选择不把grub写到mbr里,而是写到/分区或/boot分区里,使用windows启动菜单启动它
方法是在重建grub时用setup (hd0,6) 代替setup (hd0).或者安装时选择把grub写到根分区,而不是mbr
得到该分区的启动扇区,命令是dd if=/dev/hda7 of=/bootsect.lnx bs=512 count=1然后想办法把这个文件弄到windows下的c:\下最后修改c:\boot.ini文件,在最后添加一行c:\bootsect.lnk=”linux – grub”重启就能看到效果了.这样以后你就可以随便重装windows了,只要安装完后再把bootsect.lnk弄到c:\,再修改boot.ini就行了

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据