Linux磁盤分區以及目錄掛載詳解

1、背景
linux

    一直以來,對於磁盤的分區以及Linux目錄掛載的概念都不是很清晰,如今趁着春暖花開週末在家沒事就研究了下它們,如今來分享個人理解。windows

2、概念詳解服務器

  1.磁盤分區網絡

      磁盤分區是把物理的磁盤空間按照本身的要求分紅N個不一樣大小的區域,以便OS更好更高效的進行文件存儲管理。像咱們常用的Windows系統中的C、D、E、F盤...等盤符實際就是一個個的磁盤分區。分區與操做系統沒有任何關係,由於咱們對磁盤分區能夠在安裝操做系統以前進行。ide

      磁盤分區類型:主分區、擴展分區(N個邏輯分區的集合)。spa

      硬盤組成:硬盤主引導扇區+主分區+擴展分區操作系統

  2.硬盤主要組成部分:磁頭、磁盤面、磁道、扇區、柱面命令行

     image.png

  3. 硬盤主引導扇區指針

    以機械硬盤爲例,其中硬盤主引導扇區位於硬盤的 0磁頭0柱面1扇區(也就是所謂的Boot Sector),它又分爲:硬盤主引導記錄(MBR) + 硬盤分區表(DPT),共512個字節,其中MBR446字節、分區表64字節以及2字節的結束標誌。日誌

  4. 硬盤主引導記錄(MBR)

     位於磁盤最前邊的一段引導(Loader)代碼。它負責磁盤操做系統(DOS)對磁盤進行讀寫時分區合法性的判別、分區引導信息的定位,它由磁盤操做系統(DOS)在對硬盤進行初始化時產生的。

  5.操做系統啓動過程簡述

    電腦開機時,操做系統經過BIOS(BIOS實際是一個基礎輸入輸出系統,主要用於和計算機硬件打交道)程序把Boot Sector讀入內存,而後執行其中的MBR,這個時候BIOS是把啓動交給MBR控制, MBR在4個分區表中搜索標緻爲活動的分區,找到之後把活動分區的第一扇區讀入內存,而後開始執行它,以此來運行特定系統的啓動程序(LILO、GRUB、NT Loader),此時是操做系統的引導程序來控制系統的啓動。接着操做系統進行一系列的初始化工做,最後把系統交給系統內核進行管理,就完成了開機啓動的過程。

  6.主分區、擴展分區、邏輯分區 

     操做系統必須安裝在主分區上,由於MBR中記錄着主分區信息,系統啓動的時候會到主分區來查找操做系統引導文件,不然系統將沒法啓動。由於磁盤分區表一共64個字節,而且每一個主分區的分區信息佔16個字節,因此一個磁盤最多能有4個主分區。那麼問題來了,咱們想要更多的分區怎麼辦呢?這個時候擴展分區的做用就來了,把最後一個主分區做爲擴展分區,再在這個分區下分割出多個邏輯分區,擴展分區其實是一個相似容器的東西。擴展分區並非一個真實存在的分區,它只是內存管理鏈表中的一個指針,指示出哪一塊區域是擴展分區。又由於這些擴展分區內的分區實際上都是在一個分區內,只是邏輯上分開,因此叫作邏輯分區。但這對於用戶來講看起來系統中有不少分區。

  7.linux磁盤命名方式

     IDE硬盤--->hda、hdb、hdc、hdd 

     SATA硬盤--->sda、sdb、sdc、sdd

  8. linux分區命名方式

     IDE硬盤--->hda(1-n)...hdb(1-n)...hdd(1-n)

     SATA硬盤--->sda(1-n)...sdb(1-n)...sdd(1-n)

     注:其中最後一位數字,主分區是1到4,而邏輯分區是5以上的數字。

  9.Linux文件系統結構

     Linux和Windows系統的文件系統不一樣,它是樹形結構的文件系統,其中/是系統的根目錄,其餘全部目錄都是它的子節點,通常該目錄下掛載的是一個主分區。並且不管什麼設備對於linux系統來講都是一個文件 。並且在linux系統中,咱們看不到盤符的概念,就連分區的概念都被淡化了,分區在linux系統中也和其餘設備同樣被當成了文件對待。那麼也就是說,咱們要想對一個磁盤分區進行操做,必須經過文件進行。

  10.linux掛載

     掛載就是把文件目錄和分區鏈接起來,與windows下盤符和分區進行映射的關係同樣,不一樣的是windows是把分區映射到一個盤符,而linux是把一個分區映射到一個目錄。掛載完成之後,咱們在linux系統中對掛載的目錄的任何操做都是對對應的磁盤分區的操做,例如文件保存固然也是保存到對應的磁盤分區上。 其中/根目錄必須掛載在主分區上,不然啓動系統的時候會因爲找不到啓動文件而啓動失敗。

  11.相關經常使用命令

    df -Th 查看當前系統的分區狀況

    fdisk -l 查看當前系統分區信息詳情

    mount 掛載分區

    unmount 卸載分區

  12.Linux分區掛載點介紹

  • /     根分區,全部未指定掛載點的目錄都會放到這個掛載點下

  • /boot  啓動分區,通常設置100M-200M,boot目錄包含了操做系統的內核和在啓動系統過程當中所要用到的文件

  • /home 用戶目錄,通常每一個用戶100M左右,特殊用途,好比放大文件也可再加上G。分區大小取決於用戶多少。對於多用戶使用的電腦,建議把/home獨立出來,並且還能夠很好地控制普通用戶權限等,好比對用戶或者用戶組實行磁盤配額限制、用戶權限訪問等.

  • /tmp   臨時文件目錄,通常設置1-5G,方便加載ISO鏡像文件使用,對於多用戶系統或者網絡服務器來也有獨立掛載的必要。臨時文件目錄,也是最常出現問題的目錄之一

  • /usr  系統資源,通常設置要3-15G,大部分的用戶安裝的軟件程序都在這裏。就像是Windows目錄和Program Files目錄。不少Linux家族系統有時還會把/usr/local單獨做爲掛載點使用

  • /var  可變數據目錄,包含系統運行時要改變的數據。一般這些數據所在的目錄的大小是要常常變化的,系統日誌記錄也在/var/log下。通常多用戶系統或者網絡服務器要創建這個分區,設立這個分區,對系統日誌的維護頗有幫助。通常設置2-3G大小,也能夠把硬盤餘下空間所有分爲var.

  • /srv  系統服務目錄,用來存放service服務啓動所需的文件資料目錄,不常改變。

  • /opt  附加應用程序目錄,存放可選的安裝文件,我的通常把本身下載的軟件資料存在裏面,好比Office、QQ等等.

  • /swap  交換分區,通常爲內存2倍,最大指定2G便可

  • /bin    二進制可執行目錄,存放二進制可執行程序,裏面的程序能夠直接經過命令行調用,而不須要進入程序所在的文件夾

  • /sbin  系統管理員命令存放目錄,存放標準系統管理員文件

  • /dev   存放設備文件,驅動文件等

3、總結

     經過以上的描述,咱們就很容的弄明白了磁盤分區以及Linux目錄掛載的概念,並且還了解到了一些別的概念好比 硬盤主引導扇區、硬盤主引導記錄(MBR)、操做系統啓動過程等等,經過這樣一點一點的基積累,我相信咱們會離大神愈來愈近的。加油!

相關文章
相關標籤/搜索