Linux如何將SD卡/隨身碟格式化

如果要讓曾拿來當Live USB安裝系統的SD卡/隨身碟,還原到原本單純儲存資料的用途,就必須砍掉所有分區,再將其格式化,也就是新建檔案系統。

本文教學純文字和圖形化介面的操作方法,二擇一。

首先要知道如何查看電腦上的裝置資訊。

0. 使用指令查看SD卡資訊

  1. 讀卡機插到電腦,有些發行版會自動掛載,用lsblk指令查看。例如我的SD卡是/dev/sdbMOUNTPOINT下顯示的是分區掛載點。
1
2
3
4
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1  29.7G  0 disk
├─sdb1   8:17   1   243M  0 part /media/ivon/pmOS_boot
└─sdb2   8:18   1  29.5G  0 part /media/ivon/pmOS_root
  1. 要修改這個SD卡的內容,必須先將已掛載的分區取消掛載:
1
2
sudo umount /media/ivon/pmOS_boot
sudo umount /media/ivon/pmOS_root
  1. 再執行一次lsblk,會發現SD卡的掛載點(MOUNTPOINT)消失了,只剩下前面的/dev/sdb
1
2
3
4
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1  29.7G  0 disk
├─sdb1   8:17   1   243M  0 part
└─sdb2   8:18   1  29.5G  0 part
  1. 確認SD卡未被掛載之後,就可以開始變更了。

1. 使用純文字工具fdisk來格式化SD卡

第一個方法是用純指令來操作,所以要很小心。

以Ubuntu來說,執行以下指令安裝fdisk和exFAT工具:

1
sudo apt install fdisk exfat-utils

以下介紹fdisk用法。

  1. 使用lsblk找到SD卡取消掛載後的裝置名稱

  2. 啟動fdisk,開始對SD卡磁碟分割

1
sudo fdisk /dev/sdb
  1. 輸入p,查看此SD卡上的分區。像是我這張有裝過postmarketOS系統,有二個分割區。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Disk /dev/sdb: 29.74 GiB, 31914983424 bytes, 62333952 sectors
Disk model: Mass-Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9baf2b08

所用裝置   可開機  Start     結束     磁區  Size Id 類型
/dev/sdb1  *        2048   499711   497664  243M 83 Linux
/dev/sdb2         499712 62333951 61834240 29.5G 83 Linux
  1. 接著要把分割區都刪除。輸入d,再輸入數字,Enter,刪除分割區。

  2. 把二個分割區都刪除完後,再度輸入p會看到分割區空空如也。

1
2
3
4
5
6
7
Disk /dev/sdb: 29.74 GiB, 31914983424 bytes, 62333952 sectors
Disk model: Mass-Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9baf2b08
  1. 輸入w,Enter,確認寫入變更。

  2. 輸入n,再輸入p,接著全部Enter,建立一個包含整張SD卡剩餘容量的分割區。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
命令 (m 以獲得說明): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
分割區編號 (1-4, default 1): 1
First sector (2048-62333951, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62333951, default 62333951):

Created a new partition 1 of type 'Linux' and of size 29.7 GiB.
  1. 輸入w確認寫入。再輸入q,退出fdisk。

  2. 分割區建立好之後,將SD卡的分區格式化成FAT32檔案系統:

1
2
3
mkfs.fat -F 32 /dev/sdb
#或是exFAT,支援4GB以上的單一大檔案
mkfs.exfat /dev/sdb
  1. 這樣就建立好了。因為我是比較懶的人,因此直接拔出SD卡,之後插入,像Ubuntu又會自動掛載回來。或者手動掛載:
1
2
3
sudo mkdir /media/ivon/MySD
#先用lsblk確認SD卡路徑再掛載
sudo mount /dev/sdb
  1. 用指令lsblk一看,SD卡上沒有多餘分區了。
1
sdb      8:16   1  29.7G  0 disk /media/ivon/8F98-21A4

2. 使用圖形工具Gparted來格式化SD卡

第二個方法是使用圖形化工具Gparted,比較不容易搞錯要格式化的SD卡在哪。

圖形化工具還有KDE Partition Manager、GNOME Disk Utility等等。

  1. 安裝Gparted
1
sudo apt install gparted
  1. 開啟Gparted(需要sudo),右上角找到掛載的SD卡(/dev/sdb)。

  2. 對SD卡所有分區,例如我這裡有二個,右鍵點選卸載(umount)。

  3. 對所有分區,右鍵,刪除。

  4. 按下綠色打勾,寫入變更。

  5. 現在分區都被砍掉了,對分區右鍵,按一下新增檔案系統。檔案系統選擇FAT32 ,按下確認,再按下綠色勾勾套用變更。

  6. 完成,拔掉SD卡後重插,再用Gparted查看,SD卡只剩一個分區了。

如果本網站文章對您有幫助,歡迎贊助我。