開機流程與主引導分區(MBR)

由于操作系統會提供所有的硬件并且提供內核功能,因此我們的計算機就能夠認識硬盤內的文件系統,并且進一步讀取硬盤內的軟件文件與執行該軟件來完成各項軟件的執行目的

????? 問題是你有沒有發現,既然操作系統也是軟件,那么我的計算機優勢如何認識這個操作系統 軟件并且執行它呢?開機時我的計算機系統還沒有任何軟件系統,那他要如何讀取硬盤內的操作系統文件呢?這就要牽涉計算機的開機程序了。下面我們來談一下計算機的開機程序

???? 在計算機概論里面我們談到那個可愛的BIOS 和CMOS兩個東西。CMOS是記錄各項硬件參數且嵌入在主板上面得存儲器,BIOS則是一個寫入到主板上的一個韌體(韌體就是寫入到硬件上的一個軟件程序)。這個BIOS就是在開機的時候計算機系統會主動執行的第一個程序了。

??? 接下來BIOS回去分析計算機里面有哪些存儲設備,我們以硬盤為例,BIOS會依據用戶的設置去取得能夠開機的硬盤,并且到該硬盤里面去讀取第一個扇區的MBR位置。MBR這個僅有446bytes的硬盤容量里面會放置最基本的引導加載程序,此時BIOS就功成圓滿,而接下來就是MBR內的引導加載程序工作了。

??? 這個引導加載程序的目的是在加載內核文件,由于引導加載程序是操作系統在安裝時所提供的,所以他會識別硬盤內的文件系統的格式,因此就能夠讀取內核文件,然后接下來就是內核文件的工作,引導加載程序也功成圓滿,之后就是大家所知道的操作系統的任務了

???? 用一句通俗的話說,BIOS是幫著找到家門(硬盤),硬盤中的引導加載程序就是幫著找到家里的錢(內核),然后操作系統就開始工作了

??? 簡單的說,整個開機流程到操作系統之前的動作應該是這樣的

?????BIOS:開機主動執行的韌體,會認識到第一個可開機的設備

???? MBR:第一個可開機設備的第一個扇區內的主引導分區塊,內包含引導加載程序

???? 引導加載程序(Boot loader):?? 一支可讀取內核文件來執行的軟件

???? 內核文件:?開始操作系統的功能

?由上面的說明,我們會知道,BIOS和MBR都是硬件本身會支持的功能,至于Boot Loader則是操作系統安裝在MBR上面的一套軟件。由于MBR僅有446bytes而已,因此這個引導加載程序是非常小而完美的。這個BootLoader的主要任務是一下項目。

??? 提供菜單:用戶可以選擇不同的開機選項,這也是多重引導的重要功能

?? 載入內核文件: 直接指向可開機的程序段來開始操作系統。

?? 轉交其他Loader:將引導加載功能轉交給其他loader負責

?上面的前兩點還容易理解,但是第三點很有趣!那表示你的計算機系統里面可以具有兩個以上的引導加載程序呢。有可能嗎?我們的硬盤不是只有一個MBR而已?但是引導加載程序除了可以安裝在MBR之外,還可以安裝在每個分區的引導扇區。

??? 舉一個例子來說,假設你的個人計算機只有一塊硬盤,里面分成4個分區。其中第一,二分區分別安裝了Windows及Linux,你要如何在開機的時候選擇用Windows還是Linux開機呢?假設MBR內安裝的是可以同時識別Windows和Linux操作系統的引導加載程序,那么整個流程如下

???

