導航:首頁 > 操作系統 > linux擴展分區和主分區

linux擴展分區和主分區

發布時間:2023-03-01 05:45:03

linux 磁碟分區詳解

Linux 系統中所有的硬體設備都是用文件的形式來表示和使用的,也就是說,如果你想使用某個硬體設備首先你就需要將其掛載到某個目錄下面,通過對這個目錄的操作來操作設備;如果不掛載,通過Linux系統中的圖形界面系統可以查看找到硬體設備,但命令行方式無法找到。

並不是根目錄下任何一個目錄都可以作為掛載點,由於掛載操作會使得原有目錄中文件被隱藏,因此根目錄以及系統原有目錄都不要作為掛載點,會造成系統異常甚至崩潰,掛載點最好是新建的空目錄

磁碟也是一樣的,磁碟的文件是存放在 /dev 目錄下,磁碟設備文件的命名規則為:

常見的主設備號有:sd,hd;它們是代表的不同的磁碟類型: sd 代表的 IDE 硬碟, hd 代表的是 SCSI 硬碟

次設備號就是同一類型設備的次序,用 [a-z] 來表示, /dev/sda 表示第一塊 IDE 類型的磁碟, /dev/sdb 表示第二塊 IDE 類型的磁碟

磁碟分區編號,每一塊磁碟都會被劃分為多個磁碟分區(這個下面會介紹),每一個分區都會有一個編號,比如: /dev/sda1 表示這是該磁碟的第一個分區,以此類推

在 Linux 中,每一個硬碟設備都只能劃分四個主分區;若是劃分了一個擴展分區那最多可以劃分三個主分區;可以表示為:

主分區加擴展分區最多隻有四個;可以全部劃分為主分區,也可以之劃分一個主分區;但是擴展分區最多隻有一個;擴展分區是不能直接使用的,還有進一步劃分為邏輯分區才能使用;一個擴展分區可以劃分為多個邏輯分區;

主分區的分區編號是:1,2,3,4;從擴展分區劃分出來的邏輯分區的編號是從 5 開始,以次累加

這跟系統啟動有關系;當你啟動電腦時,首先就會載入 BIOS 信息,這裡麵包含了 Cpu 和其他硬體設備的信息;找到它計算機就知道怎麼啟動了

接下來,它會去找 MBR(Master Boot Record) ,也就是主引導記錄;為了方便 BIOS 的查找,所以就會把它放在磁碟上第0磁軌上的第一個扇區中,磁碟中每個扇區有 512 位元組;雖然只有這么大一點,但是要存三部分信息:

磁碟分區表總共只有 64 位元組,而每個分區信息占 16 個位元組,所以就只能有四個主分區了

這應該是歷史遺留的問題了,一開始只有四個分區,後來發現四個分區不夠用,就引入了擴展分區,而擴展分區是不能直接使用的,它必須再劃分為邏輯分區,邏輯分區的數量可以是任意多個。

對用戶而言,主分區和邏輯分區使用起來沒有任何的區別,同時還能夠達到無限分區的目的

我想很多人都思考過這個問題,我再了解了之後才發現磁碟分區還是有很多的好處的。具體例子:

現在給你一個倉庫,你打算存放快遞,一開始你一股腦的把所有的快遞直接放進去,等到別人來取快遞的時候你就發愁了,幾十甚至上百個快遞得找到啥時候啊

所以你打算開始分區管理,因為你代理了中通,圓通,百世等好幾個快遞,所以你打算按照不同的快遞分為三個貨架;

過一段時間發現同一種快遞如果量大的時候還是會混亂;因此你又想了個辦法就是按照日期給快遞編號,然後按照不同的日期將貨架分為多層,每一層存放某一天的快遞,同時你又找了個表記錄了每個分區快遞存放的位置,這大大增加了存取的效率

磁碟分區的目的,

Linux 常見目錄:

一般要是新手,可以只建立兩個分區:

這種分區方式比較簡單,如果只是測試可以用這種;要是想當成一個常用的系統,就需要更細一點劃分了,常用的分區方案如下(假如有磁碟有100G):

② Linux下的boot等分區,和主分區、擴展分區是什麼關系

1.
boot分區是存放啟動linux系統所必需的文件,包括內核文件,啟動菜單配置文件,出於系統安全考慮,/boot目錄通常被劃分為單獨的分區。
2.
硬碟分區主要可以劃分為:主分區、擴展分區、邏輯分區,主分區最多有4個,擴展分區可以看成一個特殊的主分區類型,邏輯分區是在擴展分區之上建立的,主分區主要是用來安裝操作系統,擴展分區則用來存儲文件數據等
3.
如果想一些linux教程,推薦你去看一下《linux就該這么學》,教程介紹的很詳細。

