Linux 启动流程

1、首先加载BIOS(Basic Input Output System),自检,读取可启动的设备顺序(一般是硬盘)。
2、每个硬盘有一个MBR(Master Boot Record)区域,MBR是硬盘第一个扇区446B的区域。设置启动顺序,相当于读取不同硬盘的MBR。
3、然后加载MBR。
4、每个操作系统都有一个自己的Boot Loader,Boot Loader负责把系统内核加载到内存中运行。安装操作系统的时候,操作系统会把Boot Loader安装在自己的文件系统中。
  安装Linux的时候,可以选择是否要把Boot Loader拷贝到MBR中,而Windows会主动把Boot Loader拷贝到MBR中,特别注意:MBR中只有一个区域存放Boot Loader,后一次拷贝的Boot Loader会覆盖掉前一次拷贝的Boot Loader。
5、加载MBR,读取其中的Boot Loader,启动系统。那么问题来了?
  MBR中只有一个Boot Loader,后安装的系统拷贝Boot Loader 到MBR,覆盖掉前一个系统的Boot Loader,这不就导致,前一个系统永远没有办法启动了?
6、这就要谈到Boot Loader的功能,MBR中只有一个Boot Loader,但是Boot Loader提供菜单选项,可以选择不同的启动选项。
  a、直接指向可启动的程序区段,加载操作系统。
  b、将引导加载功能,转交给其他的Boot Loader。
7、考虑下面的情况,安装了Windows,文件系统中有Boot Loader,名称W,将W拷贝到MBR。再安装Linux,文件系统中有Boot Loader,名称L,将L拷贝到MBR,覆盖掉W。启动的时候,加载MBR中的L,L提供选项:
  a、可以直接加载Linux系统;
  b、可以转交给Linux文件系统中的Boot Loader,再加载Linux;
  c、可以转交给Windows文件系统中的Boot Loader,再加载Windows。
8、特别注意的是:Windows的Boot Loader 默认不具备转交的功能,而且安装Windows的时候,会主动把Boot Loader拷贝MBR,覆盖掉以前的。这就存在一个问题:
  安装多操作系统,最后安装Windows,导致无法引导启动其他的系统。因此,安装多操作系统,涉及到MBR与多重引导,应该先安装Windows,在安装Linux,让Linux的Boot Loader 在MBR覆盖掉Windows的。
9、然后Boot Loader加载系统内核到内存中,系统内核驱动周边的设备,接管了BIOS以后的工作。

转载于:https://www.cnblogs.com/nzbbody/p/4394006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值