『學了就忘』Linux檔案系統管理 — 59、使用fdisk命令進行手工分割槽

繁華似錦Fighting發表於2021-12-02

之前在安裝Linux系統的時候,我們通過圖形化介面,進行過磁碟的分割槽(需要的請看安裝Linxu系統時分割槽詳細說明),但是在這之後我不能保證,我不再需要新增新的磁碟再進行分割槽,這時候就需要手工進行分割槽了。

1、手工分割槽前提

(1)要有一塊新的硬碟

如果需要手工分割槽,首先要有一塊新的硬碟。

檢視系統所有硬碟及分割槽,執行命令如下:

[root@localhost ~]# fdisk -l

說明:

  • fdisk是手工分割槽的命令。
  • -l 就是查詢。

查詢結果如下圖:

image

從上圖可以看出,有一個硬碟Disk /dev/sda,大小是 21.5 GB

這塊硬碟有三個分割槽,分別為/dev/sda1/dev/sda2/dev/sda3

提示:用df命令和mount命令也是可以看到系統的分割槽資訊。

(2)在虛擬機器中新增一塊新硬碟

我們平常學習Linux系統一般是用虛擬機器來進行學習,虛擬機器中可以隨時新增一塊新的硬碟。(不用單獨在去買新硬碟)

提示:在新增硬碟前(虛擬機器新增硬體之前),需要先關機。因為在VMware10版本以後,能不關機進行新增硬體裝置,但是你新增完成後,Linux系統需要重啟以後才能夠識別到,所以還是直接關機在新增硬碟吧。

1)進入配置虛擬機器硬碟頁面

  • 方式一:點選虛擬機器的硬碟選項(任何一個選項都可以)
    image
  • 方式二:選擇虛擬機器—>設定
    image

以上兩種方式都能進入到虛擬機器設定頁面(硬碟設定在裡面),如下圖所示:

image

2)新增硬碟步驟

@1、選擇硬碟,點選新增。

image

@2、選擇硬碟,下一步。

image

@3、選擇磁碟型別。

其實就是選擇磁碟介面型別,這些介面都是虛擬出來的。預設即可。

image

說明:雖然我們之前說過,前兩個介面型別是比較老式的介面,但都是虛擬出來的介面,效能上區別不大,而SCSI介面和SATA介面,在Linux系統中裝置名都會被識別為sd開頭(IDE為hd開頭)。所以預設就可以,實際的伺服器上選擇SATA介面。

@4、選擇磁碟模式。

選擇建立新虛擬磁碟(V),下一步。

image

選擇該磁碟模式,在客戶機作業系統中一個磁碟檔案代表著一個硬碟。虛擬磁碟可以十分方便的在相同的或不同的主機之間進行復制或移動。

@5、選擇磁碟大小。

選擇將虛擬磁碟儲存為單個檔案,下一步。

image

注意:

  • 立即分配所有磁碟空間:會立即分配所設定的磁碟空間,而不是允許磁碟空間逐漸增長到最大。(無需立即分配,佔用空間)
  • 選擇單檔案和多檔案:如果是FAT32分割槽的最大支援4G檔案,你不拆分也得拆分,如果是NTFS的分割槽,則不需要拆分。多檔案官方是說便攜性好,其實兩個都好移動,很明顯是單檔案好。

@6、指定虛擬磁碟檔案的名稱和位置。

需要給磁碟檔案命名和指定目錄,可以選擇預設值,如果需要也可以更改名稱和目錄,點選“瀏覽”可以更改目錄。確認後點選“完成”,那麼一個新的磁碟就新增好了。

image

@7、點選完成後可以看到虛擬機器中一個新的硬碟建立完成。

image

點選確定,開啟虛擬機器,手工分割槽的前提就準備完成了。

提示:
如果新增新硬碟之後,開啟虛擬機器,執行ifconfig命令,檢視不到IP地址,極有可能就是硬碟裝置的UUID衝突了,解決請看這篇文章解決,點選這裡直達

2、手工分割槽

(1)檢視Linux系統所有硬碟及分割槽

