close

【電腦技術】(轉)磁碟分割區的介紹|安心電腦維修聯盟

文章出處:http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-ig-ppc-multi-zh_tw-4/ap-partitions.html 

注 請注意
 

附錄並不一定適用於非x86架構的電腦,然而其中提到的一般概念,也許能一體適用。

磁碟分割區是個人電腦一個標準的部份,並已存在多時。 然而,現今很多人都是買標榜已安裝好作業系統的電腦,相對的很少人了解分割區是如何運作的。 這個章節要來解釋為何磁碟分割區存在與如何使用,所以您的 Red Hat Enterprise Linux 安裝將會變得較輕鬆容易。

假如您對於使用磁碟分割區很有信心,您可以跳過至 第 C.1.4 節,以取得關於如何釋放剩餘的空間給 Red Hat Enterprise Linux 安裝的更多資訊。 這個部份也討論 Linux 系統所使用的分割區命名機制,與其他作業系統分享磁碟空間,以及相關的主題。

C.1. 硬碟基本概念

硬碟執行一種很簡單的功能 — 它們儲存資料並穩定的因執行的指令來擷取資料。

當討論例如磁碟分割的議題時,有一件很重要的事就是必須要了解在其下的硬體。 不過如果描述的太詳細,很容易造成進退兩難的地步。 因此在這個附錄中,我們 將使用一個簡易的硬碟圖解來幫忙解釋當分割一個磁碟時,到底會發生什麼事。 圖形 C-1 顯示出一個全新的、未使用 過的硬碟。

圖形 C-1. 一個未使用過的硬碟

沒有辦法看到甚麼,是嗎? 不過如果我們只是談到基本層面的硬碟,這個就是了。 假設我們要儲存一些資料在這個硬碟上。 就目前的情況來說是不可行的。 在這之前,我們必須要先作一些動作…

C.1.1. 不是您要寫甚麼,而是該如何寫

有經驗的使用者也許會先作這個動作。 我們需要格式化這顆硬碟。 格式化(也可稱為 "建立一個檔案系統") 會寫入資訊到硬碟上,並在這個未格式化的硬碟上規劃出順序。

圖形 C-2. 有檔案系統存在的硬碟

圖形 C-2 所指出,檔案系統 所強制使用的順序也牽涉到一些引申出來的缺點:

 

  • 一小部份硬碟的空間會用來儲存系統相關的資料,也可以說這些是一種添加信號 (overhead)。

  • 檔案系統分割其餘的空間為小的且大小一致的區塊。 對於 Linux 來說,這些區塊被視為 blocks

但檔案系統也給了我們目錄與檔案,權衡之下,付出一些代價並不足以掛齒。

值得一提的是,沒有一種單一且普遍的檔案系統。 在 圖形 C-3 當中所顯示的,一個磁碟也許有許多種不同的檔案系統在其上。 您也許會猜, 不同的檔案系統較容易有不相容的問題; 一種作業系統支援一種檔案系統 (或多個相關的檔案系統類型),但它或許不支援另一種檔案系統。然而,這並不一定是絕對的。例如,Red Hat Enterprise Linux 支援了極大廣泛的檔案系統(包含了許多其他 作業系統所使用的),這使得在這些不同檔案系統間的資料交換更容易了。

圖形 C-3. 有不同檔案系統的磁碟

當然,將檔案系統寫入磁碟只是開始。 這個過程的目標是實際地 儲存擷取 資料。 在一些檔案寫入到磁碟上後,讓我們看一下磁碟的樣子。

圖形 C-4. 有寫入資料的磁碟

圖形 C-4 所顯示,先前空白的 14 個區塊現在已存有資料。 然而,如果單看這個圖,看不出來到底有多少檔案在這磁碟上。也許至少有一個檔案或至多有 14 個檔案在磁碟上,因為所有的檔案使用至少一個區塊,而有些檔案使用多重區塊。 另一個需注意的地方是已使用的區塊並不會形成連續的範圍; 使用與未使用的區塊也許會散佈在一起。 這就是所謂的『檔案分離』(Fragmentation)。 在試著要重新調整一個已存在的分割區時,也會 發生『檔案分離』的情況。

就像大部分的電腦相關的科技,硬碟的製造技術也改變很多。 特別是,它們越來越大了。 不是外觀上變大,而是容量增大以儲存更多資料。 而且,這些額外的容量徹底地改變了硬碟的使用方式。