③ linux主分區和擴展分區的區別

區別在於是層級關系:
在linux中第一塊硬碟分區為hda分區,
主分區編號為hda1-4,邏輯分區從5開始。
硬碟的容量=主分區的容量+擴展分區的容量
擴展分區的容量=各個邏輯分區的容量之和
主分區也可成為「引導分區」,
會被操作系統和主板認定為這個硬碟的第一個分區。
所以C盤永遠都是排在所有磁碟分區的第一的位置上。
MBR(主引導記錄)的分區表(主分區表)
只能存放4個分區,
如果要分更多的分區的話就要一個擴展分區表(EBR),
擴展分區表放在一個系統ID為0x05的主分區上,
這個主分區就是擴展分區,
擴展分區能可以分若干個分區,
每個分區都是個邏輯分區。

④ linux-存儲結構與磁碟劃分

Linux系統中的一切都是從根/目錄開始的,並按照文件層次化標准(FHS)採用樹形結構來存放文件,以及常見目錄的用途。
Linux文件存儲結構:
/
/root /bin /boot /dev /etc /home /var /lib /usr /media /tmp /proc
I I I
/root/Desktop /root/Media /usr/bin /usr/lib

/boot 開機所需文件-內核、開機菜單以及所需配置文件等
/dev 以文件形式存放任何設備與介面
/etc 配置文件
/home 用戶家文件
/bin 存放單用戶模式下還可以操作的命令
/lib 開機時用到的函數庫,以及/bin與/sbin下面的命令要調用的函數
/sbin 開機過程中需要的命令
/media 用於掛載設備文件的目錄
/opt 放置第三方的軟體
/root 系統管理員的家目錄
/srv 一些網路服務的數據文件目錄
/tmp 任何人都可使用的共享臨時目錄
/proc 虛擬文件系統,例如系統內核、進程、外部設備及網路狀態等
/usr/local 用戶自行安裝的軟體
/var 主要存放日誌等經常變化的文件

linux中SCSI\SATA\U盤的命名規則為/dev/sd[a-p]
硬碟設備是由大量的扇區組成的,每個扇區的容量為512位元組。其中第一個扇區保存主引導記錄與分區表信息(446位元組),分區表64位元組,結束字元2位元組;其中分區表中每記錄一個分區信息就需要佔用16位元組,這樣一來最多隻有4個分區信息可以寫到第一個扇區中,這四個分區就是主分區。為了解決分區數不夠的問題就要將第一個扇區中的分區表中16位元組(擴展分區)拿來指向另外一個分區

主分區或擴展分區的編號從1開始,到4結束
邏輯分區的編號從5開始
舉個栗子:
主分區1 sda1 主分區2 sda2 主分區3 sda3 擴展分區
I
邏輯分區1 sda5 邏輯分區2 sda6

PS:/dev中sda之所以是a並不是由插槽決定的,而是由系統內核的識別順序來決定的
PS2:可有手動指定分區的數字編號所以並不能以編號來判定硬碟位置是設備上的第幾個
PS3:擴展分區其實並不是一個真正的分區,而更像是一個佔用16個位元組分區表空間的指針-----一個指向另外一個分區的指針

為什麼一般看不見sda4?
通常硬碟分區的二種方式,4p,3p+e,也就是說可以分為4個主分區或者3個主分區加一個擴展分區如果使3p+e的話那麼久不存在第4個主分區而是將第四個主分區的位置換為了擴展分區而擴展分區的第一個邏輯分區會被命名為sda5

⑤ linux如何擴展主分區

這里以Red hat AS4 為例。當磁碟分區發現不夠用時,能想道的第一個做法就是增加分區大小。但是一般Linux如果沒有採用邏輯卷管理,則動態增加分區大小很困難,一個能想道的辦法就是,備份分區文件系統數據,刪除分區,然後再重新創建分區,恢復備份的文件系統,這個做法比較玄,可能刪除分區後導致系統無法啟動。
第二個做法就是,創建一個新的邏輯分區(當然必須有未使用的磁碟空間能分配),將文件系統從老分區拷貝到新分區,然後修改fstab,使用新分區/文件系統替換老的分區/文件系統
第三種做法是,創建一個新的邏輯分區,將新的邏輯分區格式化ext3(或其他類型)的文件系統,mount到磁碟空間不夠的文件系統,就跟原來的分區/文件系統一樣的使用。
這里採用的是第三種方式:

sdb為第二個SCSI硬碟。

[root@hdp0 hadoop]# /sbin/fdisk /dev/sdb

