1. 程式人生 > >Linux主分割槽,擴充套件分割槽,邏輯分割槽的聯絡和區別

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 ,完成後如圖。確認設定後的分割區。

 分割槽介面

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

/             根目錄         ext3        hda1    

/home    使用者目錄        ext3        hda2

Swap     交換分割槽        swap       hda3

對hda1的解釋:

hd:IDE硬碟。如果是SCSI硬碟,則為sd,這個只能記住,沒有更好的辦法。

a:: 第一塊硬碟。如果是第二塊硬碟,則為b,依此類推c,d……

1: 主分割槽。其中1,2,3,4都是主分割槽(或擴充套件分割槽, 主分割槽+擴充套件分割槽<=4, 這是因為硬碟有64位元組描述分割槽,每一個佔用16位元組),從第5開始為邏輯分割槽,最大到16,新的Linux版本無限制

磁碟容量與主分割槽、擴充套件分割槽、邏輯分割槽的關係:

硬碟的容量=主分割槽的容量+擴充套件分割槽的容量

擴充套件分割槽的容量=各個邏輯分割槽的容量之和

一塊物理硬碟只能有: 一到四個主分割槽(但其中只能有一個是活動的主分割槽),或一到三個主分割槽,和一個擴充套件分割槽。分別對應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,又按照上面的設定分配磁碟空間。這樣就沒有擴充套件分割槽了。

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

