LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1208|回复: 1

重新安装Windows冲掉grub修复的一点经验谈

[复制链接]
发表于 2005-11-20 14:48:01 | 显示全部楼层 |阅读模式
Windows总会崩溃,所以你总会有需要重新安装的时候,问题是如果你“不小心”,总会冲掉MBR,然后你发现你无法引导Linux了。如果你玩linux有一阵子,我相信,你总会遇到这些状况的:),well,说一说我的处理办法吧
1,“小心”一点。这个就是 你要避免 windows冲掉MBR,我的经验,不使用windows自带的格式化工具格式化C盘就可以避免,你可以使用pq,anyway了。
2,如果确实使用windows格式化工具好像也没什么,但你的了解chroot这个命令,我的理解,chroot是一个改变“环境”的命令,正确执行后,root环境会改变。通常的做法是 随便 找一张linux安装光盘(可引导的),使用rescure模式引导,然后找到你的/bin(因为shell在这个目录里)目录所在的分区,将其挂载到一个目录,比如说目录“2”,通常你的命令会是:
mount /dev/hda2 2
然后,使用chroot 2
就将环境切换到了你想要的环境中,在这个环境中执行grub-install /dev/hda重新安装grub就可以了,其实,这里有点问题的,有些人,恩,比如我,总是喜欢将/boot单独放在一个分区上(因为传说这样做可以加快引导速度:),使用chroot 2后发现拉了/boot目录,so,grub-install命令肯定执行出错了,这个也简单,在rescure模式下“只”挂载/bin所在分区,等切换环境后再挂载你想挂载的分区,恩,比如/boot,/opt之类的,挂载完毕后再执行grub-install之类依赖于不同分区文件的命令。

+++++++++
这说的好像很麻烦,恩,我也觉得很麻烦,其实如果你胆子够大,使用dd吧,当然前提是你找到一个文件stage1,一般在/boot/grub/目录下,大小是512bytes,命令是:
dd if=/boot/grub/stage1 of=/dev/hda bs=512 count=1
我想声明:这个命令当我敲着的时候,我怎么觉得心惊胆战的,嗯,不管怎样,如果你确实要使用这个命令,请做好分区表丢失的准备,又或者你足够艺高胆大(白痴?)。

另,grub-install 有一个参数--boot-directory=可以指定stage文件,而不是使用默认的,问题是我好像总指定不对,汗.......,有熟练使用该参数的高人可以交流交流......
发表于 2005-11-20 18:51:06 | 显示全部楼层
谢谢兄弟分享;辛苦了。。

北南 呈上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表