2狮辽、Linux主機(jī)規(guī)劃和硬盤分區(qū)

1、硬盤分區(qū)

1.1 硬盤設(shè)備名與主要組成部件

常見的硬盤類型有兩種:SATASAS

由于SATA/USB/SAS等硬盤都是使用SCSI模組來驅(qū)動(dòng)的隘竭,因此這些界面的硬盤設(shè)備文件名都是/dev/sd[ap]的格式塘秦。
硬盤設(shè)備名以Linux核心檢測到的硬盤順序來排序;(比如主板有6個(gè)SATA接口动看,SATA1接了一個(gè)硬盤尊剔,SATA5接了一個(gè)硬盤,USB接口接了一個(gè)U盤菱皆,那它們的設(shè)備名分別是:SATA1上的設(shè)備名為:/dev/sda须误、SATA5上的設(shè)備名為:/dev/sdb(而不是/dev/sde)、U盤的設(shè)備名為:/dev/sdc(開機(jī)后才會被系統(tǒng)識別到))仇轻;

各類硬件在Linux下的文件名如下圖:
Linux下各硬件的設(shè)備名

硬盤的組成主要有磁盤京痢、機(jī)械手臂、磁盤讀取頭與主軸馬達(dá)所組成篷店,資料是寫入在磁盤上面祭椰。磁盤上面又可細(xì)分出扇區(qū)(Sector)與磁道(Track)兩種單位,其中扇區(qū)的物理量設(shè)計(jì)有兩種大小疲陕,分別是512bytes與4Kbytes方淤。最小存儲單位是扇區(qū)(Sector);扇區(qū)組成的圓稱為磁道(Track)蹄殃,所有硬盤上面的同一個(gè)磁道可以組成一個(gè)柱面(Cylinder)携茂,柱面是分割硬盤時(shí)的最小單位。


硬盤主要組成部件
磁盤示意圖

SATA速度對比
Tips:

硬盤的第一個(gè)扇區(qū)記錄了整個(gè)硬盤的重要信息诅岩!如傳統(tǒng)的MBR(Master Boot Record)讳苦,以及GPT(GUID Partition Table)這兩種分區(qū)格式。

1.2 MBR與GPT硬盤分區(qū)表

  • MBR分區(qū)表格式與限制

MBR(Master Boot Record吩谦,主要開機(jī)記錄區(qū))鸳谜;
硬盤的第一個(gè)扇區(qū)存放著開機(jī)管理程序記錄區(qū)和分區(qū)表;這個(gè)扇區(qū)通常是512bytes的大小式廷,有以下兩個(gè)資料:
(1)主要開機(jī)記錄區(qū)(Master Boot Record卿堂,MBR):可以安裝開機(jī)管理程序的地方,有446 bytes懒棉;
(2)分區(qū)表(partition table):記錄整個(gè)硬盤分區(qū)的狀態(tài)草描,有64 bytes;

最多只能有四個(gè)分區(qū)記錄策严,即每個(gè)分區(qū)表僅為16bytes穗慕,每個(gè)分區(qū)表記錄了該區(qū)段的啟始與結(jié)束的柱面號碼。

MBR主分區(qū)妻导、擴(kuò)展分區(qū)與邏輯分區(qū)的定義:
  1. 主分區(qū)與擴(kuò)展分區(qū)最多可以有四個(gè)(硬盤的限制)逛绵;
  2. 擴(kuò)展分區(qū)最多只能有一個(gè)(操作系統(tǒng)的限制)怀各;
  3. 邏輯分區(qū)是由擴(kuò)展分區(qū)分割出來的分區(qū)(只要?jiǎng)h除擴(kuò)展分區(qū),所有的邏輯分區(qū)將被刪除)术浪;
  4. 只有主分區(qū)和邏輯分區(qū)可以被格式化瓢对,擴(kuò)展分區(qū)無法被格式化;
  5. 邏輯分區(qū)的數(shù)量在Linux中SATA硬盤可以突破63個(gè)以上的分區(qū)限制胰苏;
  6. /dev/sd[ap]1~4前面這四個(gè)號碼都是保留給Primary或Extended用的硕蛹;
  7. 邏輯分區(qū)的設(shè)備名號碼從5開始;
