佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Linux折騰記(七):硬盤GPT分區(qū)和MBR分區(qū)爬坑記

Linux折騰記(七):硬盤GPT分區(qū)和MBR分區(qū)爬坑記

熱門標(biāo)簽:外呼系統(tǒng) 服務(wù)器配置 解決方案 硅谷的囚徒呼叫中心 家政服務(wù)網(wǎng)絡(luò) 百度競價點擊價格的計算公式 美團 電話機器人搭建

  之所以想到寫這篇,是因為本人在折騰Linux系統(tǒng)的過程中,有多次掉入硬盤分區(qū)的陷阱的經(jīng)歷。最近幾天,再一次掉入坑中,折騰了兩天才從坑中爬出來。經(jīng)過多方查詢資料,終于弄明白了硬盤分區(qū)的一些概念。下面將其記錄下來,以警示來者。

  說起我自己掉坑的經(jīng)歷,無不與WinXP和Linux的激烈碰撞有關(guān)。多年前,我就開始在一臺電腦上同時安裝WinXP和Linux,只要遵守先安裝WinXP再安裝Linux的順序,就不會出問題,Linux的安裝程序會自動識別多系統(tǒng),安裝完成后可順利啟動多系統(tǒng)。有一天,我覺得單用Linux就夠了,于是就格了整個硬盤安裝了Linux。又有一天,我覺得還是要用WinXP,于是就重新安裝WinXP(不要對我說虛擬機,多年前我的電腦還只有256M內(nèi)存,虛擬機根本跑不動),結(jié)果發(fā)現(xiàn),WinXP的安裝程序沒辦法對硬盤進行分區(qū)了。這個坑是由Linux中的LVM引起的,WinXP識別不了LVM分區(qū),那個時代的WinPE、DOS工具箱中的所有工具都沒辦法識別LVM,而那時我對Linux的了解又只停留在只會在安裝系統(tǒng)的時候分區(qū),根本不知道Linux系統(tǒng)中還有fdisk、parted這樣的工具,所以折騰了許久才從坑里面爬出來。多年后的現(xiàn)在,我又一次掉入了坑中。我工作時用的電腦是WinXP系統(tǒng)(天朝國情,你懂的),為了干點私活,我又裝了個Ubuntu上去了,這兩個系統(tǒng)一直相安無事。直到有一天,我把Ubuntu系統(tǒng)又折騰掛了,于是重裝,因為在分區(qū)的時候不小心選擇了默認(rèn)的“清除整個盤并安裝Ubuntu”,然后硬盤就被整個格掉了,WinXP就沒有了。我當(dāng)時想,這多大點兒事,我再裝個WinXP不就完了嗎。但是問題來了,無論我怎么安裝,WinXP系統(tǒng)就是啟動不了。后來才整明白,這個坑是硬盤采用了GPT分區(qū)引起的。那為什么我讓Ubuntu自動分區(qū)它就分成了GPT分區(qū)呢?這也怪這臺惠普的工作用機比較奇葩,它即支持legacy BIOS,也支持EFI,當(dāng)原來WinXP存在時,它用的當(dāng)然是MBR分區(qū)(msdos分區(qū)),所以安裝Ubuntu時就是使用的MBR分區(qū),而后來Ubuntu自動分區(qū)時,它看到主板支持EFI,就自動把硬盤整成GPT分區(qū)了。我也是折騰了幾天才明白這個道理,最后終于在Ubuntu LiveCD的parted程序的幫助下,使用一個mklabel msdos命令把硬盤從GPT分區(qū)更改為MBR分區(qū),然后再按順序安裝WinXP和Ubuntu,才算是從坑里面爬出來。

  對于那些長期管理大型機房和大存儲容量的服務(wù)器的朋友,對于硬盤分區(qū),他們肯定是早就做好了功課。不會像我這樣,直到碰到問題才會去學(xué)習(xí)相關(guān)的知識。對于硬盤分區(qū)的這些知識,我總結(jié)如下(只是簡單總結(jié),具體內(nèi)容請大家自行搜素):

  1、傳統(tǒng)的BIOS只支持從MBR分區(qū)的硬盤啟動。MBR分區(qū)的分區(qū)表保存在硬盤的第一個扇區(qū),而且只有64字節(jié),所以最多只能有四個表項。也就是說,我們只能把硬盤分為4主分區(qū),或者分成小于等于3個主分區(qū)再加一個擴展分區(qū)。擴展分區(qū)又可以分為多個邏輯分區(qū)。MBR分區(qū)的優(yōu)點就是簡單,大家都用,所以大家都懂的嘛,很多操作系統(tǒng)都可以從MBR分區(qū)的硬盤啟動。缺點就是MBR分區(qū)不能識別大于2T的硬盤空間,也不能有大于2T的分區(qū);

  2、GPT分區(qū)的硬盤可以解決以上MBR分區(qū)的所有缺點,它沒有4個主分區(qū)的限制,想分幾個主分區(qū)就可以分幾個主分區(qū),它可以識別大于2T的硬盤空間,每個分區(qū)的大小也可以超過2T。但是它的缺點是需要操作系統(tǒng)支持。比如只有WinXP 64位、Win Vista、Win 7和Win 8和比較新的Linux發(fā)行版支持GPT分區(qū)的硬盤。而且,如果沒有EFI的支持的話,以上系統(tǒng)也只能將GPT分區(qū)的硬盤當(dāng)成數(shù)據(jù)盤,不能從GPT分區(qū)的硬盤啟動;

  3、要從GPT分區(qū)的硬盤啟動,則主板使用EFI、硬盤使用GPT分區(qū)、操作系統(tǒng)支持GPT和EFI這三個條件缺一不可。目前比較新的64位Linux系統(tǒng)和Win8系統(tǒng)都是支持EFI的,所以都是需要從GPT分區(qū)的硬盤啟動的?,F(xiàn)在的電腦主板已經(jīng)逐漸拋棄legacy BIOS,而只支持EFI了。(像我的工作機這樣的過渡產(chǎn)品將越來越少。)目前很多預(yù)裝Win8的筆記本的主板幾乎都只支持EFI了。所以,學(xué)習(xí)GPT和EFI的相關(guān)知識勢在必行;

  4、以上分區(qū)策略都是固定分區(qū)。硬盤分區(qū)一旦完成,則分區(qū)的大小不可改變,如果要改變分區(qū)的大小的話,只有重新分區(qū)。而且由于沒有辦法把多個硬盤分到一個區(qū),所以再怎么分,每個分區(qū)的大小都有限。所以我們需要一種動態(tài)分區(qū)的東西。LVM就是這樣一個東東,它叫邏輯卷管理。使用LVM的機制是這樣的:首先把硬盤分區(qū)或者整塊硬盤標(biāo)記為一個物理卷(PV),然后再創(chuàng)建一個卷組(VG),把一個或多個物理卷加入卷組,最后對卷組進行分區(qū),每一個分區(qū)稱為一個邏輯卷(LV)。LVM的優(yōu)點就是可以隨時向卷組中添加物理卷擴展卷組的大小,以可以動態(tài)調(diào)整邏輯卷的大小。這在服務(wù)器中尤其有用,比如說有一個原本有100個用戶的服務(wù)器,其/home目錄下就會有100個用戶的主目錄,如果給他們每人分配20G的空間的話,就會占滿一個2T的硬盤,如果這時再來100個用戶怎么辦?如果使用LVM就可以順利解決這個問題,我們可以再加一個3T的硬盤,然后把這個硬盤加入卷組就可以擴大卷組的大小,然后再調(diào)整/home所在的邏輯卷的大小即可。LVM既可以搭配MBR使用,也可以搭配GPT使用。

  下面通過Ubuntu 14.04安裝過程中自動分區(qū)的策略來驗證以上知識點。首先,對于只支持legacy BIOS的電腦,安裝Ubuntu時分區(qū)選項如下:

  這時,不選擇啟動LVM的選項。安裝完操作系統(tǒng)后,使用parted程序查看硬盤分區(qū),通過查看/etc/fstab文件來了解哪個分區(qū)對應(yīng)哪個文件系統(tǒng),如下圖:

  通過上面圖片中parted程序中的print命令的輸出可以看出,硬盤的分區(qū)表類型為msdos,也就是MBR分區(qū)。硬盤分為一個主分區(qū)sda1和一個擴展分區(qū)sda2,主分區(qū)sda1占20.4G,擴展分區(qū)sda2只有1072M,擴展分區(qū)中只有一個邏輯分區(qū)sda5。通過/etc/fstab可以看出主分區(qū)sda1掛載到根目錄,邏輯分區(qū)sda5為交換空間。

  上面的分區(qū)方案是最簡單最常用的一種。下面來看看啟用LVM是什么效果。在選擇分區(qū)方案的界面選擇開啟LVM的選項,如下圖:

  安裝完操作系統(tǒng)后,還是通過parted程序和/etc/fstab來查看硬盤的分區(qū)及使用情況,如下圖:

  從圖中可以看出,分區(qū)表的類型還是msdos。硬盤還是只分了一個主分區(qū)sda1和一個擴展分區(qū)sda2,但是主分區(qū)sda1只有255M,擴展分區(qū)sda2倒是有21.2G,同樣擴展分區(qū)只分為一個邏輯分區(qū)sda5,邏輯分區(qū)sda5占用擴展分區(qū)中全部的21.2G空間,而且sda5的標(biāo)志是lvm,說明該分區(qū)被標(biāo)記為一個物理卷(PV),它肯定是被加入到了一個卷組(VG)中。通過/etc/fstab文件可以看出,主分區(qū)sda1掛載到/boot,而根目錄和交換空間掛載的是兩個邏輯卷(LV)。

  通過LVM命令可以查看系統(tǒng)中卷組、物理卷和邏輯卷的信息,如下圖:

  通過pvs和pvdisplay命令,可以看到系統(tǒng)中只有一個物理卷,那就是/dev/sda5,該物理卷加入到了卷組ubuntu-vg之中。通過vgs和vgdisplay命令可以看到系統(tǒng)中只有一個卷組,那就是ubuntu-vg,該卷組被分為兩個邏輯卷。

  再看下圖:

  通過lvs和lvdisplay命令可以看到卷組分為兩個邏輯卷,它們分別掛載到根目錄和交換空間。

  通過LVM命令還可以進行更多的操作,比如創(chuàng)建新的卷組,將新的物理卷加入到卷組,增大或減小邏輯卷的大小等等。具體用什么命令,一個help即可搞定。

  最后,來看看在主板只支持EFI的情況下,Ubuntu如何分區(qū)。安裝的啟動界面如下:

  這個安裝界面和legacy BIOS系統(tǒng)下的安裝界面是不同的,傳統(tǒng)的安裝界面如下:

  在EFI模式下,還是選擇自動分區(qū)。安裝完操作系統(tǒng)后,使用parted和/etc/fstab來查看硬盤的分區(qū)和使用情況,如下圖:

  通過以上圖片可以看出,硬盤的分區(qū)表類型為gpt,硬盤分為三個區(qū),都是主分區(qū)。其中第1個分區(qū)sda1的大小是537M,文件系統(tǒng)是fat32,其掛載的路徑是/boot/efi,而另外兩個分區(qū)一個掛載到根目錄,一個為交換空間。從上面的信息我們不難推斷:只支持EFI的主板只能從GPT分區(qū)的硬盤啟動,而且該硬盤第1個分區(qū)必須為fat32文件系統(tǒng),該文件系統(tǒng)中存放的是EFI需要的各種文件。

  如果在安裝Ubuntu系統(tǒng)的時候不是選擇自動分區(qū),而是選擇最后那個“其它選項”來自定義分區(qū),會發(fā)現(xiàn)其實Ubuntu提供的自定義分區(qū)功能很有限。它沒辦法讓人選擇是使用MBR分區(qū)還是使用GPT分區(qū),也沒有辦法選擇是否啟用LVM。如果需要更靈活的管理的話,還是只有點擊“試用Ubuntu”按鈕,進入LiveCD的Ubuntu系統(tǒng)后,使用parted命令和lvm命令手動管理硬盤分區(qū)。