C.1.2. 磁碟分割區: 將一個硬碟變成很多個

當硬碟容量快速增加時,許多人開始在想如果將所有格式化的空間放在一個大的區塊,那將會是一個不錯的主意。 這樣的想法馬上被許多衍生出來的議題推翻,這包括了哲學上與技術上的論點。 在哲學方面,他們認為這些由較大的硬碟所帶來的額外空間只會導致磁碟內部的更凌亂。 在技術層面上來說,有些檔案系統根本無法支援超過一定容量的磁碟。 有些檔案系統或許可以支援較大容量的硬碟,不過由這個檔案系統去搜尋檔案時所產生的負載量將會很大。

對於這個問題的解決方法就是切割磁碟成 分割區。 每一個分割區可被視為一個不同的磁碟。這是經由增加磁碟分割表(partition table)所達成的。

 

注 請注意
 

在這個章節中的圖解上顯示的磁碟分割表是與實際磁碟分離的,這並不是完全正確的。 實際上,分割區表是儲存在該磁碟的起始處,在任何的檔案系統或使用者資料前。 但為求清楚起見,我們還是將它們分別表示在圖解上。

圖形 C-5. 含有磁碟分割表的硬碟

正如圖形 C-5所顯示, 磁碟分割表共分為四個部份,或說四個主要分割區。 硬碟上的主要分割區只能包含一個磁碟機(或說一個區域)。每個區域皆包含 定義該分割區的重要資訊,這也表示磁碟分割表最多只能定義四個分割區。

每一個磁碟分割表的紀錄包含了分割區的許多重要特徵:

 

  • 分割區在這個磁碟上起始與結束的點。

  • 這個分割區是否已 "啟用"

  • 這個分割區的類型

讓我們更詳細的來看這些特徵。 起始與結束的點實際上定義了這個分割區的大小與在磁碟上的位置。 這個 "啟用" 的 flag 是用於某些作業系統的開機管理程式。 換句話說,在標示為 "啟用" 的分割區上的作業系統將會被啟動。

分割區的類型也許會比較令人困惑。 這個類型是一個號碼用來識別該分割區所使用的容量。 如果以上的說明有點含糊不清,那是因為分割區類型的含意也是有點含糊。 有些作業系統使用分割區類型來代表一種特定的檔案類型,或用來表示這個分割區與一種特定的作業系統有相關,或者用來指出這個分割區包含了一個可開機的作業系統,亦或表示以上三種的某些結合。

在這裡,也許您會想所有這些額外的複雜性是如何被使用的。 請看 圖形 C-6 中的例子。

圖形 C-6. 含有單一分割區的磁碟

在大多數情況下,只有一個單一的分割區佔據整個磁碟,基本上這延襲了使用分割區前的方法。 磁碟分割表上只有使用一個紀錄,而它指向這個分割區的起始處。

我們已經標示這個分割區為 "DOS" 類型。 雖然它只是在 表格 C-1 中列出的其中一種可能的分割區類型,但對於我們的這個討論來說,這已經足夠了。

表格 C-1 含括了一系列常見(與不常見的)分割區類型,以及它們的十六進位數值。

分割區類型 數值 分割區類型 數值
空的 00 Novell Netware 386 65
DOS 12 位元 FAT 01 PIC/IX 75
XENIX root 02 Old MINIX 80
XENIX usr 03 Linux/MINUX 81
DOS 16 位元 <=32M 04 Linux swap 82
Extended 05 Linux native 83
DOS 16 位元 >=32 06 Linux extended 85
OS/2 HPFS 07 Amoeba 93
AIX 08 Amoeba BBT 94
AIX 可開機的 09 BSD/386 a5
OS/2 Boot Manager 0a OpenBSD a6
Win95 FAT32 0b NEXTSTEP a7
Win95 FAT32 (LBA) 0c BSDI fs b7
Win95 FAT16 (LBA) 0e BSDI swap b8
Win95 Extended (LBA) 0f Syrinx c7
Venix 80286 40 CP/M db
Novell 51 DOS access e1
PPC PReP 開機 41 DOS R/O e3
GNU HURD 63 DOS secondary f2
Novell Netware 286 64 BBT ff

表格 C-1. 分割區類型

 

 

 

 

 