The number of cylinders for this disk is set to 8942.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 73.5 GB, 73557090304 bytes
255 heads, 63 sectors/track, 8942 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 130 1044193+ 83 Linux
/dev/sdb2 131 391 2096482+ 82 Linux swap
/dev/sdb3 392 521 1044225 83 Linux
/dev/sdb4 522 8942 67641682+ 5 Extended
/dev/sdb5 522 586 522081 83 Linux
/dev/sdb6 587 651 522081 83 Linux
/dev/sdb7 652 1173 4192933+ 83 Linux

可以看出sdb1,2,3為主分區,sdb4為擴展分區。後面的sdb5,6,7則為邏輯分區。柱面編號(Start,End)是連續的,sdb7隻用道了1173,而從擴展分區看最大到8942,也就是說,還有7769個柱面是空閑的,一個柱面大小為8225280,約為8M大小。還剩7769*8225280bytes,約62G未使用。

新增加一個邏輯分區(註:若涉及到主分區和擴展分區,實際情況可能比這個復雜,這里4個主分區(包括擴展分區)都分過了,所以只能分邏輯分區)
Command (m for help): n
First cylinder (1174-8942, default 1174):
Using default value 1174
增加大小為10G
Last cylinder or +size or +sizeM or +sizeK (1174-8942, default 8942): +10240M

增加後看一下,多了一個邏輯分區/dev/sdb8
Command (m for help): p

Disk /dev/sdb: 73.5 GB, 73557090304 bytes
255 heads, 63 sectors/track, 8942 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 130 1044193+ 83 Linux
/dev/sdb2 131 391 2096482+ 82 Linux swap
/dev/sdb3 392 521 1044225 83 Linux
/dev/sdb4 522 8942 67641682+ 5 Extended
/dev/sdb5 522 586 522081 83 Linux
/dev/sdb6 587 651 522081 83 Linux
/dev/sdb7 652 1173 4192933+ 83 Linux
/dev/sdb8 1174 2419 10008463+ 83 Linux

可以看到,增加了一個sdb8的分區,柱面號從1174到2419.

寫入分區表,執行分區操作
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
分區完後,是看不到文件系統的

[root@hdp0 hadoop]# df -m
Filesystem 1M-塊 已用 可用 已用% 掛載點
/dev/sdb1 1004 582 372 62% /
none 1014 0 1014 0% /dev/shm
/dev/sdb3 1004 807 147 85% /home
/dev/sdb5 494 11 458 3% /opt
/dev/sdb7 4031 3272 554 86% /usr
/dev/sdb6 494 87 382 19% /var
重啟機器
reboot
格式化文件系統
[root@hdp0 hadoop]#/sbin/mkfs.ext3 /dev/sdb8
mount文件系統,/home/develop 為/home下一目錄

[root@hdp0 hadoop]#mount /dev/sdb8 /home/develop
查看文件系統,可以看到新建立的分區/文件系統已經掛載上,能夠使用了。
[root@hdp0 hadoop]# df -m
Filesystem 1M-塊 已用 可用 已用% 掛載點
/dev/sdb1 1004 582 372 62% /
none 1014 0 1014 0% /dev/shm
/dev/sdb3 1004 807 147 85% /home
/dev/sdb5 494 11 458 3% /opt
/dev/sdb7 4031 3272 554 86% /usr
/dev/sdb6 494 87 382 19% /var
/dev/sdb8 9621 54 9079 1% /home/develop

⑥ LINUX分區是什麼

分區就是把一片空間分割成多塊,文件系統就是分區(或者別的空間)里放的東西。

分區是將塊設備按照其物理地址分成若干區域作為可獨立管理的子設備,分區只是劃分了塊設備的地址空間,只是一種靜態劃分,分完就完了,沒有更多作用了。

Linux系統分區方式

常見的兩種分區表現形式

MBR分區表:最大支持2.1T磁碟,最多支持4個分區,支持32位和64位系統;

GPT分區表:全局唯一標示分區表,支持9.4ZB,理論上支持的分區數沒有限制,只支持64位系統。

雖然GPT是一個較新的分區機制,解決了MBR很多缺點,但是目前使用最多的還是MBR分區方式。MBR最多有4個分區,分區類型有三種:

1、主分區

2、擴展分區

①最多有一個

②擴展分區+主分區數最多不超過4個

③不能寫入數據,不能格式化,只能用來包含邏輯分區

3、邏輯分區

①包含在擴展分區內,可以有多個

②擴展分區至少要包含一個邏輯分區

閱讀全文

與linux擴展分區和主分區相關的資料

熱點內容
php多個分隔符分割 瀏覽:374
表格怎麼轉移到另一個文件夾 瀏覽:923
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90