延伸閱讀:

  除了硬盤分區(qū),平常還有可能用到的硬盤管理功能有以下一些:

  1、創(chuàng)建RAID,可以使用mdadm程序;

  2、查看個分區(qū)或各文件夾的空間占用 ,使用df和du程序;

  3、指定磁盤配額,使用quota軟件包;

  4、查看各分區(qū)的文件系統(tǒng)、UUID、卷標(biāo),使用blkid程序。

 

(京山游俠于2014-07-13發(fā)布于博客園,2015-01-23整理于BlogJava,轉(zhuǎn)載請注明出處。)

標(biāo)簽:防城港 撫州 南昌 韶關(guān) 北海 烏蘭察布 臨沂 邢臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux折騰記(七):硬盤GPT分區(qū)和MBR分區(qū)爬坑記》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    西安市| 沁阳市| 泰兴市| 大关县| 土默特右旗| 明水县| 怀柔区| 东港市| 二连浩特市| 霸州市| 南澳县| 义乌市| 鄄城县| 沽源县| 仁怀市| 石棉县| 铜山县| 灌云县| 清涧县| 淮北市| 忻州市| 上饶市| 双江| 广东省| 河北区| 嘉定区| 平南县| 淄博市| 乌拉特中旗| 磐石市| 克山县| 微山县| 南平市| 新丰县| 高安市| 吉安市| 望谟县| 瑞丽市| 乌兰察布市| 南溪县| 顺义区|