歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 【主機規劃與磁盤分區】 磁盤分區 MBR

【主機規劃與磁盤分區】 磁盤分區 MBR

日期:2017/2/28 14:22:25   编辑:Linux教程

磁盤連接的方式與設備文件名的關系
主流的磁盤接口為SATA接口。
SATA/USB/SCSI等磁盤接口都是使用SCSI模塊來驅動的,因此這些接口的磁盤設備文件名都是/dev/sd[a-p]的格式。順序需要根據Linux內核檢測到磁盤的順序來決定。

比如PC上面有兩個SATA磁盤以及一個USB磁盤,而主板上面有6個SATA的插槽。這兩個SATA磁盤分別安插在轉的SATA1 SATA5接口上,請問這三個磁盤在Linux中的設備文件名是什麼?
1.SATA1插槽上的文件名 /dev/sda
2.SATA2插槽上的文件名 /dev/sdb
3.USB磁盤(開機完成後才被系統識別) /dev/sdc

磁盤的組成復習
磁盤數據的寫入實際上是在盤片上面。盤片上面又可以細分出扇區(Sector)與柱面(Cylinder)兩種單位,其中扇區每個為512bytes那麼大。

每塊磁盤的第一個扇區特別重要,因為它記錄了整塊磁盤的兩個重要信息:
①主引導分區(Master Boot Record MBR):可以安裝引導加載程序的地方,有446 bytes
②分區表(partition table):記錄整塊硬盤分區的狀態,有64bytes

MBR是很重要的,因為系統在開機的時候會主動去讀取這個區塊的內容,這樣系統才會知道你的程序放在哪裡且該如何進行開機。如果你要安裝多重引導的系統 MBR這個區塊的管理就非常重要了。
分區表記錄磁盤的分區情況,在下面介紹。

磁盤分區表(partition table)
柱面是文件系統的最小單位,也就是分區的最小單位。我們就是利用參考柱面號碼的方式來處理,在分區表所在的64bytes容量中,總共分為四組記錄區,每組記錄區記錄了該區段的起始與結束的柱面號碼。

假設上面的硬盤設備文件名是是/dev/hda時,那麼這四個分區在Linux系統中的設備文件名如下所示:
P1:/dev/hda1
P2:/dev/hda2
P3:/dev/hda3
P4:/dev/hda4

由於分區表的容量限制,最多只能容納四個分區。這四個分區被稱為主(Primary)或者擴展(Extended)分區。
請注意以下信息:
①其實所謂的”分區”只是針對那個64bytes的分區表進行設置而已。
②硬盤默認的分區表僅能寫入四組分區信息。
③這四組分區信息我們稱為主(Primary)和擴展(Extended)分區。
④分區的最小單位為柱面(cylinder)。

當系統要寫入磁盤時,一定會參考磁盤分區表,才能針對某個分區進行數據的處理。

為什麼”分區”?
原因①:數據的安全性
原因②:系統的性能考慮

雖然分區表只能記錄四個分區,但是不代表我們最多只能分區四個。既然第一個扇區所在的分區表只能記錄四個數據,那可以利用額外的扇區來記錄更多的分區信息。
擴展分區的目的是使用額外的扇區來記錄分區信息,擴展分區本身並不能被拿來格式化。但是我們可以通過擴展分區所指向的那個區塊繼續做分區記錄。

由擴展分區繼續切出來的分區稱為邏輯分區(logical partition)。由於邏輯分區是由擴展分區繼續分區出來的,所以它可以使用的柱面范圍就是擴展分區所設定的范圍。
需要注意的時,不管分區表的4個記錄用不用完,文件中1-4始終都是保留著呢。即使只用了一個主分區,擴展分區也是從5開始。

請注意以下信息:
①主分區與擴展分區最多可以有四個(硬盤的限制)。
②擴展分區最多只能有一個(操作系統的限制)。
③邏輯分區是由擴展分區持續切割出來的分區。
④能夠被格式化後作為數據訪問的分區為主分區和邏輯分區。擴展分區無法格式化。
⑤邏輯分區的數量依操作系統不同而不同。在Linux系統中,SATA硬盤最多有11個邏輯分區(5號到15號)

