Linux 磁盤分區詳解

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

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

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

主設備號+次設備號+磁盤分區號

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

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

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

磁盤分區

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

P+P+P+P 或者 P+P+P+E

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

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

為什么最多只能劃分四個主分區呢

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

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

  • MBR 占 446 字節
  • 磁盤分區表占 64字節
  • 結束標識符占兩個字節

磁盤分區表總共只有 64 字節,而每個分區信息占 16 個字節,所以就只能有四個主分區了

主分區和擴展分區有什么區別嗎

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

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

為什么要對磁盤進行分區呢

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

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

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

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

磁盤分區的目的,

  • 將常用的數據掛載在同一分區,可以加快讀取的速率
  • 分區之間相互獨立,當某一個分區的數據受損時不會影響其他分區
  • 多個分區可以支持安裝多個操作系統
  • 每個分區可以是不同的文件系統
那如何進行分區呢

Linux 常見目錄:

  • / :作為系統文件系統的根目錄 ,所有的掛載點都要直接或間接的掛載在根分區上。
  • /swap :交換分區,作為虛擬內存使用,通常分成內存的兩倍。
  • /boot :引導分區,存放引導文件,如Linux內核等。
  • /home:用戶主目錄,類似于 Windows 下的 Users目錄,保存個人設置和信息
  • /tmp :用來存放不同程序執行時產生的臨時文件,系統重啟時不會保存
  • /usr :儲存所安裝的程序和系統的配置等文件,用戶的很多應用程序和文件都存放在這個目錄下。
  • /root :如果你是以超級用戶的身份登錄的,這個就是超級用戶的主目錄。
  • /sbin :這個目錄用來存放系統管理員的系統管理程序。
  • /etc :存放了系統管理時要用到的各個配置文件和子目錄。
  • /dev :包含了所有 Linux系統中使用的外部設備。但是這里并不是放外部設備的驅動程序。

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

  • /swap交換分區:一般設置為內存的兩倍,設置大了也沒用
  • / 根分區:剩下容量的分給根分區就可以了

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

  • / 根分區: 20G
  • /boot 啟動分區: 200M
  • /swap 交換分區:一般設置內存的兩倍
  • /home分區:剩下的全部放在該分區
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容