MBR分區(qū)表限制有如下問題:
  1. 操作系統(tǒng)無法識別到2.2T以上的硬盤容量硕并!
  2. MBR僅有一個(gè)區(qū)塊法焰,若被破壞后,經(jīng)常無法或很難搶救倔毙。
  3. MBR存放開機(jī)管理程序的區(qū)塊僅446bytes埃仪,無法容納較多的程序碼。
  • GUID partition table陕赃,GPT硬盤分區(qū)

過去的扇區(qū)大小是512bytes卵蛉,目前有4K的扇區(qū)設(shè)計(jì)。為了兼容所有的硬盤么库,會使用邏輯區(qū)塊地址(Logbical Block Address毙玻,LBA)來處理。GPT將硬盤所有區(qū)塊以此LBA(默認(rèn)為512bytes)來規(guī)劃廊散,而第一個(gè)LBA稱為LBA0。

與MBR僅使用第一個(gè)512bytes區(qū)塊來紀(jì)錄不同梧疲,GPT使用了34個(gè)LBA區(qū)塊來紀(jì)錄分區(qū)信息允睹。GPT除了前面34個(gè)LBA之外,整個(gè)磁盤的最后33個(gè)LBA也拿來作為另一個(gè)備份;系(MBR只有一個(gè)區(qū)塊缭受,被干掉就死光光)


GPT分區(qū)表的結(jié)構(gòu)示意圖
上述圖示說明如下:

? LBA0 (MBR 相容區(qū)塊)
與MBR模式相似的,這個(gè)相容區(qū)塊也分為兩個(gè)部份该互,一個(gè)就是跟之前446 bytes相似的區(qū)塊米者,儲存了第一階段的開機(jī)管理程序!而在原本的分區(qū)表的紀(jì)錄區(qū)內(nèi)宇智,這個(gè)相容模式僅放入一個(gè)特殊標(biāo)志的分區(qū)蔓搞,用來表示此硬盤為GPT格式之意。

? LBA1 (GPT 表頭紀(jì)錄)
這個(gè)部份紀(jì)錄了分區(qū)表本身的位置與大小及備份用的GPT 分區(qū)的位置(最后34個(gè)LBA區(qū)塊)随橘,同時(shí)放置了分區(qū)表的檢驗(yàn)機(jī)制碼(CRC32 )喂分,操作系統(tǒng)可以根據(jù)這個(gè)檢驗(yàn)碼來判斷GPT 是否正確。若有錯(cuò)誤机蔗,還可以通過這個(gè)紀(jì)錄區(qū)來獲取備份的GPT(硬盤最后的那個(gè)備份區(qū)塊) 來恢復(fù)GPT 的正常運(yùn)作蒲祈!

? LBA2-33 (實(shí)際紀(jì)錄分區(qū)信息處)
從LBA2區(qū)塊開始甘萧,每個(gè)LBA都可以紀(jì)錄4筆分區(qū)紀(jì)錄,總共可以有4*32 = 128筆記錄梆掸;每個(gè)LBA有512bytes扬卷,因此每筆紀(jì)錄為128 bytes,除了每筆紀(jì)錄所需要的識別碼與相關(guān)的紀(jì)錄之外酸钦,GPT在每筆紀(jì)錄中分別提供了64bits來記載開始/結(jié)束的磁區(qū)號碼怪得,因此,GPT分區(qū)表對于單一分區(qū)來說钝鸽,他的最大容量限制就會在『 2的64次冪 * 512bytes = 2的63次冪 * 1Kbytes = 2的33次冪 *TB = 8 ZB 』汇恤,要注意1ZB = 2的30次冪 TB;

Tips:
  1. GPT分區(qū)默認(rèn)可以提供128筆記錄拔恰;
  2. 目前Linux kernel通過udev等方式的處理因谎,已經(jīng)沒有單個(gè)硬盤最多只能分15個(gè)分區(qū)的限制!
  3. 此外颜懊,GPT分區(qū)已經(jīng)沒有所謂的主财岔、擴(kuò)展、邏輯分區(qū)的概念河爹,即每個(gè)分區(qū)都可以被格式化!
  4. fdisk這個(gè)軟件識別不了GPT匠璧,需要使用 gdisk 或者 parted 才行!
  5. Linux開機(jī)管理程序 grub1 識別不了GPT咸这,需要 grub2 以上版本夷恍;
  6. 是否能夠讀寫GPT格式與開機(jī)的檢測程序(即 BIOS 與 UEFI )有關(guān)!

