Linux主分區,擴展分區,邏輯分區的聯繫和區別

基本概念

硬盤分區有三種, 主磁盤分區、擴展 磁盤分區、 邏輯分區
一個 硬盤 主分區至少有1個,最多4個,擴展分區能夠沒有,最多1個。且 主分區+擴展分區總共不能超過4個。 邏輯分區能夠有若干個。
在windows下激活的 主分區硬盤啓動分區,他是獨立的,也是硬盤的第一個分區,正常分的話就是C區。 在linux下 主分區邏輯分區均可以用來放系統,引導os開機,grub會兼容windows系統開機啓動。
分出 主分區後,其他的部分能夠分紅擴展分區,通常是剩下的部分所有分紅擴展分區,也能夠不全分,那剩的部分就浪費了。
但擴展分區是不能直接用的,他是以 邏輯分區的方式來使用的,因此說擴展分區可分紅若干邏輯分區。他們的關係是包含的關係,全部的 邏輯分區都是擴展分區的一部分。
在linux中第一塊 硬盤分區爲hda分區, 主分區編號爲hda1-4, 邏輯分區從5開始。
硬盤的容量= 主分區的容量+擴展分區的容量
擴展分區的容量=各個 邏輯分區的容量之和
主分區也可成爲「 引導分區」,會被 操做系統和主板認定爲這個 硬盤的第一個分區。因此C盤永遠都是排在全部 磁盤分區的第一的位置上。
MBR( 主引導記錄)的 分區表主分區表)只能存放4個分區,若是要分更多的分區的話就要一個擴展分區表( EBR),擴展分區表放在一個系統ID爲0x05的主分區上,這個主分區就是擴展分區,擴展分區能能夠分若干個分區,每一個分區都是個 邏輯分區

2擴展分區和邏輯分區

DOS和FAT文件系統最初都被設計成能夠支持在一塊 硬盤上最多創建24個分區,分別使用從C到Z 24個驅動器盤符。可是 主引導記錄中的 分區表最多隻能包含4個分區記錄,爲了有效地解決這個問題,DOS的分區命令FDISK容許用戶建立一個擴展分區,而且在擴展分區內再創建最多23個 邏輯分區,其中的每一個分區都單獨分配一個盤符,能夠被計算機做爲獨立的 物理設備使用。關於 邏輯分區的信息都被保存在擴展分區內,而 主分區和擴展分區的信息被保存在 硬盤的MBR內。這也就是說不管 硬盤有多少個分區,其主 啓動記錄中只包含 主分區(也就是 啓動分區)和擴展分區兩個分區的信息。
 

 

 

 

在安裝CentOS5.3的過程當中,會遇到磁盤分區的界面,下拉式菜單中有4個選項,這時你不要選擇默認,打開下拉式菜單,選擇最後一項(翻譯成中文意思是:創建自定義的分割模式)。而後選擇右下角的確認,在下一個對話界面裏依序創建/、/home 及 swap ,完成後如圖。確認設置後的分割區。html

 分區界面

爲強調重點,把圖中重要內容,再寫一遍。linux

 

/             根目錄         ext3        hda1    git

/home    用戶目錄        ext3        hda2windows

Swap     交換分區        swap       hda3服務器

 

對hda1的解釋:數據結構

hd:IDE硬盤。若是是SCSI硬盤,則爲sd,這個只能記住,沒有更好的辦法。工具

a:: 第一塊硬盤。若是是第二塊硬盤,則爲b,依此類推c,d……oop

1: 主分區。其中1,2,3,4都是主分區(或擴展分區, 主分區+擴展分區<=4, 這是由於硬盤有64字節描述分區,每個佔用16字節),從第5開始爲邏輯分區,最大到16,新的Linux版本無限制post

 

磁盤容量與主分區、擴展分區、邏輯分區的關係:測試

硬盤的容量=主分區的容量+擴展分區的容量

擴展分區的容量=各個邏輯分區的容量之和

 

一塊物理硬盤只能有: 一到四個主分區(但其中只能有一個是活動的主分區),或一到三個主分區,和一個擴展分區。分別對應hda1,hda2,hda3,hda4.

 

