1,在Linux系統中,每個設備都被當成一個檔案對待,在linux系統中,幾乎所有的設備檔案都在/dev(device)這個目錄內,所以你會看到/dev/hda,/dev/fd0等的檔案名,下面的圖片可見常見的設備與其在Linux當中的檔案名,
對于SATA介面來說,由于SATA/USB/SCSI等磁盤介面都使用SCSI模塊來驅動,因此這些介面的磁盤設備檔案都是 /dev/sd[a-p]的格式,但是與IDE介面不同的是,SATA/USB介面的磁盤根本沒有一定的順序,怎么決定設備檔案名呢?這個時候依據的是Linux內核檢測到磁盤的順序了,

2,整個磁盤的第一個扇區特別重要,因為它記錄了整塊磁盤的重要資訊,主要有兩個比較重要的資訊:
1)主引導磁區MBR :可以安裝引導加載程式的地方,2)磁區表:記錄整塊硬碟磁區的狀態,磁區表在第一個磁區的第一片扇區里,大小為64bytes
需要注意的是MBR是很重要的,因為當系統雜開機的時候會主動去讀取這個區塊的內容,這樣系統才會知道你的程式放在哪里該如何進行開機,
3,這里要清楚windows系統中磁盤是怎么磁區的,(鳥哥私房菜P69)
1) 其實所謂的“磁區”只是針對那個64bytes的磁區表進行設定而已
2) 硬碟默認的磁區表僅能寫入四組磁區資訊
3) 磁區的最小單位為柱面
4)當系統要寫入磁盤時,一定會參考磁盤磁區表,才能針對某個磁區進行資料的處理,
4,第一扇區所在的磁區表只能記錄四套資料,我們可以利用額外的扇區來記錄更多的磁區資訊,擴展磁區的目的是使用額外的扇區來記錄磁區資訊,擴展磁區本身并不能被拿來格式化,
5,下面總結一下主磁區、擴展磁區、邏輯磁區的特性,
1)主磁區與擴展磁區最多可以有四個(硬碟的限制)
2)擴展磁區最多只能有一個
3)邏輯磁區是由擴展磁區持續切割出來的磁區,
4)只有主磁區和邏輯磁區可以格式化,而擴展磁區不可以,
5)邏輯磁區的數量依作業系統不同而變化,
6,開機時計算機還沒有任何軟體系統,那它讀取硬碟內的作業系統檔案的時候就牽涉到計算機的開機程式了,
7,BIOS就是開機的時候計算機系統會主動執行的第一個程式,(BIOS是一個寫入到主板上的一個韌體,再次說明,韌體就是寫入到硬體上的一個軟體程式,CMOS是記錄各項硬體引數且嵌入在主板上面的存盤器),BIOS會分析計算機里面有哪些存盤設備,我們以硬碟為例,BIOS會依據用戶的設定去取得能夠開機的硬碟,并且到該硬碟里面去讀取第一個扇區的MBR位置,MBR這個僅有446bytes的硬碟容量里面會放置最基本的引導加載程式,此時BIOS就功成圓滿,接下來就是MBR內的引導加載程式作業了,
這個引導加載程式的目的是在加載(load)內核檔案,引導和加載程式時作業系統在安裝的時候所提供的,所以它會識別硬碟內的檔案系統格式,接下來就是內核程式的作業時間,
下面總結一下整個開機流程與作業系統之前的動作:
1)BIOS:開機主動執行的韌體,會認識第一個可開機的設備
2)MBR:第一個可開機設備的第一個扇區內的主引導磁區塊,內包含引導加載程式
3)引導加載程式(Boot loader):一個可讀取內核檔案來執行的軟體
4)內核檔案:開始作業系統的功能
8,boot loader這個程式的主要任務是:
1)提供選單:用戶可以選擇不同的開機選項,這也是多重引導的重要功能
2)載入內核檔案:直接指向可開機的程式區段來開始作業系統
3)轉交其他loader:將引導加載功能轉交給其他loader負責
特別需要注意的是第三點,如果一個電腦裝了雙系統,就很好理解這一點,引導加載程式除了可以安裝在MBR之外,還可以安裝在每個磁區的引導扇區,下面的例子可以很好的理解,
9,安裝雙系統需要先安裝windows,在安裝linux,原因在(鳥哥的私房菜P74)
10,檔案系統與目錄樹的關系
掛載就是利用一個目錄當成進入點,將磁盤磁區的資料放置在該目錄下,也就是說進入該目錄就可以讀取該磁區的意思,這個操作稱為掛載,那個進入點的目錄我們稱為掛載點,整個Linux系統最重要的是根目錄,因此根目錄一定需要掛載到某個磁區的,其他的目錄可以根據需求掛載到不同的磁區,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/264179.html
標籤:其他
上一篇:Android 中導航欄文字居中
