zoukankan      html  css  js  c++  java
  • 整个开机流程到操作系统之前的动作

    整个开机流程到操作系统之前的动作

    第一步:BIOS——开机主动执行的固件(再说一次,固件是写入到硬件上的一个软件程序,是软件不是硬件),会认识第一个可开机的设备,比如硬盘,优盘(我们重装系统的时候就是为什么要用优盘,并且进入BIOS选这个为开机选项的原因)等;

    第二步:MBR——master boot record,磁盘的第一个扇区里面包含的重要信息,即主要开机记录区。这是第一个可开机设备的第一个扇区内的主要开机记录区块,内含开机管理程序;

    第三步:开机管理程序(boot loader)——一支可读取核心文件来执行的软件,目的就是载入(load)核心文件,因为开机管理程序是操作系统在安装时候所提供的,所以他会认识硬盘内的文件系统格式,因此能够读取核心文件;boot loader具有三大任务:(1)提供菜单:使用者可以选择不同的开机选项,即多重开机的功能;(2)载入核心文件:直接指向可开机的程序区段来操作系统;(3)转交其他loader:将开机管理功能转交给其他loader负责。第三条任务表示开机管理程序除了可以安装在MBR之外,还可以安装在每一个分区的开机扇区(boot sector)。

    举例:MBR的开机管理程序提供两个菜单,菜单一(M1)可以直接载入Windows的核心文件来开机; 菜单二(M2)则是将开机管理工作交给第二个分区的开机扇区(boot sector)。当使用者在开机的时候选择菜单二时, 那么整个开机管理工作就会交给第二分区的开机管理程序了。 当第二个开机管理程序启动后,该开机管理程序内(上图中)仅有一个开机菜单,因此就能够使用Linux的核心文件来开机啰。

    第四步:核心文件:开始操作系统的功能。

    针对第三步中的内容,做一些扩展总结:

    (1)每个分区都拥有自己的开机扇区(boot sector);
    (2)系统盘可为第一及第二分区;
    (3)实际可开机的核心文件是放置到各分区内的;
    (4)loader只会认识自己的系统盘内的可开机核心文件,以及其他loader而已;
    (5)loader可直接指向或者是间接将管理权转交给另一个管理程序。

    那么,问题来了:为什么人家常常说:“如果要安装多重开机, 最好先安装Windows再安装Linux”呢?

    答:Linux在安装时候,可以选择将开机管理程序安装在MBR或个别分区的开机扇区,而且Linux的loader可以手动设置菜单,所以可以在Linux的boot loader里面加入Windows的开机选项;

    而Windows在安装的时候就没有这么个性化了,他的安装程序会主动地覆盖掉MBR以及自己所在的分区的开机扇区,你没有选择的机会的。而且他没有让我们自己选择菜单的权利。

    所以,如果先安装Linux再安装Windows的话,那MBR信息及自己所在分区的开机扇区就会被覆盖掉,而Linux则不会。那么如果真的是先安装Linux了在安装Windows的话,就必须得再把linux再安装一次吗?

    答案肯定是NO!我们只需要处理MBR的内容就好了嘛,哪里出问题就改哪里,羊毛出在羊身上那就找羊呗。例如:利用Linux的救援模式来挽救MBR,虽然我也没用过。。。

  • 相关阅读:
    opencv学习之米粒分割 #201906121549
    opencv学习之hsv通道分解 #201906101704
    opencv学习之图像滤波预处理 #201906101646
    opencv学习之addWeighted图片打水印 #201906061030
    alpha channel
    rm git commit history
    git 使用学习
    排序算法的c++实现
    leetcode 246 中心对称数问题
    大数打印问题
  • 原文地址:https://www.cnblogs.com/gjmhome/p/14143137.html
Copyright © 2011-2022 走看看