GRUB的修复

        很多时候,我们会装windows和Linux双系统,一般都是先装windows后装linux,这时就是由linux来管理系统的引导和启动。当

重装windows系统后,就只能看到windows的引导信息,而无法进入linux。此时就需要修复Grub,来恢复linux的引导。

加电开机,引导系统的过程:BIOS-->MBR-->GRUB-->KERNEL-->INIT

        GNU GRUB(GRand Unified Bootloader)是一个由GNU项目提供的多重操作系统启动管理器,用来引导不同的系统。按照版本

来区分,GRUB可分成Grub Legacy和GRUB2。版本号是0.9x以及之前的版本都称为Grub Legacy,从1.x开始的就称为GRUB2。



Grub Legacy的修复:

1. sudo grub                               //  grub> 

2. find /boot/grub/stage1

3. root(hdx,y)                              //  IDE硬盘用hd表示,SCSI硬盘用sda表示 

4. setup(hdx)

5. quit



GRUB2的修复:

1.find /boot/grub/core.img                            //  查找可引导分区 (若boot单独分区则:find /grub/core.img)

2.kernel (sda0,1)/boot/grub/core.img         //  使用该分区引导(boot单独分区则:kernel /grub/core.img)

3.boot                                                              //  寻找BIOS,并改写

4.sudo grub-install /dev/sda                        //  安装grub到/dev/sda

5.upgrade-from-grub-legacy                       //  更新



重装windows后,丢失GRUB引导。使用LiveCD修复GRUB:

1. 挂载Ubuntu分区(/dev/sdaX    /media/dir1)

2. 执行grub-install命令(grub-install --root-directory=/media/dir1  /dev/sda)

3. 若GRUB没有损坏,则重启后可正常使用;若GRUB已损坏,重启后在grub rescue> 提示符下进行修复

     


开机出现grub rescue> 修复方法:

1. 先用ls命令,找到Ubuntu的引导分区:grub rescue>ls

     此时罗列出所有的磁盘分区信息:(hd0),(hd0,msdos3),(hd0,msdos2),(hd0,msdos1)

2. grub rescue>ls (hd0,msdos3)/boot/grub                   //  假如引导分区是第三分区,使用该命令尝试

3. 逐个分区尝试,若找到(hd0,msdos3)时,显示目录下的文件,说明Linux安装在该分区

4. grub rescue>set root=(hd0,msdos3)

    grub rescue>set prefix=(hd0,msdos3)/boot/grub

    grub rescue>insmod /boot/grub/normal.mod            //  也可尝试insmod (hd0,msdos3)/boot/grub/normal.mod 

5. grub rescue>normal    //  此时,引导进入linux

6. 进入linux之后,终端执行: sudo update-grub            sudo grub-install    /dev/sda

7. 重启后,检查是否恢复GRUB启动菜单    //  vi  /boot/grub/grub.cfg查看GRUB2的引导配置

                                                                            //  /boot/grub/menu.list文件是Grub Legacy的引导配置文件,在GRUB2中已不存在





参考文档:

        GRUB启动分析:http://blog.chinaunix.net/uid-24774106-id-3497929.html


注:

        参考Ubuntu 12.04系统


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪动物_阿光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值