C.1.3. 分割區中的分割區 - 延伸分割區的概論

當然,時間一久四個分割區很顯然的會不敷使用。當硬碟容量不斷的增長,越來越有可能在已經設定好四個適當容量的分割區後,仍然有剩餘空間存在。 這個時候就必須想辦法來建立更多的分割區。

進入延伸分割區。 也許您已經注意到在 表格 C-1 中,有一種 "延伸" 分割區類型。 它就是在延伸分割區中心的分割區類型。

當一個分割區被建立而且它的類型被設定為 "延伸" 時,就已經建立了一個延伸磁碟分割表。實質上,延伸分割區就像一個磁碟一樣 — 它也有一個磁碟分割表指向在延伸分割區裡的一或多個分割區(在此稱為邏輯分割區(logical partitions),與四個主要分割區(primary partitions) 做分別)。 圖形 C-7 顯示出一個硬碟上有一個主要分割區與一個含有兩個邏輯分割區的延伸分割區(以及一些未分割的剩餘空間)。

形 C-7. 含有延伸分割區的磁碟

如圖所示,主要分割區與邏輯分割區並不相同 — 硬碟上最多只能有四個主要分割區, 但邏輯分割區的數量則沒有上限。然而,囿於Linux存取分割區的方式,您應該避免在同一顆 硬碟上,製作超過十二個邏輯分割區。

現在我們已經概略討論了分割區,讓我們來看看如何使用這些知識來安裝 Red Hat Enterprise Linux。

C.1.4. 建立空間給 Red Hat Enterprise Linux

當您試著要重新分割硬碟時,您可能會面臨以下幾種情形:

 

  • 有未分割的剩餘空間

  • 有未使用的分割區

讓我們依序探討每一種情況。

 

注 請注意
 

請記住以下的實例是為了力求清楚而簡化的,在您實際安裝 Red Hat Enterprise Linux 時,請不要認為您將遇到的分割區會是和這個例子相同的。

C.1.4.1. 使用未分割的剩餘空間

在這種情況下,已經定義好的分割區並沒有佔據整個硬碟,留下不屬於任何分割區的剩餘空間。圖形 C-8 顯示出這種情況的磁碟狀況。

圖形 C-8. 磁碟含有未分割的剩餘空間

圖形 C-8 圖解中,1 代表含有未分配空間的一個未定義的分割區,2 代表含有已分配空間的一個定義好的分割區。

您想想看,一個未曾使用過的硬碟就像這一類的例子。 唯一的不同點是所有的空間都不屬於任何定義好的分割區。

下一步,我們將討論一個稍微較平常的情況。

C.1.4.2. 使用一個未被使用的分割區空間

在這種情況下,也許您有一個或多個分割區已不再使用。 或許您曾經使用另一個作業系統,而您分配給它的分割區已似乎不會再被使用到。 圖形 C-9 圖解說明了如此的情況。

圖形 C-9. 含有一個未使用分割區的磁碟

圖形 C-9 圖解中,1 代表一個未使用的分割區,2 代表重新 分配一個未使用之分割區給 Linux。

如果您也遇到這種情形,您可以利用尚未使用的分割區空間。首先,您必須刪除該分割區, 然後利用這空間,建立適當的Linux分割區。您可以先刪除尚未使用的分割區,然後在安裝 過程中,手動建立新的分割區。

C.1.5. 分割區命名規則

Linux 以字母與數字的結合來表示磁碟分割區,這樣也許會令人混淆,特別是,如果您已經習慣使用 "C 磁碟" 的方式來表示硬碟或它們的分割區。 在 DOS/Windows 的環境下,分割區是以下列的方式來命名:

 

  • 每一個分割區的類型都被檢查過,以決定它是否能被 DOS/Windows 讀取。

  • 如果這個分割區的類型是相容的,它就會被指定一個 "磁碟機代號"。 這個磁碟機代號以 "C" 開始然後以下類推,取決於要標示的分割區數量。

  • 這個磁碟機代號就可用來表示該分割區以及在分割區上的檔案系統。

Red Hat Enterprise Linux 使用的命名規則是比較彈性化而且比其他的作業系統所使用的方式含括了 更多資訊。 這個命名規則是以檔案為主的,也就是說以檔名的方式來表示: /dev/xxyN

以下是用來解釋分割區的命名規則:

 

/dev/