開機流程與主引導分區(MBR) - engineerdream - engineerdream
MBR的引導加載程序提供提供兩個菜單,菜單一(M1)可以直接加載Windows的內核文件來開機,菜單二(M2)則是將引導加在工作交給第二個分區的啟動啟動扇區,當用戶在開機的時候選擇菜單二時,那么整個引導加載工作就會交給第二分區的引導加載程序了。第二個引導加載程序啟動后,該引導加載程序上面只有一個開機菜單,因此就能夠使用Linux內核來開機。
?? 做個總結就是這樣:
? 1,每個分區都有自己的啟動扇區
? 2,圖中的系統分區為第一及第二分區
? 3.實際可開機的內核文件是放置到各分區內的
? 4,loader只會認識自己的系統分區內的可開機內核文件,以及其他的Loader而已
? 5,Loader可直接指向或者是間接將管理權交給另一個管理程序
現在想一下,為什么人家常說:”如果要安裝多重引導,最好先安裝Windows再安裝Linux呢“?
??這是因為Linux在安裝時,你可以選擇將引導加載程序安裝在MBR或個別分區的啟動扇區,而且Linux的Loader可以手動設置菜單(M1 M2),所以你可以在Linux的Boot Loader里面加入Windows開機選項
?? Windows在安裝的時候,他的安裝程序會主動覆蓋掉MBR以及自己所在分區的啟動扇區,你沒有選擇的機會,而且他沒有讓我們自己選擇菜單功能

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388608.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388608.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388608.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

膚色檢測算法 - 基于二次多項式混合模型的膚色檢測。

由于CSDN博客和博客園的編輯方面有不一致的地方,導致文中部分圖片錯位,為不影響瀏覽效果,建議點擊打開鏈接。 由于能力有限,算法層面的東西自己去創新的很少,很多都是從現有的論文中學習,然后實踐的。 本文…

oracle解析儒略日,利用to_char獲取當前日期準確的周數!

總的來說周數的算法有兩種:算法一:iw算法,每周為星期一到星期日算一周,且每年的第一個星期一為第一周,就拿2014年來說,2014-01-01是星期三,但還是算為今年的第一周,可以簡單的用sql函…

密碼機

樹狀數組1 #include<bits/stdc.h>2 using namespace std;3 int x,y,c[200005];4 char str[20];5 int inline read(){6 int x0,f1;7 char chgetchar();8 while(ch<0||ch>9)9 chgetchar(); 10 while(ch>0&&ch<9){ 11 …

js有默認參數的函數加參數_函數參數:默認,關鍵字和任意

js有默認參數的函數加參數PYTHON開發人員的提示 (TIPS FOR PYTHON DEVELOPERS) Think that you are writing a function that accepts multiple parameters, and there is often a common value for some of these parameters. For instance, you would like to be able to cal…

sql management studio 附加mdf文件出錯的解決辦法

將mdf文件所在文件夾的權限改為everyone.&#xff0c;完全控制即可。

oracle raise_application_error,RAISE_ APPLICATION_ ERROR--之異常處理

平時用來測試的異常處理我們都是通過dbms_output.put_line來輸出異常信息&#xff0c;但是在實際的應用中&#xff0c;需要把異常信息返回給調用的客戶端。其實 RAISE_APPLICATION_ERROR 是將應用程序專有的錯誤從服務器端轉達到客戶端應用程序(其他機器上的SQLPLUS或者其他前臺…

金融信息交換協議

隨著網絡的使用&#xff0c;目前所有大型的金融機構都已經實現了自動化和數字化。當中肯定少不了互聯網的加入&#xff0c;那么在這當中&#xff0c;我們主要介紹一下FIX協議。它是由國際FIX協會組織提供的一個開放式協議&#xff0c;目的是推動國際貿易電子化的進程&#xff0…

2018大數據學習路線從入門到精通

最近很多人問小編現在學習大數據這么多&#xff0c;他們都是如何學習的呢。很多初學者在萌生向大數據方向發展的想法之后&#xff0c;不免產生一些疑問&#xff0c;應該怎樣入門&#xff1f;應該學習哪些技術&#xff1f;學習路線又是什么&#xff1f;今天小編特意為大家整理了…

相似鄰里算法_紐約市-鄰里之戰

