Linux的磁碟分割槽

2021-05-24 08:44:26 字數 4340 閱讀 7218

要掌握

linux磁碟分割槽,先了解一下硬碟的物理結構.

一、硬碟的物理結構

為了便於理解,可將硬碟看作乙個圓,它是堅硬金屬材料製成的塗以磁性介質的碟片,不同容量硬碟的碟片數不等.每個盤有兩面,都可記錄資訊.要了解硬碟的物理結構,需要弄懂磁軌、扇區、柱面、簇等幾個概念.

磁軌:上圖中硬碟被一圈圈分成18等分的同心圓,這些同心圓就是磁軌.但開啟

硬碟,使用者不能看到這些,它實際上是被磁頭磁化的同心圓.這些磁軌是

有間隔的,因為磁化單元太近會產生干擾.

扇區:每個磁軌中被分成若干等份的區域.

扇區是硬碟資料儲存的最小單位.

柱面:假如乙個硬碟只有上圖中的3個磁碟片,每一片中的磁軌數是相等的.從

外圈開始,這些磁軌被分成了0磁軌、1磁軌、2磁軌...具有相同磁軌編

號的同心圓組成面就稱作柱面.為了便於理解,柱面可以看作沒有底的鐵

桶.從上圖可以看出,柱面數就是磁碟上的磁軌數.

柱面是硬碟分割槽的最小單位.

因此,乙個硬碟的容量=柱面*磁頭*扇區*512

簇:扇區是硬碟資料儲存的最小單位,但作業系統無法對數目眾多的扇區進行尋

址,所以作業系統就將相鄰的扇區組合在一起,形成乙個簇,然後再對簇進

行管理.每個簇可以包括2、4、8、16、32、64個扇區.

二、硬碟的分割槽

要掌握硬碟的分割槽,需要掌握

mbr、擴充套件分割槽、邏輯分割槽的概念.

從上圖可以看出,硬碟裡分為兩個區域,乙個是放置該硬碟的資訊區,稱之為

主引導分割槽

(master boot recorder,mbr),乙個是實際檔案資料放置的地方.其中,mbr是整個硬碟最重要的區域.一旦mbr物理實體損壞時,則該硬碟就差不多報廢了.一般來說,mbr有512個位元組,且可以分為兩個部分.

(1)第一部分有446個位元組,用於存放引導**,即bootloader.

(2)第二部分有64個位元組,用於存放磁碟分割槽表.其中,每個分割槽的資訊需要用16個位元組來記錄,因此,乙個硬碟最多可以有4個分割槽.這4個分割槽稱之為主分割槽和

擴充套件分割槽

(extended).

注:通常所說的"硬碟分割槽"就是指修改磁碟分割槽表,它定義了"第n個磁碟塊是從第x個柱面到第y個柱面".因此,當系統要讀取第n個磁碟塊時,就是去讀硬碟上第x個柱面到第y個柱面的資訊.

由於擴充套件分割槽只能有乙個,所以這4個分割槽可以是4個主分割槽或者3個主分割槽加1個擴充套件分割槽,如下所示:

p + p + p + p

p + p + p + e

重點說明的是,擴充套件分割槽不能直接使用,還需要將其劃分為邏輯分割槽才行.這樣就產生了乙個問題,既然擴充套件分割槽不能直接使用,但為什麼還要劃分出一定的空間來給擴充套件分割槽呢?這是因為,如果使用者想要將硬碟劃分為5個分割槽的話,那該如何?此時,就需要擴充套件分割槽來幫忙了.

由於mbr僅能儲存4個分割槽的資料資訊,如果超過4個,系統允許在額外的硬碟空間存放另乙份磁碟分割槽資訊,這就是擴充套件分割槽.若將硬碟分成3p+e,則e實際上是告訴系統,磁碟分割槽表在另外的那份分割槽表,即擴充套件分割槽其實是指向正確的額外分割槽表.本身擴充套件分割槽

不能直接使用,還需要額外將擴充套件分割槽分成

邏輯分割槽

才能使用,因此,使用者通過擴充套件分割槽就可以使用5個以上的分割槽了.

attention!!!

(1)實際上,不建議使用者將硬碟分為4個主分割槽.這是因為,假如乙個20gb的硬碟,若4個主分割槽佔據了15gb的空間,則剩下的5gb空間完全不能使用,因為已經沒有多餘的分割槽表可以記錄這些空間了.

(2)考慮到磁碟的連續性,一般建議將擴充套件分割槽放在最後面的柱面內.

(3)理論上允許乙個硬碟只有1個主分割槽,其它空間都分配給擴充套件分割槽.

三、linux磁碟分割槽

在windows作業系統中,是先將實體地址分開,再在分割槽上建立目錄.在windows作業系統中,所有路徑都是從碟符開始,如c://program file.

linux正好相反,是先有目錄,再將物理位址對映到目錄中.在linux作業系統中,所有路徑都是從根目錄開始.linux

預設可分為3個分割槽,分別是boot分割槽、swap分割槽和根分割槽.

無論是windows作業系統,還是linux作業系統,每個分割槽均可以有不同的檔案系統,如fat32、ntfs、yaffs2等.

(1)boot分割槽

該分割槽對應於/boot目錄,約100mb.該分割槽存放linux的grub(bootloader)和核心原始碼.使用者可通過訪問/boot目錄來訪問該分割槽.換句話說,使用者對/boot目錄的操作就是操作該分割槽.

(2)swap分割槽