Linux 中規定,每個硬盤設備最多能有 4 個主分區(其中包含擴展分區)構成,任何一個擴展分區都要佔用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最可能是 4 個。

 

我曾經的困惑點是:不知道擴展分區要佔用主分區(最多能夠有4個)一個分區號碼。

 

個人總結:一塊硬盤能夠只設主分區,這時主分區可設置4個分區號。也能夠設置成主分區+邏輯分區,這時也是最多4個分區號碼,可是變成了4 = 3 + 1.其中4是主分區和擴展分區加起來最多4個;  3是主分區,能夠小於或等於3;  1是擴展分區號,佔用了一個主分區號。從5開始到16,都是邏輯分區。若是隻有一個5,則擴展分區再也不進行分區了,那麼擴展分區就是邏輯分區了(擴展分區的磁盤總量等於一個邏輯分區的磁盤總量)。常見的是擴展分區被分紅幾個邏輯分區,用5,6,7,8等號碼標識。

 

再來理解上面的分區:

/            根目錄         ext3        hda1     活動主分區,啓動OS

/home    用戶目錄        ext3        hda2     主分區

swap     交換分區        swap       hda3     主分區

此處可能暗示有一個擴展分區,其應爲hda4。由於這樣後面還能夠設hda5,hda6,……

也可能就只有3個主分區(最多能夠有4個)已佔滿磁盤容量。

假設如今你的Linux操做系統磁盤空間只有16000M,又按照上面的設置分配磁盤空間。這樣就沒有擴展分區了。

 

 

 

硬盤分區備忘(主分區,擴展分區和邏輯分區)以及Linux硬盤分區工具parted 介紹

咱們知道硬盤的第一個扇區也就是第0扇區是用來存放主引導記錄(MBR)的,所以也稱MBR扇區。一個扇區是512字節,所以MBR的大小也是512字 節,其具體數據結構是:446個字節的引導代碼、64個字節的分區表及2個字節的簽名值"55AA"。因爲MBR的分區表只有64個字節,這決定了它只能 存儲4個分區記錄。這就是爲何一塊硬盤最多隻能有4個「主分區"的緣由。記住,「主分區」就是指記錄在主引導記錄MBR分區表中的分區,除此以外主分區 並沒有特別之處,可是過去的一些老操做系統每每不能安裝在主分區以外的分區上,因此,主分區也貼上「專門用來安裝操做系統」的標籤。

我 們已經知道了MBR中的分表區只能存放4個分區(即4個主分區),那系統是如何劃分出4個以上的分區的呢?一種直白而簡單的思路就是把其中一個主分區再進 行細分,衍生出一個二級分區表。對的,這個被用來二次分區的主分區就是「擴展分區」,它下面的二級分區就是「邏輯分區」。

 

關於如何在Linux下如何使用parted工具時行分區,這裏轉載一篇文章, 講解的很是清晰. 原文出處:http://dngood.blog.51cto.com/446195/647702/

 

一 關鍵詞

MBR和2TB的限制
在使用fdisk創建分區時,咱們最大隻能創建2TB大小的分區,若是你的磁盤(陣列)大於2TB,只能經過劃分多個分區的方法才能充分利用磁盤容量,這對於使用小於2TB分區的朋友沒啥影響,但對於使用大於2TB分區(好比5TB的分區)的朋友就會遇到問題了,要突破這個限制;咱們先來了解下MBR(Master Boot Record)和GPT(GUID Partition Table).


MBR 
主引導記錄(Master Boot Record,縮寫:MBR),又叫作主引導扇區,是計算機開機後訪問硬盤時所必需要讀取的首個扇區,它在硬盤上的三維地址爲(柱面,磁頭,扇區)=(0,0,1)。

MBR是由分區程序(如Fdisk,Parted)所產生的,它不依賴任何操做系統,並且硬盤引導程序也是能夠改變的,從而可以實現多系統引導。