相似鄰里算法IBM Data Science Capstone ProjectIBM Data Science Capstone項目 分析和可視化與服裝店投資者的要求有關的紐約市結構 (Analyzing and visualizing the structure of New York City in relation to the requirements of a Clothing Store Investor) 介紹 (Introd…

一、面向對象

第一節&#xff1a;面向對象編程1.面向對象三大原則&#xff1a;封裝&#xff1a;就是把客觀事物封裝成抽象的類&#xff0c;并且類可以把自己的數據和方法只讓可信的類或者對象操作&#xff0c;對不可信的進行信息隱藏。繼承&#xff1a;繼承&#xff0c;指可以讓某個類型的對…

[poj 1364]King[差分約束詳解(續篇)][超級源點][SPFA][Bellman-Ford]

題意 有n個數的序列, 下標為[1.. N ], 限制條件為: 下標從 si 到 sini 的項求和 < 或 > ki. 一共有m個限制條件. 問是否存在滿足條件的序列. 思路 轉化為差分約束, 就是 即 Si 為第 i 項的前綴和, 特別的 So 為0. 轉化不等式(連續子段和變為前綴和之差 > < 變為 &g…

linux質控命令,Linux下microRNA質控-cutadapt安裝

如果Linux系統已安裝pip或conda&#xff0c;cutadapt的安裝相對簡便一些&#xff0c;示例如下&#xff1a;1.pip安裝pip install --user --upgrade cutadapt添加環境變量echo export PATH$PATH:/your path/cutadapt-1.10/bin >> ~/.bashrc2.conda安裝conda install -c b…

采用多播傳送FIX行情數據的推薦方案

理由FIX協議由一個會話層協議&#xff0c;一個應用層協議和一套域數據字典組成。后兩者不依賴于FIX會話。而且&#xff0c;由于FIX會話作為Point-to-point&#xff08;點-對-點&#xff09;通信&#xff0c;并不適合于發布/訂閱模式&#xff08;如為大量接收者提供市場數據&…

AJAX 異步加載技術

AJAX 異步 JavaScript 和 XML。 AJAX 是一種用于創建快速動態網頁的技術。 通過在后臺與服務器進行少量數據交換&#xff0c;AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下&#xff0c;對網頁的某部分進行更新。 傳統的網頁&#xff08;不使用 AJAX…

linux分辨率和用戶有關嗎,Linux系統在高分屏非正常分辨率顯示

問題描述&#xff1a;win10重裝為Ubuntu16.04&#xff0c;在1920x1080的顯示屏上&#xff0c;linux系統分辨率只有800x600xrandr # 查看當前顯示分辨率#輸出&#xff1a;[Screen 0: minimum 800 x 600, current 800 x 600, maximum 800 x 600]可以看出顯示屏最小為800x600&…

數據透視表和數據交叉表_數據透視表的數據提取

數據透視表和數據交叉表Consider the data of healthcare drugs as provided in the excel sheet. The concept of pivot tables in python allows you to extract the significance from a large detailed dataset. A pivot table helps in tracking only the required inform…

金融信息交換協議(FIX)v5.0

1. 什么是FIXFinancial Information eXchange(FIX)金融信息交換協議的制定是由多個致力于提升其相互間交易流程效率的金融機構和經紀商于1992年共同發起。這些企業把他們及他們的行業視為一個整體&#xff0c;認為能夠從對交易指示&#xff0c;交易指令及交易執行的高效電子數…

觀光公交

【問題描述】 風景迷人的小城 Y 市&#xff0c;擁有 n 個美麗的景點。由于慕名而來的游客越來越多&#xff0c;Y 市特意安排了一輛觀光公交車&#xff0c;為游客提供更便捷的交通服務。觀光公交車在第 0 分鐘出現在 1 號景點&#xff0c;隨后依次前往 2、3、4……n 號景點。從…

linux行命令測網速,Linux命令行測試網速的方法

最近給服務器調整了互聯網帶寬的限速策略&#xff0c;調到100M讓自己網站也爽一下。一般在windows上我喜歡用speedtest.net來測試&#xff0c;測速結果也被大家認可。在linux上speedtest.net提供了一個命令行工具speedtest-cli&#xff0c;用起來很方便&#xff0c;這里分享一下…

Delphi XE2獲取漢字拼音首字母

function CnPYIndex(const CnString: string): string;{ 返回中文的拼音首字母}const ChinaCode: array[0..25, 0..1] of Integer ((1601, 1636), (1637, 1832), (1833, 2077), (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000), …