該分割槽沒有對應的目錄,故使用者無法訪問.

linux下的swap分割槽即為虛擬記憶體.虛擬記憶體用於當系統記憶體空間不足時,先將臨時資料存放在swap分割槽,等待一段時間後,然後再將資料調入到記憶體中執行.所以說,虛擬記憶體只是暫時存放資料,在該空間內並沒有執行.

ps:虛擬記憶體

虛擬記憶體是指將硬碟上某個區域模擬為記憶體.因此虛擬記憶體的實際實體地址仍然在硬碟上.虛擬記憶體,或者說swap分割槽只能由系統訪問,其大小為物理記憶體的2倍.

(3)根分割槽

在linux作業系統中,除/boot目錄外的其它所有目錄都對應於該分割槽.因此,使用者可通過訪問除/boot目錄外的其它所有目錄來訪問該分割槽.

attention!!!

(1)在linux作業系統中,使用者可根據需要進行修改分割槽.修改後的分割槽中,同一目錄下的檔案可能在不同分割槽中.比如/home目錄下有a、b、c三個目錄,可將不同的分割槽掛載到這三個目錄下.這種操作是允許的.

(2)一塊磁碟上最多有13個分割槽:

為了實現硬碟上的最多分割槽,可以將硬碟分割槽為1個主分割槽和3個擴充套件分割槽,而每個擴充套件分割槽又可以分為4個邏輯分割槽.這樣,一塊硬碟上最多有13個分割槽.

<1>硬碟上至少有1個主分割槽.

<2>邏輯分割槽不能再進行分割槽.

(3)linux分割槽目錄和"碟符"的關係

假如硬碟安裝在ide1的主盤,並使用者想分割槽成6個可以使用的硬碟分割槽,則可以採用下面兩種方式.

方式一:採用3個主分割槽和3個邏輯分割槽

方式二:採用1個主分割槽和5個邏輯分割槽

安裝linux時,預設分為三個區,分別是/boot分割槽、根分割槽和swap分割槽.這三個分割槽分別對應的碟符是hda1、hda2、hda3.

(4)linux允許使用fdisk -l命令和df -h命令來查詢其硬碟分割槽.其中,df無法顯示出swap分割槽的大小.

[root@localhost /]#fdisk -l

device     boot      start     end     blocks    id     system

/dev/hda1      *          1        13     104391    83     linux

/dev/hda2                 14      1175    9333765   83     linux

/dev/hda3                 1176    1305    1044225   82     swap

[root@localhost /]#df -h

檔案系統     容量    已用   可用    已用%    掛載點

/dev/had2    8.8gb   3.1gb  5.3gb    38%       /     (根分割槽)

/dev/hda1    99mb    9.2mb  85mb     10%       /boot  (boot分割槽)

(5)在pc機下,a、b盤並不存在,這兩個盤在linux下類似於hda1/hda2,而c盤類似於hda3,d、e、f盤類似於hda5、hda6、hda7.

(6)swap分割槽不對應"碟符".

(7)若硬碟的mbr已壞,則該磁碟就不能再作為引導盤,只能作為資料盤.因為mbr位於硬碟的起始處,使用者不能通過軟體進行修復,也不能跳過起始處.而硬碟中間的某個磁軌壞了,使用者可以軟體修復,也可以跳過該磁軌.

四、嵌入式系統分割槽

嵌入式系統可以分為4個區,分別是bootloader、para、kernel、根分割槽等,與windows、linux分割槽不同.

(1)在嵌入式系統中,沒有swap分割槽,只有實際的物理空間.

(2)bootloader、para、kernel這三個分割槽的功能類似於linux系統中的/boot分割槽,這三個分割槽分別存放嵌入式系統的啟動**和核心.

注:linux系統中/boot分區內存放著linux啟動**和核心原始碼.

(3)根分割槽(/)可以構造,其功能類似於linux系統中的根分割槽.在這個分割槽中可以建立許多目錄,比如/root、/home、/usr等,但不能建立/boot目錄.

(4)分割槽bootloader、para、kernel只能由位址來區分,而根分割槽只能由目錄來區分.

(5)嵌入式系統的驅動程式、上層軟體都放在根分割槽.在嵌入式系統啟動後,系統無法檢視到bootloader、para、kernel這三個分割槽.

linux 磁碟分割槽

以後我們都將生活在數字時代,任何事都可以用二進位制的方法儲存起來。對於個人來說資料關鍵在於 全面 而對於系統運維工程師來說關鍵在於 大 所以如何安全的儲存就是我們要解決的問題之一。對於一塊硬碟 要想在系統中起到作用需要以下步驟 1 當然要正確的插上 2 利用fdisk命令 對磁碟進行分割槽,新建可用...

Linux磁碟分割槽

首先,介紹2種分割槽表 mbr分割槽表 mbr master boot record 支援的最大卷 2tb tb terabytes,1tb 1024gb 對分割槽的設限 最多4個主分割槽或3個主分割槽加乙個擴充套件分割槽。gpt分割槽表 gpt guid partition table 支援的最大...

Linux磁碟分割槽

在pc中常見的磁碟介面有ide和sata兩種,現在的pc基本上都是sata介面了,較老的可能還是ide介面。在ide介面中,各個磁碟分割槽的名字就是hda1,hda2這種形式 在sata介面中,各個磁碟分割槽的名字就是sda1,sda2這種形式。磁碟主要由碟片 機械手臂 磁頭和主軸馬達等組成。關於磁...