Linux主分割槽,擴充套件分割槽,邏輯分割槽的聯絡和區別
基本概念
硬碟分割槽有三種,主磁碟分割槽、擴充套件磁碟分割槽、邏輯分割槽。 一個硬碟主分割槽至少有1個,最多4個,擴充套件分割槽可以沒有,最多1個。且主分割槽+擴充套件分割槽總共不能超過4個。邏輯分割槽可以有若干個。 在windows下啟用的主分割槽是硬碟的啟動分割槽,他是獨立的,也是硬碟的第一個分割槽,正常分的話就是C區。 在linux下主分割槽和邏輯分割槽都可以用來放系統,引導os開機,grub會相容windows系統開機啟動。 分出主分割槽後,其餘的部分可以分成擴充套件分割槽,一般是剩下的部分全部分成擴充套件分割槽,也可以不全分,那剩的部分就浪費了。 但擴充套件分割槽是不能直接用的,他是以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 Flask,flask_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》明白了一些,以下圖片摘自這本書 一、理解一個傳輸流再去擴展 用
@芥末的糖 ---------- MVC,MVP,MVVM的聯絡和區別
一,概述 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個嬰兒,請問下一個
jdk,jre,jvm三者的聯絡和區別
三者聯絡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 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!