Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306278
  • 博文数量: 33
  • 博客积分: 132
  • 博客等级: 入伍新兵
  • 技术积分: 1002
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-16 22:24
个人简介

学习计算机科学与技术专业,喜欢计算机,喜欢linux,喜欢编程

文章存档

2014年(7)

2013年(12)

2012年(14)

分类: LINUX

2013-06-17 13:07:06

4、grub知识讲解

首先,我们得明确 grub 是一个来自GNU项目的多操作系统启动程序。它是一个多重操作系统启动管理器,grub 可用于选择操作系统分区上的不同内核,用来引导不同的系统如windows,linux。它是一个多重启动管理器。grub 可用于选择分区上的不同,用来引导不同系统,如windows,linux。

grub的执行脚本是grub.cfg,这个脚本在 /boot/grub2 目录下

grub.cfg系统引导程序,从 MBR 我可以找到当前的活动分区(系统分区),然后我可以从找到的活动分区读取 grub.cfg引导程序,加载选择系统的界面,可以让我们选择我们需要启动的系统,然后启动该系统。

这个是我的 grub.cfg的部分内容,我的 / 挂载在 /dev/sda10上。

它给出了我的 / 挂载位置,然后将执行权利交给所选的操作系统。然后操作系统进行加载。

那么 grub.cfg是怎样生成的呢?

它是由 /etc/grub.d/ 目录下的文件生成的。我们现在看看这个目录下是什么东东吧。

其中的 10_linux 是我们所用的 linux系统引导,30_os-prober是 windows系统。之前我写过一篇关于修改 grub 默认开机顺序的博文。有兴趣的花可以看看我前面的博文。

现在说一下 grub 引导的修复。grub 引导可能出现的错误大概有一下两点。

  • 开机后直接进入 windows系统,没有 grub 的选择界面。

  • 开机后一个系统都进入不了,直接蹦出 grub error:(貌似是这个)。

那么我们就要进行修复 grub(这里以ubuntu 12.04为例):

1、我们需要一个系统盘(刷了系统的U盘也可以),刷入的系统和你的本机上安装的 linux系统是同一个体系,比如都是ubuntu,fedora........

2、开机进入BIOS,选择U盘启动(这里用U盘修复grub)。

3、选择 试用而不安装 进入U盘中的操作系统。

4、先取得 root 权限,然后用 fdisk -l 命令查看你的 / 在什么地方挂载着(我的是在 /dev/sda10)。

5、先将你的 / 进行挂载

                        sudo mount /dev/sda10 /mnt

      然后进行指定引导安装的位置            

                        sudo grub-install --root-directory=/mnt /dev/sda10

      如果出现“lnstallation finished.No Error Reported.”字符的时候,就表示当前的操作成功了。

      然后重启你就可以进入本机的 ubuntu 系统了,但是还不能进入 windows系统。在本机的ubuntu系统下用 root 权限再执行       

                        sudo update-grub2

                        或者执行:grub2-mkconfig -o /boot/grub2/grub.cfg

                       (注意,如果你的grub是不是grub2,那么就将上面的grub2换成grub试试)

会出现类似下面的语句就表示成功了:

                        Generating grub.cfg . . .

                         .  .  .  .  .  .                                          //这块我就省略了

                        done
  这样你的系统引导就修复好了








阅读(1803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~