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系统


### 回答1: GRUB(GRand Unified Bootloader)是一种常用来管理 Linux 系统启动的引导程序。如果您的 Linux 系统无法正常启动,可以尝试使用 GRUB 修复系统引导。 修复 GRUB 的方法有很多种,其中一种是使用系统安装盘进入 rescue 模式进行修复。这需要您先准备一张 Linux 系统安装盘,然后在启动时按下相应的键进入 rescue 模式,运行下面的命令来修复 GRUB: ``` grub-install /dev/sda grub-install --recheck /dev/sda ``` 也可以使用 boot-repair工具 修复 还有其他一些方法,但不同的 Linux 发行版可能有差异,请参考官方文档或者搜索相关资料。 ### 回答2: 对于Linux系统来说,GRUB是一个非常重要的组件。GRUB(GRand Unified Bootloader)负责在电脑启动时加载操作系统,并提供一个菜单供用户选择启动哪个系统,而且可以在启动时向操作系统传递参数。如果你的Linux系统无法启动,那么很可能是由于GRUB不能正常加载造成的。这时,我们需要使用GRUB修复工具将GRUB修复回原来的状态。 首先在Linux系统中检测一下是否有GRUB引导程序,如果没有,则需要用命令行安装GRUB。如果已经有了GRUB引导程序,则可以使用GRUB修复工具进行修复修复GRUB引导程序需要先进入Linux系统,在终端中输入以下命令: sudo update-grub sudo grub-install /dev/sda 其中,/dev/sda是你的Linux系统所在的硬盘。如果你的Linux系统在其他硬盘或分区中,需要将/sda替换成对应的硬盘或分区名。 接下来需要打开GRUB的引导菜单。在电脑启动时,按下Shift键,就可以进入GRUB菜单。在这个菜单中,我们可以选择要启动的操作系统。 如果发现GRUB菜单中缺失了某个系统,那么可能是某个引导文件损坏了。这时需要使用GRUB修复工具进行修复。以下是修复GRUB的步骤: 1. 按下Ctrl+Alt+T打开终端 2. 输入以下命令 sudo apt-get install -y boot-repair 3. 安装完之后启动boot-repair,选择“Recommended repair” 4. 在boot-repair中选择“OK” 5. 等待程序运行,完成后系统将会自动重启。 通过上述步骤,我们就可以修复GRUB,恢复Linux系统的引导程序了。在使用时一定要仔细查看所有命令,以避免误操作。 ### 回答3: Grub是一种系统引导程序,用于启动操作系统。当Grub无法加载或损坏时,系统就无法正常启动。因此,如果你的Linux系统的Grub无法正常工作,那么你需要进行Grub修复以确保系统正常启动。 Grub修复需要以下步骤: 1.在Linux系统引导时按下e键打开grub编辑器。在编辑器中,你可以编辑启动选项。 2.在编辑器中,找到以“root=”开头的行。这行指定了根文件系统所在的设备。在行末尾的位置,添加“rw init=/bin/bash”。 3.按Ctrl+X键保存修改并重新启动。此时系统将以单用户模式启动。 4.输入“mount -o remount, rw /”命令以将根文件系统挂载为可写。 5.输入“grub-install /dev/sda”命令,其中“/dev/sda”应替换为你的启动设备。 6.输入“update-grub”命令更新Grub配置文件。 7.重新启动系统并测试Grub是否能正常工作。如果一切正常,那么你的系统就已经修复好了。 总之,进行Grub修复有助于恢复系统对于操作系统的引导能力,确保你的linux系统可以正常启动并运行。如果你发现Grub无法正常工作,那么不要慌张,按照上述步骤进行修复即可。请注意,在进行这些操作之前备份你的数据以避免数据丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

流浪动物_小光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值