本文會介紹一些Linux系統(tǒng)安裝前的一些預(yù)備知識,會涉及到MBR、BIOS和Boot loader等計算機基礎(chǔ)概念。
硬盤的第一扇區(qū)
在眾多設(shè)備中,與系統(tǒng)安裝關(guān)系最密切的就要數(shù)硬盤了。因為在安裝操作系統(tǒng)時,我們要做的一個最重要的事就是對硬盤進行分區(qū),以便我們可以更加方便和高效的使用電腦。
在Linux系統(tǒng)中,一切設(shè)備都是以文件的形式存在的,所有設(shè)備對應(yīng)的文件都存儲在/dev
路徑下。硬盤對應(yīng)的文件名通常都是/dev/sd[a-p]
,但如果你使用的是虛擬機,那么硬盤對應(yīng)的文件名很可能是/dev/vd[a-p]
。
在整個硬盤的存儲空間中,它的第一個扇區(qū)是特別重要的。硬盤的一個扇區(qū)是512字節(jié)大小,在第一個扇區(qū)的512字節(jié)空間中,存儲了下面兩個東西。
**1. **主引導(dǎo)記錄(Master Boot Record, MBR):安裝啟動引導(dǎo)程序的地方,有446字節(jié);
**2. **分區(qū)表(partition table):記錄硬盤的分區(qū)狀態(tài),有64字節(jié)。
分區(qū)表
由于分區(qū)表僅擁有64字節(jié)的存儲空間,因此最多僅能有存儲四組分區(qū)信息,每組分區(qū)信息記錄了對應(yīng)分區(qū)在硬盤上的起始與結(jié)束的柱面號。假設(shè)硬盤設(shè)備文件名為/dev/sda,那么這四個分區(qū)在Linux系統(tǒng)中的設(shè)備文件名如下所示:
P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
P4:/dev/sda4
這四個分區(qū)可以作為主(Primary)分區(qū),也可以作為擴展(Extended)分區(qū)。擴展分區(qū)的作用是使用額外的扇區(qū)來記錄分區(qū)信息,以使我們可以擁有超過4個的分區(qū)數(shù)量。
擴展分區(qū)本身并不能被用來格式化存儲數(shù)據(jù)。我們可以通過擴展分區(qū)所指向的那個區(qū)塊繼續(xù)存儲其它分區(qū)信息。從擴展分區(qū)中切割出來的分區(qū)叫做邏輯(Logical)分區(qū)。由于邏輯分區(qū)是由擴展分區(qū)繼續(xù)劃分出來的,所以邏輯分區(qū)可以使用的硬盤柱面范圍就是擴展分區(qū)所設(shè)置的范圍。
主分區(qū)、擴展分區(qū)和邏輯分區(qū)之間的關(guān)系如下圖所示:
圖中分區(qū)在Linux系統(tǒng)中的設(shè)備文件名分別如下:
P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
注意到這次的文件中不包含/dev/sda3和/dev/sda4。因為前四個號碼都是保留給主分區(qū)和擴展分區(qū)用的,邏輯分區(qū)的設(shè)備號碼只能由5開始。
下面我們對硬盤分區(qū)做一個總結(jié):
- 所謂的分區(qū)只是針對那個64字節(jié)的分區(qū)表進行設(shè)置而已;
- 硬盤默認的分區(qū)表僅能存儲四組分區(qū)信息,這四組分區(qū)可以是主分區(qū)或擴展分區(qū);
- 擴展分區(qū)最多只能有1個;
- 邏輯分區(qū)是由擴展分區(qū)二次劃分出來的分區(qū);
- 主分區(qū)和邏輯分區(qū)可以被格式化后存儲數(shù)據(jù),擴展分區(qū)不能被格式化。
BIOS&MBR
軟件是計算機的靈魂,沒有運行任何軟件的硬件是沒有用的,操作系統(tǒng)就是用來管理計算機中各個硬件的軟件。
但是在電腦開機前,操作系統(tǒng)也只是躺在硬盤上的一組數(shù)據(jù)而已,那么計算機要如何讀取操作系統(tǒng)文件并運行它呢?這就涉及到計算機的啟動程序了。
BIOS是寫入到計算機主板上的一個固件(固件就是寫入到硬件上的一個軟件程序)。這個BIOS就是計算機啟動的時候所執(zhí)行的第一個程序。BIOS會根據(jù)用戶的設(shè)置找到能夠啟動的設(shè)備(硬盤或U盤),如果啟動的設(shè)備是硬盤,BIOS會從該硬盤的第一個扇區(qū)中讀取MBR中的啟動引導(dǎo)程序。至此,BIOS的工作就結(jié)束了,節(jié)下來就是MBR內(nèi)的啟動引導(dǎo)程序的工作了。
MBR內(nèi)的啟動引導(dǎo)程序的任務(wù)就是加載操作系統(tǒng)內(nèi)核文件,這個啟動引導(dǎo)程序是操作系統(tǒng)在安裝的時候所提供的,所以它知道如何加載操作系統(tǒng)內(nèi)核。
接下來就是操作系統(tǒng)內(nèi)核開始接管計算機,啟動引導(dǎo)程序的任務(wù)至此也圓滿完成了。
整個啟動流程到操作系統(tǒng)之前的過程總結(jié)如下:
- BIOS:計算機啟動后會主動執(zhí)行的固件,它會找到一個可啟動的設(shè)備;
- MBR:位于可啟動設(shè)備的第一個扇區(qū)內(nèi)的一塊存儲空間,只有446字節(jié),用于存儲啟動引導(dǎo)程序;
- 啟動引導(dǎo)程序(boot loader):一個可以加載操作系統(tǒng)內(nèi)核文件的程序;
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209323 -
計算機
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87849 -
MBR
+關(guān)注
關(guān)注
0文章
12瀏覽量
11141
發(fā)布評論請先 登錄
相關(guān)推薦
評論