這個是存放所有裝置檔案的目錄名稱。 因為分割區是存放在硬碟上,而硬碟是一種裝置,所以表示所有可能分割區的檔案都會放置在 /dev/ 目錄中。

xx

分割區名稱最前面的兩個字母代表存放該分割區的裝置類型。 通常您不是看到 hd (表示 IDE 硬碟)就是 sd (代表 SCSI 硬碟)。

y

這個字母代表存放該分割區的裝置。 例如,/dev/hda (第一個 IDE 硬碟) 或 /dev/sdb (第二個 SCSI 硬碟)。

N

最後的號碼表示分割區。 最前面的四個 (主要或延伸的)分割區以 14 表示。 邏輯分割區以 5 開始。 因此,例如,/dev/hda3 代表第一個 IDE 硬碟上第三個主要或延伸的分割區,而 /dev/sdb6 代表第二個 SCSI 硬碟上的第二個邏輯分割區。

 

注 請注意
 

這個命名規則沒有任何的部份是以分割區類型來表示的,這點不像 DOS/Windows,所有的 分割區都可以被 Red Hat Enterprise Linux 所辨認。 當然,這並不表示 Red Hat Enterprise Linux 可以存取在每一種分割區類型上的資料,但在許多情況下還是可以存取專門用在另一種作業系統的分割區上的資料。

請謹記這點,當您在設定 Red Hat Enterprise Linux 需要的分割區時,它會讓事情更容易了解。

C.1.6. 磁碟分割區與其他的作業系統

如果您的 Red Hat Enterprise Linux 分割區將要與其他作業系統的分割區共用一個硬碟時,大部分的情況下都不會有任何問題發生。 然而,有某些 Linux 與其他作業系統的結合需要特別的注意。

C.1.7. 磁碟分割區與掛載點

許多初次接觸 Linux 的人對於 Linux 作業系統如何使用與存取分割區的方式感到很疑惑。 在 DOS/Windows 環境中,就相對的簡單多了:每一個分割區都會有一個 "磁碟機代號"。 您就可以使用正確的磁碟機代號來表示在其上的檔案與目錄。

這個與 Linux 在處理分割區與磁碟容量是完全不一樣的。 主要的不同點是每一個分割區是使用來形成需要容量的一部分,已支援單一組的檔案與目錄。 這是以一個過程稱為 『掛載』 的方式將一個分割區與一個目錄產生關聯。 掛載一個分割區使得它的容量可以在指定的目錄(稱為『掛載點』) 中被存取。

舉例來說,如果分割區 /dev/hda5 被掛載到 /usr/,這將表示所有在 /usr/ 目錄下的檔案與目錄都是實際存放在 /dev/hda5 中。 所以檔案 /usr/share/doc/FAQ/txt/Linux-FAQ 將會儲存在 /dev/hda5 上,而檔案 /etc/X11/gdm/Sessions/Gnome 則不是。

繼續我們的例子,也有可能在 /usr/ 目錄下的一個或多個目錄是屬於其他分割區的掛載點。 例如,一個分割區(如 /dev/hda7) 也許會被掛載到 /usr/local/ 目錄,表示 /usr/local/man/whatis 檔案將會存放在 /dev/hda7 上,而不是在 /dev/hda5 上。

C.1.8. 多少分割區才夠用?

在目前這個準備安裝 Red Hat Enterprise Linux 的過程,您需要考慮要分配給新的作業系統使用的分割區數目與大小。 『多少分割區才夠用』的問題仍然繼續在 Linux 社群中引起討論,而且看來似乎還沒有結果之前,我們只能說看有多少人在爭論這個議題就會有多少種分割區的配置存在。

請牢記,除非您有其他理由,否則我們建議您至少建立下列的分割區: swap, /boot/ (iSeries 系統並不需要 /boot/ 檔案,但其他系列都需要), PPC PReP Boot,以及/ (root)。請注意: OS/400 V5R2與之後的版本,可以動態加入新的虛擬磁碟。

如需更多資訊,請參考 第 2.14.4 節

Blocks 確切 大小一致的,不像我們所列出的那樣。 也請記住,一個平均的硬碟包含有數千個 blocks。 不過以這個討論的目的來說,請忽視這些小差異。

 

arrow
arrow

    安心電腦維修聯盟 發表在 痞客邦 留言(0) 人氣()