linux磁盤(pán)分區(qū)詳解 收藏
在學(xué)習(xí) Linux 的過(guò)程中,安裝 Linux 是每一個(gè)初學(xué)者的第一個(gè)門(mén)檻。在這個(gè)過(guò)程中間,最大的困惑莫過(guò)于給硬盤(pán)進(jìn)行分區(qū)。雖然,現(xiàn)在各種發(fā)行版本的 Linux 已經(jīng)提供了友好的圖形交互界面,但是很多的人還是感覺(jué)無(wú)從下手。這其中的原因主要是不清楚 Linux 的分區(qū)規(guī)定,以及它下面最有效的分區(qū)工具― Fdisk 的使用方法。 首先我們要對(duì)硬盤(pán)分區(qū)的基本概念進(jìn)行一些初步的了解,硬盤(pán)的分區(qū)主要分為基本分區(qū)(primary partion)和擴(kuò)充分區(qū)(extension partion)兩種,基本分區(qū)和擴(kuò)充分區(qū)的數(shù)目之和不能大于四個(gè)。且基本分區(qū)可以馬上被使用但不能再分區(qū)。擴(kuò)充分區(qū)必須再進(jìn)行分區(qū)后才能使用,也就是說(shuō)它必須還要進(jìn)行二次分區(qū)。那么由擴(kuò)充分區(qū)再分下去的是什么呢?它就是邏輯分區(qū)(logical partion),況且邏輯分區(qū)沒(méi)有數(shù)量上限制。
對(duì)習(xí)慣于使用dos或windows的用戶來(lái)說(shuō),有幾個(gè)分區(qū)就有幾個(gè)驅(qū)動(dòng)器,并且每個(gè)分區(qū)都會(huì)獲得一個(gè)字母標(biāo)識(shí)符,然后就可以選用這個(gè)字母來(lái)指定在這個(gè)分區(qū)上的文件和目錄,它們的文件結(jié)構(gòu)都是獨(dú)立的,非常好理解。但對(duì)這些初上手 red hat linux的用戶,可就有點(diǎn)惱人了。因?yàn)閷?duì)red hat linux用戶來(lái)說(shuō)無(wú)論有幾個(gè)分區(qū),分給哪一目錄使用,它歸根結(jié)底就只有一個(gè)根目錄,一個(gè)獨(dú)立且唯一的文件結(jié)構(gòu)。red hat linux中每個(gè)分區(qū)都是用來(lái)組成整個(gè)文件系統(tǒng)的一部分,因?yàn)樗捎昧艘环N叫“載入”的處理方法,它的整個(gè)文件系統(tǒng)中包含了一整套的文件和目錄,且將一個(gè)分區(qū)和一個(gè)目錄聯(lián)系起來(lái)。這時(shí)要載入的一個(gè)分區(qū)將使它的存儲(chǔ)空間在一個(gè)目錄下獲得。
對(duì)windows用戶來(lái)說(shuō),操作系統(tǒng)必須裝在同一分區(qū)里,它是商業(yè)軟件! 所以你沒(méi)有選擇的余地!對(duì)red hat linux來(lái)說(shuō),你有了較大的選擇余地,你可以把系統(tǒng)文件分幾個(gè)區(qū)來(lái)裝(必須要說(shuō)明載入點(diǎn)),也可以就裝在同一個(gè)分區(qū)中(載入點(diǎn)是“/”)。
下面從這兩個(gè)方面入手,來(lái)講解這個(gè)困擾大家的問(wèn)題。
Linux 的分區(qū)規(guī)定
1. 設(shè)備管理
在 Linux 中,每一個(gè)硬件設(shè)備都映射到一個(gè)系統(tǒng)的文件,對(duì)于硬盤(pán)、光驅(qū)等 IDE 或 SCSI 設(shè)備也不例外。Linux 把各種 IDE 設(shè)備分配了一個(gè)由 hd 前綴組成的文件;而對(duì)于各種 SCSI 設(shè)備,則分配了一個(gè)由 sd 前綴組成的文件。
對(duì)于ide硬盤(pán),驅(qū)動(dòng)器標(biāo)識(shí)符為“hdx~”,其中“hd”表明分區(qū)所在設(shè)備的類型,這里是指ide硬盤(pán)了。“x”為盤(pán)號(hào)(a為基本盤(pán),b為基本從屬盤(pán),c為輔助主盤(pán),d為輔助從屬盤(pán)),“~”代表分區(qū),前四個(gè)分區(qū)用數(shù)字1到4表示,它們是主分區(qū)或擴(kuò)展分區(qū),從5開(kāi)始就是邏輯分區(qū)。例,hda3表示為第一個(gè)ide硬盤(pán)上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū),hdb2表示為第二個(gè)ide硬盤(pán)上的第二個(gè)主分區(qū)或擴(kuò)展分區(qū)。對(duì)于scsi硬盤(pán)則標(biāo)識(shí)為“sdx~”,scsi硬盤(pán)是用“sd”來(lái)表示分區(qū)所在設(shè)備的類型的,其余則和ide硬盤(pán)的表示方法一樣,不在多說(shuō)。
例如,第一個(gè) IDE 設(shè)備,Linux 就定義為 hda;第二個(gè) IDE 設(shè)備就定義為 hdb;下面以此類推。而 SCSI 設(shè)備就應(yīng)該是 sda、sdb、sdc 等。
2. 分區(qū)數(shù)量
要進(jìn)行分區(qū)就必須針對(duì)每一個(gè)硬件設(shè)備進(jìn)行操作,這就有可能是一塊IDE硬盤(pán)或是一塊SCSI硬盤(pán)。對(duì)于每一個(gè)硬盤(pán)(IDE 或 SCSI)設(shè)備,Linux 分配了一個(gè) 1 到 16 的序列號(hào)碼,這就代表了這塊硬盤(pán)上面的分區(qū)號(hào)碼。
例如,第一個(gè) IDE 硬盤(pán)的第一個(gè)分區(qū),在 Linux 下面映射的就是 hda1,第二個(gè)分區(qū)就稱作是 hda2。對(duì)于 SCSI 硬盤(pán)則是 sda1、sdb1 等。 3. 各分區(qū)的作用
在 Linux 中規(guī)定,每一個(gè)硬盤(pán)設(shè)備最多能有 4個(gè)主分區(qū)(其中包含擴(kuò)展分區(qū))構(gòu)成,任何一個(gè)擴(kuò)展分區(qū)都要占用一個(gè)主分區(qū)號(hào)碼,也就是在一個(gè)硬盤(pán)中,主分區(qū)和擴(kuò)展分區(qū)一共最多是 4 個(gè)。
對(duì)于早期的 DOS 和 Windows(Windows 2000 以前的版本),系統(tǒng)只承認(rèn)一個(gè)主分區(qū),可以通過(guò)在擴(kuò)展分區(qū)上增加邏輯盤(pán)符(邏輯分區(qū))的方法,進(jìn)一步地細(xì)化分區(qū)。 主分區(qū)的作用就是計(jì)算機(jī)用來(lái)進(jìn)行啟動(dòng)操作系統(tǒng)的,因此每一個(gè)操作系統(tǒng)的啟動(dòng),或者稱作是引導(dǎo)程序,都應(yīng)該存放在主分區(qū)上。
這就是主分區(qū)和擴(kuò)展分區(qū)及邏輯分區(qū)的最大區(qū)別。
我們?cè)谥付ò惭b引導(dǎo) Linux 的 bootloader 的時(shí)候,都要指定在主分區(qū)上,就是最好的例證。
Linux 規(guī)定了主分區(qū)(或者擴(kuò)展分區(qū))占用 1 至 16 號(hào)碼中的前 4 個(gè)號(hào)碼。以第一個(gè) IDE 硬盤(pán)為例說(shuō)明,主分區(qū)(或者擴(kuò)展分區(qū))占用了 hda1、hda2、hda3、hda4,而邏輯分區(qū)占用了 hda5 到 hda16 等 12 個(gè)號(hào)碼。 因此,Linux 下面每一個(gè)硬盤(pán)總共最多有 16 個(gè)分區(qū)。 對(duì)于邏輯分區(qū),Linux 規(guī)定它們必須建立在擴(kuò)展分區(qū)上(在 DOS 和 Windows 系統(tǒng)上也是如此規(guī)定),而不是主分區(qū)上。 因此,我們可以看到擴(kuò)展分區(qū)能夠提供更加靈活的分區(qū)模式,但不能用來(lái)作為 操作系統(tǒng) 的引導(dǎo)。 除去上面這些各種分區(qū)的差別,我們就可以簡(jiǎn)單地把它們一視同仁了。 4. 分區(qū)指標(biāo) 對(duì)于每一個(gè) Linux 分區(qū)來(lái)講,分區(qū)的大小和分區(qū)的類型是最主要的指標(biāo)。容量的大小讀者很容易理解,但是分區(qū)的類型就不是那么容易接受了。分區(qū)的類型規(guī)定了這個(gè)分區(qū)上面的文件系統(tǒng)的格式。
Linux 支持多種的文件系統(tǒng)格式,其中包含了我們熟悉的FAT32、FAT16、NTFS、HP-UX,以及各種 Linux 特有的 Linux Native和 Linux Swap分區(qū)類型。 在 Linux 系統(tǒng)中,可以通過(guò)分區(qū)類型號(hào)碼來(lái)區(qū)別這些不同類型的分區(qū)。各種類型號(hào)碼在介紹Fdisk的使用方式的時(shí)候?qū)?huì)介紹。 5 常用分區(qū) /boot分區(qū),它包含了操作系統(tǒng)的內(nèi)核和在啟動(dòng)系統(tǒng)過(guò)程中所要用到的文件,建這個(gè) 分區(qū)是有必要的,因?yàn)槟壳按蠖鄶?shù)的pc機(jī)要受到bios的限制,況且如果有了一個(gè)單獨(dú)的/boot啟動(dòng)分區(qū),即使主要的根分區(qū)出現(xiàn)了問(wèn)題,計(jì)算機(jī)依然能夠 啟動(dòng)。這個(gè)分區(qū)的大小約在50mb—100mb之間。但是如果想用lilo啟動(dòng)red hat linux系統(tǒng)的話,含有/boot的分區(qū)必須完全在柱面1023以下。又由于8gb后的數(shù)據(jù)lilo不能讀取,所以red hat linux要安裝在8gb的區(qū)域以內(nèi)。
/usr分區(qū),是red hat linux系統(tǒng)存放軟件的地方,如有可能應(yīng)將最大空間分給它。
/home分區(qū),是用戶的home目錄所在地,這個(gè)分區(qū)的大小取決于有多少用戶。如 果是多用戶共同使用一臺(tái)電腦的話,這個(gè)分區(qū)是完全有必要的,況且根用戶也可以很好地控制普通用戶使用計(jì)算機(jī),如對(duì)用戶或者用戶組實(shí)行硬盤(pán)限量使用,限制普 通用戶訪問(wèn)哪些文件等。其實(shí)單用戶也有建立這個(gè)分區(qū)的必要,因?yàn)闆](méi)這個(gè)分區(qū)的話,那么你只能以根用戶的身份登陸系統(tǒng),這樣做是危險(xiǎn)的,因?yàn)楦脩魧?duì)系統(tǒng)有 絕對(duì)的使用權(quán),可一旦你對(duì)系統(tǒng)進(jìn)行了誤操作,麻煩也就來(lái)了。
/var/log分區(qū),是系統(tǒng)日志記錄分區(qū),如果設(shè)立了這一單獨(dú)的分區(qū),這樣即使系統(tǒng)的日志文件出現(xiàn)了問(wèn)題,它們也不會(huì)影響到操作系統(tǒng)的主分區(qū)。
/tmp分區(qū),用來(lái)存放臨時(shí)文件。這對(duì)于多用戶系統(tǒng)或者網(wǎng)絡(luò)服務(wù)器來(lái)說(shuō)是有必要的。 這樣即使程序運(yùn)行時(shí)生成大量的臨時(shí)文件,或者用戶對(duì)系統(tǒng)進(jìn)行了錯(cuò)誤的操作,文件系統(tǒng)的其它部分仍然是安全的。因?yàn)槲募到y(tǒng)的這一部分仍然還承受著讀寫(xiě)操 作,所以它通常會(huì)比其它的部分更快地發(fā)生問(wèn)題。
/bin分區(qū),存放標(biāo)準(zhǔn)系統(tǒng)實(shí)用程序。
/dev分區(qū),存放設(shè)備文件。
/opt分區(qū),存放可選的安裝的軟件。
/sbin分區(qū),存放標(biāo)準(zhǔn)系統(tǒng)管理文件。
上面介紹了幾個(gè)常用的分區(qū),一般來(lái)說(shuō)我們需要一個(gè)swap分區(qū),一個(gè)/boot分區(qū),一個(gè)/usr分區(qū),一個(gè)/home 分區(qū),一個(gè)/var/log分區(qū)。當(dāng)然這沒(méi)有什么規(guī)定,完全是依照你個(gè)人來(lái)定的。但記住至少要有兩個(gè)分區(qū),一個(gè)swap分區(qū),一個(gè)/分區(qū)。
Fdisk 使用詳解 下面通過(guò)介紹 Fdisk 的使用方法,來(lái)鞏固上面所學(xué)到的各種關(guān)于 Linux 分區(qū)的知識(shí)。
Fdisk 是各種 Linux 發(fā)行版本中最常用的分區(qū)工具,是被定義為 Expert 級(jí)別的分區(qū)工具,它讓初學(xué)者有點(diǎn)望而卻步。 1. Fdisk 參數(shù)說(shuō)明 運(yùn)行Fdisk的時(shí)候,首先映入眼簾的是歡迎界面,用戶通過(guò)在這個(gè)界面中輸入命令參數(shù)來(lái)操作Fdisk。用戶通過(guò)提示鍵入 “m”,可以顯示 Fdisk 命令各個(gè)參數(shù)的說(shuō)明。 讀者可以看到 Fdisk 有很多參數(shù),可是經(jīng)常使用的就是幾個(gè),如果讀者熟練掌握這幾個(gè)參數(shù)就可以流暢地運(yùn)用 Fdisk,對(duì) Linux 的硬盤(pán)進(jìn)行分區(qū)。我們先簡(jiǎn)單介紹各個(gè)參數(shù)的意義,然后詳細(xì)說(shuō)明幾個(gè)重點(diǎn)參數(shù)。 用戶在 Linux 中進(jìn)行分區(qū)的時(shí)候,最常用的參數(shù)分別是 d、l、m、n、p、q、t、w 等。 2.用 Fdisk 進(jìn)行分區(qū)
在 Linux 分區(qū)過(guò)程,一般是先通過(guò) p 參數(shù)來(lái)顯示出硬盤(pán)分區(qū)表信息,然后根據(jù)信息確定將來(lái)的分區(qū)。如果想完全改變硬盤(pán)的分區(qū)格式,就可以通過(guò) d 參數(shù)一個(gè)個(gè)刪除存在的硬盤(pán)分區(qū)。
例如 d1,d2。 刪除完畢,就可以通過(guò) n 參數(shù)來(lái)增加新的分區(qū)。當(dāng)按下 “n” 后,我們就可以看到新增的分區(qū)。這里要選擇新建的分區(qū)類型,是主分區(qū)還是擴(kuò)展分區(qū);然后選擇 p 或是 e。它們的區(qū)別在上文中已經(jīng)說(shuō)明。然后就是設(shè)置分區(qū)的大小。需要提醒注意的是,如果硬盤(pán)上有擴(kuò)展分區(qū),就只能增加邏輯分區(qū),不能增加擴(kuò)展分區(qū)了,在增加分區(qū)的時(shí)候,其類型都是默認(rèn)的 Linux Native,如果需要把其中的某些分區(qū)改變?yōu)槠渌愋?,例?Linux Swap 或 FAT32 等,可以通過(guò)命令 t 來(lái)改變, 當(dāng)按下 “t” 改變分區(qū)類型的時(shí)候,系統(tǒng)會(huì)提示要改變哪個(gè)分區(qū),并且改變?yōu)槭裁搭愋停ㄈ绻胫老到y(tǒng)所支持的分區(qū)類型,鍵入 l)。Linux 所支持的分區(qū)類型號(hào)碼和其對(duì)應(yīng)的分區(qū)類型,可以參考表 2(這些信息可以用 l 命令得到)。改變完了分區(qū)類型,就可以按下 “w”,保存并且退出。如果不想保存,那么可以選擇 “q” 直接退出。
fdisk 是一款強(qiáng)大的磁盤(pán)操作工具,來(lái)自u(píng)til-linux軟件包,我們?cè)谶@里只說(shuō)他如何查看磁盤(pán)分區(qū)表及分區(qū)結(jié)構(gòu);參數(shù) -l ,通過(guò)-l 參數(shù),能獲得機(jī)器中所有磁盤(pán)的個(gè)數(shù),也能列出所有磁盤(pán)分區(qū)情況;
[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA) /dev/hda3 2806 7751 39728745 5 Extended /dev/hda5 2806 3825 8193118+ 83 Linux /dev/hda6 3826 5100 10241406 83 Linux /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris /dev/hda8 5199 6657 11719386 83 Linux /dev/hda9 6658 7751 8787523+ 83 Linux 在上面Blocks中,表示的是分區(qū)的大小,Blocks的單位是byte ,我們可以換算成M,比如第一個(gè)分區(qū)/dev/hda1的大小如果換算成M,應(yīng)該是6144831/1024=6000M,也就是6G左右,其實(shí)沒(méi)有這么 麻煩,粗略的看一下把小數(shù)點(diǎn)向前移動(dòng)三位,就知道大約的體積有多大了;
System 表示的文件系統(tǒng),比如/dev/hda1 是NTFS格式的;/dev/hda2 表示是fat32格式的文件系統(tǒng);. 在此例中,我們要特別注意的是/dev/hda3分區(qū),這是擴(kuò)展分區(qū);他下面包含著邏輯分區(qū),其實(shí)這個(gè)分區(qū)相當(dāng)于一個(gè)容器;從屬于她的有 hda5,hda6,hda7,hda8,hda9 ;
我們還注意到一點(diǎn),怎么沒(méi)有hda4呢?為什么hda4沒(méi)有包含在擴(kuò)展分區(qū)?一個(gè)磁盤(pán)最多有四個(gè)主分區(qū); hda1-4算都是主分區(qū);hda4不可能包含在擴(kuò)展分區(qū)里,另外擴(kuò)展分區(qū)也算主分區(qū);在本例中,沒(méi)有hda4這個(gè)分區(qū),當(dāng)然我們可以把其中的一個(gè)分區(qū)設(shè) 置為主分區(qū),只是我當(dāng)時(shí)分區(qū)的時(shí)候沒(méi)有這么做而已;
再仔細(xì)統(tǒng)計(jì)一下,我們看一看這個(gè)磁盤(pán)是不是還有空間?hda1+hda2+hda3=實(shí)際已經(jīng)分區(qū)的體積,所以我們可以這樣算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),換算成M單位,小數(shù)點(diǎn)向前移三位,所以目前已經(jīng)劃分好的分區(qū)大約占用體積是62259.876(M),其實(shí)最精確的計(jì)算 62259876/1024=60800.67(M);而這個(gè)磁盤(pán)大小是80.0 GB (80026361856byte),其實(shí)實(shí)際大小也就是78150.744(M);通過(guò)我們一系列的計(jì)算,我們可以得出這個(gè)硬盤(pán)目前還有使用的空間;大約還有18G未分區(qū)的空間;
我們也可以指定fdisk -l 來(lái)查看其中一個(gè)硬盤(pán)的分區(qū)情況;
[root@localhost beinan]# fdisk -l /dev/sda
Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System
/dev/sda1 1 57231 58604528 83 Linux 通過(guò)上面情況可以知道,在/dev/sda 這個(gè)磁盤(pán)中,只有一個(gè)分區(qū);使用量差不多是百分百了; 我們還可以來(lái)查看 /dev/hda的
[root@localhost beinan]# fdisk -l /dev/hda
自己試試看?
我們也可以通過(guò): cat /proc/partitions查看目前機(jī)器中的所有磁盤(pán)及分區(qū)情況
df 命令;
df 是來(lái)自coreutils 軟件包,系統(tǒng)安裝時(shí),就自帶的;我們通過(guò)這個(gè)命令可以查看磁盤(pán)的使用情況以及文件系統(tǒng)被掛載的位置; 舉例:
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1
我們從中可以看到,系統(tǒng)安裝在/dev/hda8 ;還有一個(gè)56G的磁盤(pán)分區(qū)/dev/sda1掛載在 /mnt/sda1中;
其它的參數(shù)請(qǐng)參考 man df
通過(guò)以上兩個(gè)方面的學(xué)習(xí),相信對(duì)于初學(xué)者來(lái)說(shuō),分區(qū)已經(jīng)不再是 Linux 進(jìn)階中的絆腳石了。
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/aaronychen/archive/2008/04/09/2270048.aspx
|
|