[[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表示!


相關推薦

Linux分割槽擴充套件分割槽邏輯分割槽聯絡區別

基本概念 硬碟分割槽有三種,主磁碟分割槽、擴充套件磁碟分割槽、邏輯分割槽。 一個硬碟主分割槽至少有1個,最多4個,擴充套件分割槽可以沒有,最多1個。且主分割槽+擴充套件分割槽總共不能超過4個。邏輯分割槽可以有若干個。 在windows下啟用的主分割槽是硬碟的啟

Linux執行緒接收資料子執行緒分別對其操作後輸出

本例子雖小,但是融合的執行緒同步,執行緒回收和訊號量的知識。 需要注意pthread_join()和pthread_exit()的用法和區別: pthread_join一般是主執行緒來呼叫,用來等待子執行緒退出,因為是等待,所以是阻塞的,一般主執行緒會依次join所有它建立

7.圖片上傳擴充套件屬性規格

1    商品新增 1.1    圖片上傳  基本知識點:   檔案上傳頁面三要素: 1、    form表單提交方式一定是post 2、    form表

Python Flaskflask_script擴充套件指令碼擴充套件命令列。命令列中啟動Flask

  安裝flask_script包: pip install Flask-Script   demo.py(flask_script): # coding:utf-8 from flask import Flask from flask_script impor

直播APP開發擴充套件類庫使用者、會話第三方登入整合

直播APP開發擴充套件類庫使用者、會話和第三方登入整合,允許我將些擴充套件類庫進行開源。原來此類庫的功能只是當前開發專案中的功能,我現將其抽離成可配置使用的擴充套件類庫,以供大家共享。 此類庫主要特點有: 1、可以和第三方登入整合,包括:微信登入、微博登入、QQ登入 2

C#知識點總結(靜態類擴充套件方法TryParse用法)

打算把部落格搬到CSDN上面來了,以前一直部落格園寫,寫得到後面沒什麼激情了,不過呢,在CSDN上面可能沒太多的朋友,因為自己是搞.NET的,CSDN上面C和JAVA的多些,不過我還是打算再這裡開始我的.NET部落格之旅。畢竟,這裡是CSDN,就算上不了首頁,也有瀏覽量啊。

http協議tcp協議ip協議dns服務之前的關系區別

ip協議 服務器 基本 log 標記 理解 增加 更改 過程 長期以來都有一個問題,大家都在說http協議,tcp協議,ip協議,他們之間到底什麽區別,有什麽用,沒人告訴我,最近看了這本《圖解http》明白了一些,以下圖片摘自這本書 一、理解一個傳輸流再去擴展 用

@芥末的糖 ---------- MVCMVPMVVM的聯絡區別

一,概述   MVC是MVP和MVVM模式的基礎,這兩種模式更像MVC模式的優化改良。 二,MVVM    MVVM與MVC最大的區別就是:它實現了View和Model的自動同步,也就是當Model的屬性改變時,我們不用再自己手動操作Dom元素,來改變View的顯示,而是改變屬性後該屬性對應V

3D空間中的視野世界檢視投影,World,View,Projection的作用區別

D3D11_VIEWPORT vp; vp.Width = (FLOAT)m_bufferWidth; vp.Height = (FLOAT)m_bufferHeight; vp.MinDepth = 0.0f; vp.MaxDepth = 1.0f; vp.TopLeftX = 0; vp

java同步非同步阻塞非阻塞的聯絡區別

所謂同步就是一個任務的完成需要依賴另外一個任務時,只有等待被依賴的任務完成後,依賴的任務才能算完成,這是一種可靠的任務序列。要麼成功都成功,失敗都失敗,兩個任務的狀態可以保持一致。而非同步是不需要等待被依賴的任務完成,只是通知被依賴的任務要完成什麼工作,依賴

影象分類物體檢測語義分割例項分割的聯絡區別

The task of labeling semantic objects in a scene requires that each pixel of an image be labeled as belonging to a category, such as sky, chair, floor, st

Http協議中主要常見的傳送資料到伺服器有哪兩種方式這兩種方式的特點區別以及其在Http協議中的位置

Get 和 Post 的區別兩點: 一、這兩者傳遞引數時所用的編碼不一定是一樣的。在 Tomcat 中似乎 Get 的編碼方式是根據頁面中指定的編碼方式,而 Post 則是一直使用同一種編碼方式,可在 Tomcat 的 server.xml 中配置。 二、使用 Get 的時候,引數會顯示在位址列上,而 Po

泊松分佈指數分佈介紹以及其聯絡區別

一、泊松分佈日常生活中,大量事件是有固定頻率的。某醫院平均每小時出生3個嬰兒某公司平均每10分鐘接到1個電話某超市平均每天銷售4包xx牌奶粉某網站平均每分鐘有2次訪問它們的特點就是,我們可以預估這些事件的總數,但是沒法知道具體的發生時間。已知平均每小時出生3個嬰兒,請問下一個

jdkjrejvm三者的聯絡區別

三者聯絡Java 喊出的帶有標誌性的口號“ Write Once , Run Anywhere (一次編寫,到處執行)”,正是建立在 JRE 的基礎之上。何以實現?就是在 Java 應用程式和作業系統之間增加了一虛擬層-- JRE 。程式原始碼不是直 接編譯、連結成機器程式碼,而是先轉化到位元組碼( byte

cookie、session的聯絡區別多臺web伺服器如何共享session?

cookie在客戶端儲存狀態,session在伺服器端儲存狀態。但是由於在伺服器端儲存狀態的時候,在客戶端也需要一個標識,所以session也可能要藉助cookie來實現儲存標識位的作用。 cookie包括名字,值,域,路徑,過期時間。路徑和域構成cookie的作用範圍。c

類(class)抽象類(abstract) 介面(interface)的關係區別

抽象類: 抽象類不能被例項化 抽象類可以不包含抽象類, 但是有抽象類的方法一定是抽象類 任何子類必須重寫父類的抽象方法, 或者自己也是抽象類 抽象類中的抽象方法只是宣告,不包含

持續整合持續交付持續部署聯絡區別

iOS持續部署整合Jenkins或者Travis 部署蒲公英或者fir.im 極限程式設計的一種,總結ing… 經常會聽到持續整合,持續交付,持續部署,三者究竟是什麼,有何聯絡和區別呢? 假如把開發工作流程分為以下幾個階段: 編碼 -> 構建 -

機器學習之SVM與邏輯迴歸的聯絡區別

  通常說的SVM與邏輯迴歸的聯絡一般指的是軟間隔的SVM與邏輯迴歸之間的關係,硬間隔的SVM應該是與感知機模型的區別和聯絡。而且工程中也不能要求所有的點都正確分類,訓練資料中噪聲的存在使得完全正確分類很可能造成過擬合。   軟間隔SVM與邏輯迴歸的聯絡   要說軟間隔SVM與聯絡就要看軟間隔SVM的緣由。

Linux檔案軟連結與硬連結的聯絡區別

在Linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配一個編號,稱為索引節點號inode 。軟連線,其實就是新建立一個檔案,這個檔案就是專門用來指向別的檔案的(那就和windows 下的快捷方式的那個檔案有很接近的意味)。軟連結產生的是一個新的檔案,但這個

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

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!