先檢視一下Linux系統所有硬碟及分割槽,執行如下命令:

[root@localhost ~]# fdisk -l

結果如下圖,可以看到系統中有兩塊硬碟sdaadb,並且adb硬碟沒有做任何分割槽。

image

(2)手工分割槽:詳細步驟

執行[root@localhost ~]# fdisk /dev/sdb命令,進入磁碟分割槽(硬碟還沒有進行分割槽,所以還沒有分割槽號,這裡就不用寫分割槽號)

執行結果如下圖:

image

說明:提示你輸入命令(輸入m會獲取幫助)。

1)瞭解fdisk命令選項。

輸入m,檢視fdisk命令的選項,結果如下圖:

image

fdisk 互動指令說明:

  • a:設定可引導標記。
  • b:編輯bsd磁碟標籤。
  • c:設定DOS作業系統相容標記。
  • d:刪除一個分割槽。(常用)
  • l:顯示已知的檔案系統型別的ID號。82為Linux swap分割槽,83為Linux分割槽。(常用)
  • m:顯示幫助選單。(常用)
  • n:新建分割槽。(常用)
  • o:建立空白DOS分割槽表。
  • p:顯示分割槽列表。(常用)
  • q:不儲存退出。(常用)
  • s:新建空白SUN磁碟標籤。
  • t:改變一個分割槽的系統ID號。(常用)
  • u:改變顯示記錄單位。
  • v:驗證分割槽表。
  • w:儲存退出。(常用)
  • x:附加功能(僅專家)。

不常用的瞭解一下就可以了。

2)建立新分割槽。

@1、輸入n,結果如下圖:

image

詢問你是建立擴充套件分割槽,還是主分割槽。

  • eextended
  • pprimary partition(1-4)

一塊硬碟最少要有一個主分割槽,然後剩下的空間可以按需分配主分割槽或者擴充套件分割槽。

@2、輸入p建立一個主分割槽,輸入1(數字一)表示主分割槽號,然後主分割槽的裝置號最後就為sdb1(一個硬碟最多有4個分割槽)

如下圖所示:

image

@3、選擇該分割槽的起始柱面。

說明:

硬碟是以柱面作為物理儲存結構的,一圈柱面大概儲存容量是80-100MB。就相當於讓你選擇從硬碟頭開始分配,還是從硬碟的某一個位置開始分配。

如果從某一個位置開始分,前面的空間就很難被利用了,注意現在這個硬碟是未分割槽的空硬碟。別自己給自己找麻煩,後期調整起來很麻煩。

我們就從頭還是分配,選擇1,預設值就是1,可以直接回車。

如下圖所示:

image

@4、選擇結束柱面。

如下圖所示:

image

可以看到上圖允許以位元組的方式輸入,但是計算的時候還是按柱面來計算,因為一個柱面大約80MB多,所以最終的結果會和位元組方式輸入的數值上下差一點。

如果直接回車,預設從第一個柱面開始分配到最後一個柱面。就是整個硬碟做了一個分割槽。

給分割槽分配2BG大小,如圖:

image

注意:記得加單位,如果不加單位,按柱面算。

@5、然後主分割槽就完成了,輸入p檢視一下分割槽列表。

如下圖所示:

image

上圖顯示,出現了一個分割槽sdb1,佔用從柱面1到262柱面,分割槽的大小是blocks,分割槽id號是83(具體對照可以看l選項),系統為Linux系統。

3)建立擴充套件分割槽如下圖:

image

上面圖中的步驟解釋如下:

  • n:建立新分割槽
  • 2:輸入分割槽號(1別上邊的主分割槽佔用了)
  • 起始柱面和結束柱面:都選擇了預設,也就是從柱面263到2610,剩下的空間都給擴充套件分割槽了。

輸入p檢視一下分割槽列表,擴充套件分割槽建立完畢。

如下圖所示:

image

可以看到新建sdb2分割槽,是一個擴充套件分割槽,之前我們說過擴充套件分割槽是不能寫入資料的,需要在擴充套件分割槽裡邊劃分邏輯分割槽,在邏輯分割槽中儲存資料。

