linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少
0x01 Linux 分區簡介
主分區 vs 擴展分區
硬盤分區表中最多能存儲四個分區,但我們實際使用時一般只分為兩個分區,一個是主分區(Primary Partion)一個是擴展分區(extended partition),主分區可以馬上被使用但不能再分區,擴展分區必須再進行分區后才能使用,也就是說它必須還要進行二次分區。那么由擴展分區再分下去的是什么呢?它就是邏輯分區(Logical Partion),邏輯分區沒有數量上限制。
驅動器標示的含義
對Linux用戶來說無論有幾個分區,都得分給目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構。Linux中每個分區都是用來組成整個文件系統的一部分,因為它采用了一種叫“掛載點”的處理方法,它的整個文件系統中包含了一整套的文件和目錄,且將一個分區和一個目錄聯系起來。這時要載入的一個分區就在linux的存儲空間的某個目錄下獲得。
對于IDE硬盤,驅動器標識符為“hdx1”,其中“hd”表明分區所在設備的類型,這里是指IDE硬盤了。“x”為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),“1”代表分區,前四個分區用數字1到4表示,它們是主分區或擴展分區,從5開始就是邏輯分區。例,hda3表示為第一個IDE硬盤上的第三個主分區或擴展分區,hdb2表示為第二個IDE硬盤上的第二個主分區或擴展分區。對于SCSI硬盤則標識為“sdx1”,SCSI硬盤是用“sd”來表示分區所在設備的類型的,其余則和IDE硬盤的表示方法一樣。
上面可以看到,Linux的分區是不同于其它操作系統分區的,它的分區格式常用的有Ext3和Swap兩種,Ext3用于存放系統文件,Swap則作為Linux的交換分區(相當于windows中的虛擬內存文件)。那么現在我們就可以知道Linux至少需要兩個專門的分區(Linux Native(本地)和Linux Swap(交換))。由于不能將Linux安裝在Dos/Windows分區。一般來說我們將Linux安裝一個或多個類型為“Linux Native”的硬盤分區,但是在Linux的每一個分區都必須要指定一個“Mount Point”(掛載點),告訴Linux在啟動時,這個目錄要給哪個分區使用。對“Swap”分區來說, 一般也定義一個,且它不必要定義載入點。
下面我們先對“Linux Native”和“Linux Swap”有個初步的了解。
SWAP分區是LINUX暫時存儲數據的交換分區,它主要是把主內存上暫時不用得數據存起來,在需要的時候再調進內存內,且作為SWAP使用的分區不用指定“Mout Point”(載入點),既然它作為交換分區,我們理所當然應給它指定大小,它至少要等于系統上實際內存的量,一般來說它的大小是內存的一至兩倍。另外你也可以創建和使用一個以上的交換分區,最多16個。
Linux Native是存放系統文件的地方,一般用EXT4的分區類型,對Linux來說,有了較大的選擇余地,可以把系統文件分幾個區來裝(必須要說明掛載點),也可以就裝在同一個分區中(掛載點是“/”)。
為什么要自定義多個分區
a. 在不損失數據的情況下重裝系統,比如獨立設置/home掛載點,重裝系統的時候直接標記回/home,數據不會有任何損失。
b. 針對不同掛載點的特性分配合適的文件系統以合理發揮性能,比如對/var使用reiserfs,對/home使用xfs,對/使用ext4。
c. 針對不同的掛載點開啟不同的掛載選項,如是否需要即時同步,是否開啟日志,是否啟用壓縮。
d. 大硬盤搜索范圍大,效率低
e. 磁盤配額只能對分區做設定
f. /home、/var、/usr/local 經常是單獨分區,因為經常會操作,容易產生碎片
0x02 掛載點目錄簡介
常見的掛載目錄結構
目錄結構
常見的掛載目錄說明
/ 根目錄,存放系統命令和用戶數據等(如果下面掛載點沒有單獨的分區,它們都將在根目錄的分區中)
/boot boot loader 的靜態鏈接文件,存放與Linux啟動相關的程序
/home 用戶目錄,存放普通用戶的數據
/tmp 臨時文件
/usr 是Linux系統存放軟件的地方,如有可能應將最大空間分給它
/usr/local 自已安裝程序安裝在此
/var 不斷變化的數據,服務器的一些服務、日志放在下面
/opt (Option可選的)附加的應用程序軟件包
/bin 基本命令執行文
/dev 設備文件
/etc 主機特定的系統配置
/lib 基本共享庫以及內核模塊
/media 用于移動介質的掛載點
/mnt 用于臨時掛載文件系統或者別的硬件設備(如光驅、軟驅)
/proc 系統信息的虛擬目錄(2.4 和 2.6 內核),這些信息是在內存中,由系統自己產生的
/root root 用戶的目錄
/sbin 基本系統命令執行文件
/sys 系統信息的虛擬目錄(2.6 內核)
/srv 系統提供的用于 service 的數據
/usr/X1186 X-Windows目錄,存放一些X-Windows的配置文件
/usr/include 系統頭文件,存儲一些C語言的頭文件
/usr/src Linux內核源代碼,Linux系統所安裝的內核源代碼都保存在此
/usr/bin 對/bin目錄的一些補充
/usr/sbin 對/sbin目錄的一些補充
/lost+found 這個目錄在大多數情況下都是空的。但是如果你正在工作突然停電,或是沒有用正常方式關機,在你重新啟動機器的時候,有些文件就會找不到應該存放的地方,對于這些文件,系統將他們放在這個目錄下
為什么 linux 的分區需要有掛載這個動作呢
因為linux 下一切皆文件!換句說法就是linux操作系統將系統中的一切都作為文件來管理。在windows中我們常見的硬件設備(打印機、網卡、聲卡...)、磁盤分區等,在linux中統統都被視作文件,對設備、分區的訪問就是讀寫對應的文件。
0x03 實戰分區掛載
臨時掛載
$ mount /dev/sda3 /data ##sda3分區掛載在data目錄下
$ umount /data ##卸載data目錄下分區
永久掛載:開機自動掛載
需要修改/etc/fstab
LABEL=/data /data ext3 defaults 1 2
修改為:
/dev/sda3 /data ext3 defaults 1 2
PS:fstab 是文件系統分配表的配置文件,該文件有著嚴格的語法格式限制,類似 crontab 一樣,保存時也會對你的輸入格式進行校驗,請慎重使用,否則會有意想不到的問題發生。其一共有 6 個字段,空格分隔。
添加硬盤&分區&掛載
參考之前寫的文摘《Centos下磁盤分區及掛載》
0x04 通過 fstab 設置開機掛載的問題
Linux 在啟動的時候通過 fstab 中的信息掛載各個分區,一個典型的分區條目就像這樣:
/dev/sda3 /data ext3 defaults 1 2
/dev/sda3 為需要掛載的分區,sda3是 Linux 檢測硬盤時按順序給分區的命名,一般來講,這個名稱并不會變化,但是如果你有多塊硬盤,硬盤在電腦中的順序變化的時候,相同的名稱可能代表著不同的硬盤分區。這樣的話上面設置的開機自動掛載就會出現找不到分區上面的文件情況
這個時候 UUID 就派上用場了,UUID 全稱是 Universally Unique Identifier,也就是說,每個分區有一個唯一的 UUID 值,這樣就不會發生分區識別混亂的問題了。
在 fstab 中用 UUID 掛載分區格式如下:
UUID=7cc82613-5be2-4e58-b359-0920613f9509 /data ext3 defaults 1 2
可以通過下面命令得到分區的UUID
$ ls -l /dev/disk/by-uuid/
0x05 FAQ
a. 掛載點必須是一個目錄
b. 一個分區掛載在一個已存在的目錄上,這個目錄可以不為空,但掛載后這個目錄下以前的內容將不可用。對于其他操作系統建立的文件系統的掛載也是這樣,卸載后,目錄以前的文件都還在,不會有任何丟失
c. 目錄只占磁盤里的一個inode,存放文件屬性等信息
d. 任何一個分區都必須掛載到某個目錄上
e. 目錄是邏輯上的區分。分區是物理上的區分
f. 磁盤Linux分區都必須掛載到目錄樹中的某個具體的目錄上才能進行讀寫操作
g. 根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區
h. 一個分區可以掛在多個目錄,但反過來一個目錄只能是一個分區的掛載點
總結
以上是生活随笔為你收集整理的linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东莞车牌多少钱啊?
- 下一篇: linux nuttx 环境搭建,ubu