從主引導記錄的結構能夠知道,它僅僅包含一個64個字節的硬盤分區表。因爲每一個分區信息須要16個字節,因此對於採用MBR型分區結構的硬盤(其磁盤卷標類型爲MS-DOS),最多隻能識別4個主要分區。因此對於一個採用此種分區結構的硬盤來講,想要獲得4個以上的主要分區是不可能的。這裏就須要引出擴展分區了。擴展分區也是主分區(Primary partition)的一種,但它與主分區的不一樣在於理論上能夠劃分爲無數個邏輯分區,每個邏輯分區都有一個和MBR結構相似的擴展引導記錄(EBR)。
在MBR分區表中最多4個主分區或者3個主分區+1個擴展分區,也就是說擴展分區只能有一個,而後能夠再細分爲多個邏輯分區。
在Linux系統中,硬盤分區命名爲sda1-sda4或者hda1-hda4(其中a表示硬盤編號多是a、b、c等等)。在MBR硬盤中,分區號1-4是主分區(或者擴展分區),邏輯分區號只能從5開始。
在MBR分區表中,一個分區最大的容量爲2T,且每一個分區的起始柱面必須在這個disk的前2T內。你有一個3T的硬盤,根據要求你至少要把它劃分爲2個分區,且最後一個分區的起始扇區要位於硬盤的前2T空間內。若是硬盤太大則必須改用GPT。



GPT 
全局惟一標識分區表(GUID Partition Table,縮寫:GPT)是一個實體硬盤的分區結構。它是EFI(可擴展固件接口標準)的一部分,用來替代BIOS中的主引導記錄分區表。但由於MBR分區表不支持容量大於2.2TB(2.2 × 1012字節)的分區,因此也有一些BIOS系統爲了支持大容量硬盤而用GPT分區表取代MBR分區表。

在MBR硬盤中,分區信息直接存儲於主引導記錄(MBR)中(主引導記錄中還存儲着系統的引導程序)。但在GPT硬盤中,分區表的位置信息儲存在GPT頭中。但出於兼容性考慮,硬盤的第一個扇區仍然用做MBR,以後纔是GPT頭。

與 支持最大卷爲2 TB(Terabytes)而且每一個磁盤最多有4個主分區(或3個主分區,1個擴展分區和無限制的邏輯驅動器)的MBR磁盤分區的樣式相比,GPT磁盤分 區樣式支持最大卷爲18 EB(Exabytes)而且每磁盤的分區數沒有上限,只受到操做系統限制(因爲分區表自己須要佔用必定空間,最初規劃硬盤分區時,留給分區表的空間決定 了最多能夠有多少個分區,IA-64版Windows限制最多有128個分區,這也是EFI標準規定的分區表的最小尺寸)。與MBR分區的磁盤不一樣,相當 重要的平臺操做數據位於分區,而不是位於非分區或隱藏扇區。另外,GPT分區磁盤有備份分區表來提升分區數據結構的完整性。


EFI 
可 擴展固件接口(英文名Extensible Firmware Interface 或EFI)是一種我的電腦系統規格,用來定義操做系統與系統韌體之間的軟件界面,爲替代BIOS的升級方案。可擴展固件接口負責加電自檢(POST)、連 系操做系統以及提供鏈接操做系統與硬件的接口。
EFI最初由英特爾開發,現時由UEFI論壇來推廣與發展。


UEFI 
是由EFI1.10爲基礎發展起來的,它的全部者已再也不是Intel,而是一個稱做Unified EFI Form的國際組織,貢獻者有Intel,Microsoft,AMI,等幾個大廠,屬於open source,目前版本爲2.1。

 

 

二 建立一個大於2TB的分區

MBR 與 GPT,都是分區格式,其中MBR最大分區小於等於2TB,而GPT分區沒有2TB的限制,理論最大分區18 EB!

如今咱們知道了要建立一個大於2TB的分區,就不能使用MBR 格式的分區表了,而要使用GPT格式的分區表,咱們最經常使用的fdisk 分區工具就心有餘而力不足了,須要使用linux 下的Parted分區工具!

測試環境爲:

