基本概念:
系統分區也叫磁盤分區,它是使用分區編輯器(partition editor)在磁盤上划分幾個邏輯部分。碟片一旦划分成數個分區(partition),不同類的目錄與文件可以存儲進不同的分區。
一、分區——把硬盤分為小的邏輯分區。
分區可以分為以下三個類型:
1、主分區:最多只能有4個。
2、擴展分區:
最多只能有一個。
主分區加擴展分區最多有4個。
並且擴展分區不能寫入數據,也不能格式化(其實格式化本質上也是寫入數據),只能用來包含邏輯分區。
3、邏輯分區:可以正確的寫入數據和格式化。
如上圖所示,1、2、3分區是主分區,4是擴展分區,擴展分區下有兩個邏輯分區(5和6),這種限制不是Linux系統限制的,而是硬盤限制的,只要硬盤的結構不發生改變,這種結構就不會發生變化。相比於Windows系統,C盤就相當於主分區,剩余的空間都是
擴展分區,也就是說D、E、F盤等就相當於邏輯分區。
二、硬盤的格式化——寫入文件系統。
硬盤在進行分區之后,並不能直接寫入數據,還必須經過格式化處理后才能進行數據的寫入。
格式化又稱為邏輯格式化,它是指根據用戶選定的文件系統(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盤的特定區域寫入特定數據,在分區中划出一片用於存放文件的分配表、目錄等用於文件管理的磁盤空間。因此,格式化的目的就是在硬
盤當中寫入文件系統。這也就解釋了為什么我們買的硬盤或者U盤明明是8G的,但是實際可用空間小於8G的原因。
文件系統會默認的將硬盤分割等大小的空間(數據塊),有默認的空間大小,比如說是4kb,如果有個文件的大小為10kb,存儲在硬盤當中就占了3個單元空間,即4kb+4kb+2kb,剩余的2kb的不會再進行數據的存放;但是這三個空間在硬盤中是不會連續存儲的,
所以也就有了文件的目錄系統。(windows中有個磁盤管理工具:磁盤碎片管理——把保存文件的數據塊,盡可能的放在一起,以便於數據的讀取)
文件的目錄系統:記錄了數據存放的地址。
三、分區設備文件名——給每個分區定義設備文件名。
例如,在 Linux中,所有的硬件設備都是文件。如下表:
具體的硬盤可以自行查閱資料哈~感覺不需要完全弄懂,只需要當看到某個文件時知道它大概是個什么東西就好了~
下圖展示了常用的硬盤分區方法:
假設上方的兩個硬盤sda和sdb,sda分成了三個主分區(1、2、3)和一個擴展分區(4),擴展分區下分成了兩個邏輯分區(5、6);sdb分成了一個主分區(1)和一個擴展分區(2),擴展分區下分成了3個邏輯分區(5、6、7)。
通過觀察可以發現,邏輯分區的區號永遠都是從5開始的,也就是說5分區永遠都是邏輯分區的第一個分區。
四、掛載(掛載這里我也是學的一臉懵逼)——給每個分區分配掛載點。
可以理解為Windows中的分配盤符,這個盤符就是掛載點(純理論),掛載點也就是分區的盤符。Linux使用空的目錄名稱作為盤符。
在Linux當中,必須要有以下兩個分區:
1、/(根分區)
2、swap分區(交換分區,大小一般為內存的2倍,但最大不超過2GB),交換分區可以理解為Windows當中的虛擬內存,當內存不足時,可以把交換分區的空間作為內存空間使用。
以上兩個分區設置好之后,Linux系統就可以正常使用了。
還有一個推薦的分區,/boot(啟動分區,大小一般為200MB,ps:現在可能更大了),用來保存啟動時需要的數據,如果不進行boot分區的話,當所有的數據(包含啟動數據)填滿了跟分區之后,系統很有可能無法啟動。有了boot分區,就能保證系統任何時候
都有空余的空間,以保證系統的正常啟動。
五、Linux的文件系統結構。
如上圖所示,根分區是可以單獨的分配一個磁盤空間,根分區下的/home目錄和/boot目錄也可單獨分配磁盤空間,往根分區下寫入數據時,是寫入sda3當中的(上圖左邊的etc目錄就是保存在sda3當中的),往/home中寫入數據時,最終是往
sda2中寫入數據;boot目錄也是一樣的。並且,boot分區默認會占用sda1分區,這是因為boot分區是啟動分區,系統系統時會從1分區開始掃描啟動文件,這樣可以加快啟動速度。
終上所述,Linux系統的安裝過程經過了以下幾個步驟:先給系統進行分區,分完區之后需要對硬盤進行格式化,然后需要給每個分區指定一個設備文件名,最后給每個分區分配一個掛載點,這個分區就可以正常使用了。