1. 程式人生 > >硬碟分割槽備忘(主分割槽,擴充套件分割槽和邏輯分割槽)以及Linux硬碟分割槽工具parted 介紹

硬碟分割槽備忘(主分割槽,擴充套件分割槽和邏輯分割槽)以及Linux硬碟分割槽工具parted 介紹

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                我們知道硬碟的第一個扇區也就是第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。

 

二 使用fdisk建立分割槽(小於2TB)


如果我們要建立的分割槽不會超過2TB,我們可以使用傳統分割槽工具fdisk,讓我們以某機器為例,展示一下它的用法:


1. 使用fdisk -l命令檢視機器上安裝的硬碟資訊



上面的資訊告訴我們這臺機器擁有3塊硬碟,其中只有第一塊硬碟進行了分割槽,剩餘的兩塊尚未分割槽。


2,使用fdisk對某個硬碟進行分割槽

這裡我們展示的是對硬碟/dev/xvdc的分割槽操作,首先鍵入“fdisk /dev/xvdc”進入分割槽的嚮導模式:

1. 輸入n,表示要建立一個新的分割槽

2. 輸入p, 表示我們想要建立一個主分割槽

3. 直接回車,使用預設的起始柱面,也就是柱面1

4. 直接回車,使用預設的截止柱面,也就是柱面4894, 也就是說對於這塊硬碟,我們就建立一個分割槽,大小是整個磁碟。

5. 輸入w, 儲存分割槽表並退出



3. 格式化新建立的分割槽

是的,最後一步都是一樣的,對新建的分割槽進行格式化,這裡我們選擇ext4檔案系統。


mkfs.ext4 /dev/xvdc1


如果使用xfs檔案系統,使用命令:


mkfs.xfs /dev/xvdc1


注意:格式化時指定的是“分割槽”而不是硬碟!這裡的xvdc1顯然是硬碟xvdc的第一個分割槽,如果錯寫成xvdc就意味著要格式化整個硬碟


三 建立一個大於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命令

[[email protected] ~]# 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表示!




           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述