注意: 如果擴展分區被破壞,所有邏輯分區都將會被刪除。因為邏輯分區的信息都記錄在擴展分區裡面。

所以,如果一個硬盤的第一個扇區(就是MBR與partition table所在的扇區)物理壞掉了,那這個硬盤大概就沒有用了。

舉個例子
舉個栗子
假設PC上有兩塊硬盤,在第二塊硬盤(sdb)分出6個可用的分區,那麼每個分區在Linux系統下的設備文件名如何?

分法一: P+P+P+E的環境 (第四個做成擴展分區,擴展分區再分出3個邏輯分區)
可用的分區有:/dev/sdb(1,2,3,5,6,7)

分法二: P+E的環境
可用的分區有:/dev/sdb(1,5,6,7,8,9)

開機流程與主引導分區(MBR)
開機流程
CMOS:記錄各個硬件參數並且切入在主板上面的儲存器
BIOS:一個寫入到主板上的韌體。

BIOS是開機的時候計算機會主動執行的第一個程序。
接著BIOS會分析計算機裡面有哪些儲存設備,並且到硬盤裡面去讀取第一個扇區的MBR位置。 MBR這個僅有446bytes的硬盤容量裡面會放置最基本的引導加載程序。 接著MBR 識別硬盤內的文件系統格式,引導加載內核文件 ,進入操作系統。

簡單說開機步驟:
①BIOS:開機主動執行的韌體,會認識第一個可開機的設備。
②MBR:第一個可開機設備的第一個扇區內的主引導分區塊,內包含引導加載程序。
③引導加載程序(Boot loader):一支可讀取內核文件來執行的軟件。
④內核文件:開始操作系統的功能。

主引導分區(MBR)
Boot loader是操作系統安裝在MBR上面的一套軟件,這個程序小而完美。這個boot loader的主要任務有下面這些項目:
①提供菜單:用戶可以選擇不同的開機選項,這也是多重引導的重要功能。
②載入內核文件 :直接指向可開機的程序區段來開始操作系統。
③轉交其他loader:將引導加載功能轉交給其他loader負責。(多系統)

引導加載程序除了可以安裝在MBR之外,還可以安裝在每個分區的引導扇區(boot sector)

請注意一下信息:
①每個分區都擁有自己的啟動扇區(boot sector)
②實際可開機的內核文件是放置到各分區內的
③loader只會認識自己的系統分區內的可開機內核文件,以及其他loader而已
④loader可以直接指向或是間接將管理權轉交給另一個管理程序。

windows安裝程序會主動覆蓋掉MBR以及自己所在分區的啟動扇區 ,所以如果雙系統,最好先安裝windows再安裝linux。
(否則也可以用Linux的救援模式來挽救MBR)

Linux安裝模式下,磁盤分區的選擇(極重要)
目錄樹結構
整個Linux最重要的地方就是在與 目錄樹 結構。所謂的目錄樹結構是指 以根目錄(/)為主, 然後向下呈現分支狀的目錄結構的一種文件結構。 所有的文件都與目錄樹有關。

如何結合目錄樹的架構和磁盤內的數據,就要牽扯到”掛載”了。

文件系統與目錄樹的關系
利用一個目錄當成進入點, 將磁盤分區的數據放置在該目錄下。也就是說,進入該目錄就可以讀取該分區的意思。
這個操作稱為 掛載 ,那個進入點的目錄稱為 掛載點 。

根目錄一定需要掛載到某個分區

舉個例子
舉個栗子
partition1掛載到根目錄,partition2掛載到/home目錄。也就是說,我的數據放在/home內的各次目錄時,數據是放在partition2的。如果不是放在/home下面的目錄,那麼數據就會被放置到partition1。

安裝distributions時,掛載點與磁盤分區的規劃
安裝Linux時選擇自定義安裝(專家安裝)。

自定義安裝”Custom”
初次接觸linux:只要分區”/”和”swap”即可
建議分區的方法:預留一個備用的剩余磁盤容量。

選擇Linux安裝程序提供的默認硬盤分區方式
安裝Linux盡量不要選擇默認的Server安裝選項。

Copyright © Linux教程網 All Rights Reserved