linux系统启动过程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统启动过程相关的知识,希望对你有一定的参考价值。
--
centos7 grub配置文件在grub2中
GNU GRUB 和GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux。
在X86架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该说是主流。
Windows也有类似的工具NTLOADER;比如我们在机器中安装了Windows 98后,我们再安装一个Windows XP ,在机器启动的会有一个菜单让我们选择进入是进入Windows 98 还是进入Windows XP。NTLOADER就是一个多系统启动引导管理器,NTLOADER 同样也能引导Linux,只是极为麻烦罢了。
在PowerPC 架构的机器中,如果安装了Linux的Powerpc 版本,大多是用yaboot 多重引导管理器,比如Apple机用的是IBM PowerPC处理器,所以在如果想在Apple机上,安装Macos 和Linux Powerpc 版本,大多是用yaboot来引导多个操作系统。
因为X86架构的机器仍是主流, 所以GRUB和LILO 仍然是我们最常用的多重操作系统引导管理器。
引导过程
由硬盘启动时,Bios通常是转向第一块硬盘的第一个扇区,即主引导记录(MBR)。
装载GRUB和操作系统的过程,包括以下几个操作步骤:
装载记录
基本引导装载程序所做的的事情就是装载第二引导装载程序。
装载Grub
这第二引导装载程序实际上是引出更高级的功能,以允许用户装载一个特定的操作系统。
装载系统
如linux内核。GRUB把机器的控制权移交给操作系统。
不同的是,微软操作系统都是使用一种称为链式装载的引导方法来启动的,主引导记录仅仅是简单地指向操作系统所在分区的第一个扇区。
设备名称
GRUB不区分IDE硬盘和SCSI硬盘,统一使用hdx来标识。软盘使用fdx来标识,x为硬盘号,x从0开始计数。
GRUB使用(hdx,y)标识某个硬盘中的某个分区,x表示硬盘号,y表示分区号,x和y都从0开始计数。
在windows中,系统的第一个硬盘驱动器表示为(hd0),其中的第一个分区表示为(hd0,0),以此类推。
(hd0,0)。表示C盘。
(hd0,4)。表示D盘。当然这里指的是(第一个逻辑分区,如果D盘也是主分区,应该写成hd0,1)
由于主分区只能有四个,所以第一硬盘的四个主分区分别用(hd0,0)~(hd0,3)来表示;逻辑分区则从(hd0,4)开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示,依次类推。
一般windwos的分区都是一个主分区,其余是逻辑分区。因此C盘用(hd0,0),D盘用(hd0,4)来表示。 光盘用(fd)标识,第一个软驱用(fd0)表示。
Win7 的引导分两部分:MBR 程序和 BCD (Vista 之前称为 NTLDR ,其实他们是一个东西,但改进了很多)。MBR 程序就是 MBR 里面前 446 字节。Windows 每次用官方安装盘安装系统,都会强行覆盖这里的程序为自己的 MBR 程序,这个 MBR 的程序功能很简单,就是启动分区表里面标记为激活的分区。
之后 MBR 程序启动激活分区里面的 BCD (BCD 在分区特殊位置安装有特殊程序)。BCD 实现 F8 功能和正式启动 Windows7 。
Linux 这里不能启动,是因为 MBR 前 446 字节里面本来是 Linux 的引导程序 GRUB 。Win7 安装完,会覆盖 MBR 这里的 GRUB 程序,导致不能启动 GRUB 而是启动 BCD 来启动 Windows。
但 BCD 本身不支持直接启动 Linux ,所以你的 Linux 现在不能启动了。只能用 BCD 启动一个可以引导 Linux 的程序来过渡。这种软件其实不多现在基本也就 GRUB 可以选择。
解决办法有两个:
1、修复 GRUB 的 MBR 程序,这个实现很简单,只要能启动 Linux 就能修复,不管你是启动一个 GRUB for DOS 还是找个 Linux LiveCD 只要进入了 Linux 就能进行修复。这种修复文章网上一大堆。
2、用 Win7 的 BCD 启动 GRUB 来过渡启动到 Linux 。但 BCD 设置起来很麻烦,不如 XP 直接修改 boot.ini 方便,直观。这里的 GRUB 用 GRUB for NTLDR 版本就可以,但需要单独找 for BCD 的安装方法。不能照抄 XP 的修改 boot.ini 方法。
以上是关于linux系统启动过程的主要内容,如果未能解决你的问题,请参考以下文章