1.3 開機(jī)流程中的BIOS與UEFI開機(jī)檢測程序

  • BIOS搭配MBR/GPT的開機(jī)流程

CMOS是記錄各項(xiàng)硬件參數(shù)且嵌入在主板上面的儲存器(在主板上使用一顆紐扣電池單獨(dú)供電)媳维,BIOS則是一個(gè)寫入到主板上的一個(gè)固件(再次說明酿雪,固件就是寫入到硬件上的一個(gè)軟件程序)。這個(gè)BIOS就是在開機(jī)的時(shí)候侄刽,電腦系統(tǒng)會主動(dòng)執(zhí)行的第一個(gè)程序指黎!

從開機(jī)到操作系統(tǒng)之前的簡要流程:

POST開機(jī)自檢> BIOS分析電腦存在哪些存儲設(shè)備>> 依據(jù)使用者的設(shè)置獲取可以正常開機(jī)的硬盤>>> 讀取硬盤的第一個(gè)扇區(qū)的MBR位置>>>> 接下來的工作交給MBR內(nèi)的開機(jī)程序>>>>> 載入核心文件。

這個(gè)開機(jī)管理程序的目的是載入(load)核心文件(開機(jī)管理程序由操作系統(tǒng)安裝時(shí)提供)州丹。

Tips:
  1. LBA0僅提供第一階段的開機(jī)管理程序醋安,如果使用grub的開機(jī)管理程序的話,需要額外分出一個(gè)BIOS boot分區(qū)墓毒。在CentOS中吓揪,這個(gè)分區(qū)通常占用2MB左右。

  2. BIOS也能夠從LBA0的MBR兼容區(qū)塊讀取第一階段的開機(jī)管理程序所计,只要開機(jī)管理程序能夠識別GPT磺芭,那么使用BIOS同樣可以讀取正確的操作系統(tǒng)核心。

  3. BIOS與MBR是硬件本身會支持的功能醉箕,至于Boot loader則是操作系統(tǒng)安裝在MBR上面的一套軟件钾腺。

  4. boot loader主要任務(wù)項(xiàng)目如下:
    (1)提供選單:使用者可以選擇不同的開機(jī)項(xiàng)目徙垫,這也是多系統(tǒng)的重要功能!
    (2)載入核心檔案:直接指向可開機(jī)的程序區(qū)段來開始操作系統(tǒng)放棒;
    (3)轉(zhuǎn)交其他loader:將開機(jī)管理功能轉(zhuǎn)交給其他loader負(fù)責(zé)姻报。

硬盤只有一個(gè)MBR,但是開機(jī)管理程序除了可以安裝在MBR之外间螟,還可以安裝在每個(gè)分區(qū)的開機(jī)扇區(qū)(boot sector)吴旋!這個(gè)特色才能造就『多系統(tǒng)』的功能。


Windows和Linux雙系統(tǒng)圖示
上圖總結(jié):
  1. 每個(gè)分區(qū)都擁有自己的開機(jī)扇區(qū)(boot sector)厢破;
  2. 圖中的系統(tǒng)分區(qū)為第一和第二分區(qū)荣瑟;
  3. 實(shí)際可開機(jī)的核心文件是放在各分區(qū)內(nèi)的;
  4. Loader只會認(rèn)識自己的系統(tǒng)分區(qū)內(nèi)的可開機(jī)核心文件摩泪,以及其他loader而已笆焰;
  5. Loader可直接指向或者是間接將管理權(quán)轉(zhuǎn)交給另一個(gè)管理程序。
Tips:

如果要安裝Windows+Linux雙系統(tǒng)见坑,最好先安裝Windows再安裝Linux嚷掠。因?yàn)長inux在安裝的時(shí)候,你可以選擇將開機(jī)管理程序安裝在MBR或者其它分區(qū)的開機(jī)扇區(qū)荞驴,而且loader可以手動(dòng)設(shè)置選單不皆,所以可以在Linux的boot sector里面加入Windows的開機(jī)選項(xiàng);Windows在安裝的時(shí)候熊楼,它的安裝程序會主動(dòng)覆蓋掉MBR以及自己所在的分區(qū)的開機(jī)扇區(qū)霹娄,沒有選擇的機(jī)會,也沒有選單功能鲫骗。

  • UEFI BIOS搭配GPT開機(jī)的流程

    UEFI (Unified Extensible Firmware Interface) 統(tǒng)一可擴(kuò)展固件接口犬耻,使用C語言編寫;(傳統(tǒng)的BIOS使用的是組合語言編寫)
    傳統(tǒng)BIOS與UEFI的區(qū)別如下圖:
    傳統(tǒng)BIOS與UEFI的區(qū)別

    由于過去cracker經(jīng)常借由BIOS開機(jī)階段來破壞系統(tǒng)挎峦,并取得系統(tǒng)的控制權(quán),因此UEFI加入了一個(gè)所謂的安全啟動(dòng)(secure boot)機(jī)制合瓢,這個(gè)機(jī)制代表著即將開機(jī)的作業(yè)系統(tǒng)必須要被UEFI所驗(yàn)證坦胶,否則就無法順利開機(jī)!微軟用了很多這樣的機(jī)制來管理硬件晴楔。加入這個(gè)機(jī)制后顿苇,許多的操作系統(tǒng),包括Linux可能無法順利開機(jī)税弃。此時(shí)纪岁,需要關(guān)閉UEFI的secure boot功能,才能進(jìn)入Linux则果。
Tips:
  1. 使用UEFI時(shí)建議依舊保留BIOS boot的分區(qū)支持幔翰;

  2. 為了與Windows兼容漩氨,并且提供給其它廠商使用的UEFI應(yīng)用程序存儲空間,必須要格式化一個(gè)vfat的文件系統(tǒng)遗增,大約提供512M到1G左右的容量叫惊,以便讓其他UEFI執(zhí)行。

  3. 開機(jī)管理程序與核心放置在硬盤開始前的2TB位置即可做修!/boot目錄的設(shè)備名變成/dev/sda3之后霍狰,不再是/dev/sda1。

1.4 Linux安裝模式下饰及,硬盤分區(qū)的選擇(極重要)

  • 目錄樹結(jié)構(gòu)(directory tree)

目錄樹結(jié)構(gòu)是以根目錄為主蔗坯,然后向下呈現(xiàn)分支狀的目錄結(jié)構(gòu)的一種檔案架構(gòu)。整個(gè)目錄樹架構(gòu)最重要的就是那個(gè)根目錄(root directory)燎含,這個(gè)根目錄的表示方法為一條斜線『 / 』宾濒。

Linux目錄樹相關(guān)性示意圖

比如想要獲取到mydata這個(gè)文件,就必須從根目錄開始找:/ >home >dmtsai >mydata瘫镇;最終的文件名為:/home/dmtsai/mydata

  • 文件系統(tǒng)與目錄樹的關(guān)系(掛載)

所謂的『掛載』就是利用一個(gè)目錄當(dāng)成進(jìn)入點(diǎn)鼎兽,將硬盤分區(qū)的資料放置在該目錄下;也就是說铣除,進(jìn)入該目錄就可以讀取該分區(qū)的意思谚咬。那個(gè)進(jìn)入點(diǎn)的目錄我們稱為『掛載點(diǎn)』。根目錄一定要掛載到某個(gè)分區(qū)尚粘,其它目錄則按需求掛載择卦。

目錄樹與分區(qū)之間的相關(guān)性

上圖中假設(shè)當(dāng)資料放置在 /home 目錄時(shí),資料是放置到partition2的郎嫁。

判斷某個(gè)文件在那個(gè)partition可透過反向追蹤秉继。如上圖/home/vbird/test,由test--> vbird--> home--> /泽铛,看那個(gè)『進(jìn)入點(diǎn)』先被查到那就是使用的進(jìn)入點(diǎn)了尚辑。

初次接觸Linux只要分『 / 』及『swap』即可,并預(yù)留備硬盤容量盔腔;