Dell R710  2u 服務器

cpu 2* XEON 5606 

mem 16G

disk 6*1TB sas 7200rpm

raid raid level 5  perc 6i卡

rhel 6 64bit ,建立一個4TB大小分區

下面正式開始分區:

1 在使用parted 分區以前,咱們先用fdisk -l 來查看下硬盤信息!

 

2 上邊的信息咱們知道 /dev/sdb 4.6TB,如今使用parted 命令,以下圖。

 

3 進入parted 後,執行2,3,4,5,6,7,8,9,10,10,11步驟,指令下邊有解釋!

 

4 分區完成後使用print 能夠看到剛纔分區的信息!大小 4684GB

 

5 quit 用於退出parted環境,信息提示更新/etx/fstab!

 

6 再用fdisk -l 來查看下 sdb硬盤,如今已經有sdb1 分區了,注意system gpt!

 

7 parted 到這裏就完成了!

 

下面格式化/dev/sdb1 文件系統爲EXT4:

1 執行 mkfs.ext4 /dev/sdb1 一路回車便可!

 

更新/etc/fstab :

1.使用blkid 查看分區的uuid 以下圖,複製新分區/dev/sdb1的 UUID

2 將 /dev/sdb1的 UUID 添加到 /etc/fstab,/dev/sdb1 掛載在 /data 目錄下!

3 至此所有完成, 下面檢查一下!

mount -a 從新掛載 /etc/fstab 文件中的記錄!

mount 能夠發現 /dev/sdb1 已經掛載到 /data 目錄下了!

df -h 發現 /data 4.2TB

 

三 詳細介紹下Parted命令

[root@abintel ~]# parted --help
用法:parted [選項]... [設備 [命令 [參數]...]...]
將帶有「參數」的命令應用於「設備」。若是沒有給出「命令」,則以交互模式運行。

選項:
-h, --help                    顯示此求助信息
-i, --interactive             在必要時,提示用戶
-s, --script                  從不提示用戶
-v, --version                 顯示版本

命令:
檢查 MINOR                   對文件系統進行一個簡單的檢查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR      將文件系統複製到另外一個分區
help [COMMAND]                打印通用求助信息,或關於 COMMAND 的信息
mklabel 標籤類型              建立新的磁盤標籤 (分區表)
mkfs MINOR 文件系統類型       在 MINOR 建立類型爲「文件系統類型」的文件系統
mkpart 分區類型 [文件系統類型] 起始點 終止點      建立一個分區
mkpartfs 分區類型 文件系統類型 起始點 終止點 建立一個帶有文件系統的分區
move MINOR 起始點 終止點      移動編號爲 MINOR 的分區
name MINOR 名稱               將編號爲 MINOR 的分區命名爲「名稱」
print [MINOR]                 打印分區表,或者分區
quit                          退出程序
rescue 起始點 終止點          挽救臨近「起始點」、「終止點」的遺失的分區
resize MINOR 起始點 終止點    改變位於編號爲 MINOR 的分區中文件系統的大小
rm MINOR                      刪除編號爲 MINOR 的分區
select 設備                     選擇要編輯的設備
set MINOR 標誌 狀態           改變編號爲 MINOR 的分區的標誌

注意

mklabel label-type 必須是一下這些類型:

* bsd

* loop (raw disk access)

* gpt

* mac

* msdos

* pc98

* sun

例:(parted) mklabel gtp 或者 (parted) mklabel msdos

 

mkpart(創建新分區)

格式:mkpart part-type fs-type start end  

創建一個新的分區

part-type是如下類型之一 primary(主分區), extended(擴展分區), logical(邏輯分區)。

fs-type來指定文件系統,好比ext4 。

start和end是新分區開始和結束的具體位置。0表示起止,-1表示結尾;或者以mb表示或者GB表示!

 
分類:  Linux
 
好文要頂  關注我  收藏該文   
0
0
 
 
 
posted @  2013-12-02 23:41 alxe_yu 閱讀(11593) 評論(0)  編輯 收藏
相關文章
相關標籤/搜索