4)建立邏輯分割槽。

接下來在擴充套件分割槽裡邊建立一個邏輯分割槽,如下:

image

可以看到上圖中,是讓你選擇是建立邏輯分割槽,還是主分割槽。因為一個硬碟只能建立一個擴充套件分割槽,我們上邊建立過了。所以就只能在擴充套件分割槽裡建立邏輯分割槽了。

選擇1建立邏輯分割槽。之後可以看到沒有讓你選擇分割槽號,因為邏輯分割槽預設是從5開始的,依次向後遞增,也就是說邏輯分割槽的編號是自動賦予的。

最後的起始柱面和結束柱面分配同上。

輸入p檢視一下分割槽列表,擴充套件分割槽中的第一個邏輯分割槽建立完畢。

如下圖所示:

image

擴充套件分割槽中剩餘的空間還可以在按需分配更多邏輯分割槽。

基本分割槽就以上三種情況。

(3)儲存手工分割槽

輸入w選項,儲存退出。

結果如下圖:

image

系統會提示你,分割槽表已更改並儲存!正在同步磁碟(Syncing disks)。

但是有時因為系統的分割槽表正忙,則需要重新啟動系統之後才能使新的分割槽表生效。

如下圖所示:

image

看到如上提示,重啟系統就可以了,你之前配置的分割槽設定其實已經被儲存了。重啟一下就生效了,不用在重新編輯,繼續後面的操作就可以。

通過前邊兩步,我們已經對硬碟做了一個分割槽操作,但是還沒有完,繼續操作。

檢視一下Linux系統所有硬碟及分割槽。

執行[root@localhost ~ ] # fdisk -l,可以看到因硬碟的分割槽情況。

如下圖所示:

image

繼續後邊的操作。

3、硬碟格式化

硬碟的格式化是為了建立檔案系統。

注意:擴充套件分割槽不能寫入資料,也不能進行格式化。唯一的作用就是包含邏輯分割槽。所以可以格式化的分割槽只有sdb1sdb5兩個分割槽。如上圖。

格式化分割槽用mkfs命令。

執行命令:

[root@localhost ~]# mkfs -t ext4 /dev/sdb1

結果如下:

image

sdb5分割槽同理。

mkfs命令非常簡單易用,不過是不能調整分割槽的預設引數的(比如塊大小是4096)。這些預設引數除非特殊情況,否則不需要調整(預設值已經很優化了,沒事不要給自己增添麻煩)。

如果想要調整就需要使用mke2fs命令進行重新格式化。

命令格式如下:

[root@localhost ~]# mke2fs [選項] 分割槽裝置檔名

選項:

  • -t:檔案系統:指定格式化成哪個檔案系統,如ext2ext3ext4
  • -b:位元組:指定block塊的大小。
  • -i:位元組:指定“位元組/inode”的比例,也就是多少個位元組分配一個inode
  • -j:建立帶有ext3日誌功能的檔案系統。
  • -L:卷標名:給檔案系統設定卷標名,就不使用e2labe1命令設定了。

舉個例子:
格式化分割槽,並指定block的大小為2048。

[root@localhost ~]# mke2fs -t ext4 -b 2048/dev /sdb6

注意:不推薦是用mke2fs命令。格式化分割槽就用mkfs命令就很好。

4、建立掛載點,並掛載

掛載點就是建立一個空目錄,用於掛載硬碟中分割槽。

如下圖所示:

image

5、檢視磁碟分割槽情況

可以用以下三個命令進行檢視:

  • mount:檢視所有已經掛載的分割槽和光碟。
  • fdisk -l:檢視系統分割槽。
  • df:檢視分割槽佔用百分比。

(1)檢視所有已經掛載的分割槽和光碟

執行[root@localhost ~ ] # mount命令。

結果如下圖:

image

(2)檢視系統分割槽佔用百分比

執行[root@localhost ~ ] # df -h命令。

結果如下圖:

image

相關文章