1.5 主機(jī)服務(wù)規(guī)劃與硬件的關(guān)系

  • NAT(達(dá)成IP分享器的功能):
    Linux NAT可以額外的安裝很多分析軟件杠茬,可以用來分析用戶端的連線,或者是用來控制帶寬與流量弛随,達(dá)到更公平的帶寬使用瓢喉。需要較好的網(wǎng)卡。

  • SAMBA(加入windows網(wǎng)上鄰居):
    Windows鄰居只能連接十個(gè)用戶舀透,使用SAMBA服務(wù)器可以將Linux加入Windows鄰居栓票,且不限連接數(shù)°倒唬可將 /home 獨(dú)立出來走贪。對網(wǎng)卡和硬盤容量有要求佛猛。

  • Mail(郵件服務(wù)器):
    可將/var獨(dú)立出來。也是對網(wǎng)卡和硬盤容量有要求厉斟。

  • Web(WWW服務(wù)器):
    CentOS使用Apache這套軟件來達(dá)成WWW網(wǎng)站的功能挚躯。CPU等級不能太低,最重要的是RAM擦秽!

  • DHCP(提供用戶端自動(dòng)獲取IP的功能):

  • FTP
    對網(wǎng)卡和硬盤容量有要求码荔。

重點(diǎn)回顧:
  1. 在Linux系統(tǒng)中,每個(gè)設(shè)備都被當(dāng)成一個(gè)文件來對待感挥,每個(gè)設(shè)備都會有設(shè)備名缩搅。

  2. 硬盤設(shè)備名通常分為兩種,實(shí)際SATA/USB設(shè)備名為/dev/sd[ap]触幼,而虛擬機(jī)的設(shè)備可能為/dev/vd[ap]硼瓣;

  3. 硬盤的第一個(gè)扇區(qū)主要記錄了兩個(gè)重要的信息,分別是: (1)主要開機(jī)記錄區(qū)(Master Boot Record, MBR):可以安裝開機(jī)管理程序的地方置谦,有446 bytes (1)分區(qū)表(partition table):記錄整個(gè)硬盤分區(qū)的狀態(tài)堂鲤,有64 bytes;

  4. 硬盤的MBR 分區(qū)方式中媒峡,主要與擴(kuò)展分割最多可以有四個(gè)瘟栖,邏輯分區(qū)的設(shè)備名號碼,一定由5號開始谅阿;

  5. 如果磁盤容量大于2TB 以上時(shí)半哟,系統(tǒng)會自動(dòng)使用GPT 分區(qū)方式來處理磁盤分區(qū)。

  6. GPT 分區(qū)已經(jīng)沒有擴(kuò)展與邏輯分區(qū)的概念签餐,你可以想像成所有的分區(qū)都是主分區(qū)寓涨!

  7. 某些操作系統(tǒng)要使用GPT 分區(qū)時(shí),必須要搭配UEFI 的新型BIOS 格式才可安裝使用氯檐。

  8. 開機(jī)的流程:BIOS-->MBR-->-->boot loader-->核心文件戒良;

  9. boot loader的功能主要有:提供選單、載入核心冠摄、轉(zhuǎn)交控制權(quán)給其他loader糯崎;

10.boot loader可以安裝的地方有兩個(gè),分別是MBR 與boot sector耗拓;

  1. Linux操作系統(tǒng)的文件使用目錄樹系統(tǒng)拇颅,與磁盤的對應(yīng)需要有『掛載』的動(dòng)作才行奏司;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乔询,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子韵洋,更是在濱河造成了極大的恐慌竿刁,老刑警劉巖黄锤,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異食拜,居然都是意外死亡鸵熟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門负甸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事蹬蚁〕谜” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵蚕捉,是天一觀的道長奏篙。 經(jīng)常有香客問我,道長迫淹,這世上最難降的妖魔是什么秘通? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮敛熬,結(jié)果婚禮上肺稀,老公的妹妹穿的比我還像新娘。我一直安慰自己荸型,他們只是感情好盹靴,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瑞妇,像睡著了一般稿静。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上辕狰,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天改备,我揣著相機(jī)與錄音,去河邊找鬼蔓倍。 笑死悬钳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的偶翅。 我是一名探鬼主播默勾,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼聚谁!你這毒婦竟也來了母剥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎环疼,沒想到半個(gè)月后习霹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炫隶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年淋叶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伪阶。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡煞檩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出栅贴,到底是詐尸還是另有隱情形娇,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布筹误,位于F島的核電站桐早,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厨剪。R本人自食惡果不足惜哄酝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祷膳。 院中可真熱鬧陶衅,春花似錦、人聲如沸直晨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勇皇。三九已至罩句,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間敛摘,已是汗流浹背门烂。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兄淫,地道東北人屯远。 一個(gè)月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像捕虽,于是被迫代替她去往敵國和親慨丐。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容