• 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以后的工作。

  • 相关阅读:
    js判断浏览器类型
    如何编译JAR包
    Android + Eclipse + PhoneGap 3.4 安卓最新环境配置,部分资料整合网上资料,已成功安装.
    QQ互联简单例子,七彩花都提供
    Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装.
    碎片化知识整理
    今天开始记录我每天的学习过程,补上昨晚的的笔记
    Appium 1.6.5安装环境配置 iOS篇
    Appium1.6.4-beta iPhone真机控件获取 app-inspector
    Appium1.6.4-beta 模拟器控件获取 App-inspector
  • 原文地址:https://www.cnblogs.com/nzbbody/p/4394006.html
Copyright © 2020-2023  润新知