CodeGym /課程 /Docker SELF /分區格式化: `mkfs`

分區格式化: `mkfs`

Docker SELF
等級 6 , 課堂 1
開放

1. 格式化時發生了什麼?

當我們格式化分區時,實際上我們是為數據創造了一個“全新的頁面”。格式化會刪除分區上的所有內容,並創建一個新的檔案系統,以定義文件如何被組織以及如何訪問它們。

想象一下圖書館。格式化就像您清空了所有舊書,安裝了新的書架,並在每個書架上貼上一個標籤以顯示類別。現在一切都很有條理——您知道每本新書應該放在哪裡。

為什麼需要格式化設備?

  1. 準備新設備(磁盤或分區):任何設備在使用之前都必須進行格式化。這就像是筆記本中的空白頁——在你確定它的用途之前,它是沒有用的。
  2. 更改檔案系統:例如,如果你需要從FAT32轉換到ext4,你就需要進行格式化。
  3. 清除舊數據:當你想完全清空設備並重新開始時,格式化是最佳選擇。

重要提醒:格式化後,分區上的所有數據將被刪除。因此,請務必確認設備上沒有重要信息。


2. 工具 mkfs:語法和使用方法

程式 mkfs 是你進行分區格式化的主要工具。它支援廣泛類型的檔案系統,因此幾乎可以在任何情況下使用。

指令的一般語法

mkfs.<檔案系統類型> <設備>

例如,將分區 /dev/sdb1 格式化為檔案系統 ext4:

mkfs.ext4 /dev/sdb1

支援的檔案系統

mkfs 支援大多數常見的檔案系統類型。以下是其中的一些:

檔案系統 指令 應用
ext4 mkfs.ext4 主要的 Linux 檔案系統,支援大型檔案和磁碟。
xfs mkfs.xfs 高效能,適合大檔案及伺服器負載。
vfat (FAT32) mkfs.vfat 適用於 Linux、Windows 和 MacOS 之間的資料交換。
ntfs mkfs.ntfs 與 Windows 相容(雖然從 Linux 編輯可能有點麻煩)。

要獲取所有支援的檔案系統完整列表,請使用以下指令:

mkfs -t help

3. 範例:將分區格式化為ext4

來看看分區格式化的逐步流程吧。

1. 檢查設備

首先,找到需要格式化的設備名稱。使用命令lsblk

lsblk

輸出會顯示所有連接設備和它們的分區列表。例如:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   45G  0 part /home
└─sda3   8:3    0    5G  0 part [SWAP]
sdb      8:16   0  200G  0 disk 
└─sdb1   8:17   0  200G  0 part 

假設我們要格式化分區/dev/sdb1

2. 確保分區未挂載

在格式化之前,設備不能處於挂載狀態。檢查掛載狀態請使用:

sudo umount /dev/sdb1

3. 開始格式化

現在在選擇的分區上建立ext4檔案系統:

sudo mkfs.ext4 /dev/sdb1

命令的輸出大概如下:

mke2fs 1.45.7 (28-Jan-2021)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 5634f623-7b2d-4d6b-b8f5-abcdef123456
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, ...
注意事項:

UUID 是檔案系統的唯一識別碼。我們建議在/etc/fstab中使用它來指定挂載點。

4. 驗證結果

確認檔案系統是否已建立:

sudo blkid /dev/sdb1

輸出將顯示設備上現在已建立ext4檔案系統:

/dev/sdb1: UUID="5634f623-7b2d-4d6b-b8f5-abcdef123456" TYPE="ext4"

4. 檔案系統的選擇

該選擇哪種檔案系統呢?這都取決於你的需求。以下是一些建議:

  1. ext4: 適用於Linux的通用選擇。適合大部分場景。
  2. XFS: 如果你需要處理大檔案或者伺服器上的高效能。
  3. FAT32 (vfat): 如果需要在Windows和MacOS之間共用設備。需注意,這裡的單一檔案最大尺寸限制為4GB。
  4. NTFS: 與Windows相容,但在Linux中效能可能比ext4低。
給學生的建議:

如果不確定,直接使用ext4吧。它幾乎不會讓你失望。


5. 格式化時的常見錯誤

格式化是一項需要特別小心的任務。以下是幾個可能的錯誤及避免它們的方法:

  • 格式化錯誤的設備: 為了避免這種情況,請務必檢查你打算操作的設備 (lsblkblkid 能幫助你)。

  • 設備仍然掛載: 如果設備已掛載,mkfs 指令會報錯。請確保設備已卸載。

  • 意外刪除數據: 絕不要在未確認的分區上運行 mkfs,因為所有內容都會被刪除。如果不確定,最好在格式化之前備份數據。

實際應用

了解格式化的重要性不僅對系統管理員有幫助,對開發者來說也一樣。例如,如果你在使用雲端平台,例如 AWS 或 Azure,你會經常需要為應用程式創建和格式化分區。此外,當你想配置外部硬碟或者 USB 隨身碟來存儲數據時,這些技能也很實用。

記得,正確配置的檔案系統是你應用程式穩定運行的基礎。畢竟,沒有人希望在截至期限前 5 分鐘收到 "找不到檔案系統" 的錯誤訊息吧?

現在,你已了解如何格式化設備及選擇檔案系統,準備好進入下一步:使用命令 fsck 來檢查並修復檔案系統。

1
任務
Docker SELF, 等級 6, 課堂 1
上鎖
檢測已連接的設備
檢測已連接的設備
1
任務
Docker SELF, 等級 6, 課堂 1
上鎖
檢查設備的檔案系統
檢查設備的檔案系統
1
任務
Docker SELF, 等級 6, 課堂 1
上鎖
格式化和選擇文件系統
格式化和選擇文件系統
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION