如何在Linux上格式化USB驱动器和SD卡

在使用SD卡或USB驱动器之前,需要对其进行格式化和分区。 通常,大多数USB驱动器和SD卡都使用FAT文件系统进行了预格式化,因此无需立即进行格式化。 但是,在某些情况下,您可能需要格式化驱动器。

在Linux中,您可以使用图形工具(例如GParted)或命令行工具(例如) fdisk 要么 parted 格式化驱动器并创建所需的分区。

在本教程中,我们将向您展示如何使用以下命令在Linux上格式化USB驱动器或SD卡: parted 效用。

重要的是要注意,格式化是一个破坏性的过程,它将删除所有现有数据。 如果UDB驱动器或SD卡上有数据,请确保将其备份。

正在安装 parted

GNU Parted是用于创建和管理分区表的工具。 目前,大多数Linux发行版中都已预先安装了分装的软件包。 您可以通过键入以下命令检查它是否已安装在系统上:

parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
...

如果 parted 未安装在系统上,则可以使用发行版的软件包管理器进行安装。

安装 parted 在Ubuntu和Debian上

sudo apt updatesudo apt install parted

安装 parted 在CentOS和Fedora上

sudo yum install parted

识别USB或SD卡名称#

将USB闪存驱动器或SD卡插入Linux机器,然后使用 lsblk 命令:

lsblk

该命令将打印所有可用块设备的列表:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdb      8:16   1  14.4G  0 disk 
└─sdb1   8:17   1   1.8G  0 part /media/data
...

在上面的示例中,SD设备的名称为 /dev/sdb,但这可能会因您的系统而异。

您也可以使用 dmesg 查找设备名称的命令:

lsblk

连接设备后, dmesg 将显示设备名称:

...
[  +0.000232] sd 1:0:0:0: [sdb] 30218842 512-byte logical blocks: (15.5 GB/14.4 GiB)
...

安全擦除数据(可选)

在格式化驱动器之前,您可以通过用随机数据覆盖整个驱动器来安全擦除其中的所有数据。 这样可以确保任何数据恢复工具都无法恢复数据。

仅在将要赠送设备的情况下,才需要完全擦除数据。 否则,您可以跳过此步骤。

运行以下命令之前,请格外小心,并清除驱动器数据。 的 of=... 的一部分 dd 命令必须指向目标驱动器。

sudo dd if=/dev/zero of=/dev/sdb bs=4096 status=progress

根据驱动器的大小,此过程将需要一些时间才能完成。

磁盘擦除后, dd 命令将显示“设备上没有剩余空间”:

15455776768 bytes (15 GB, 14 GiB) copied, 780 s, 19.8 MB/s 
dd: error writing '/dev/sdb': No space left on device
3777356+0 records in
3777355+0 records out
15472047104 bytes (15 GB, 14 GiB) copied, 802.296 s, 19.3 MB/s

创建分区和格式化

最常见的文件系统是Windows上的exFAT和NTFS,Linux上的EXT4和FAT32,可在所有操作系统上使用。

我们将向您展示如何将USB驱动器或SD卡格式化为FAT32或EXT4。 如果仅打算在Linux系统上使用驱动器,请使用EXT4,否则请使用FAT32对其进行格式化。 一个分区足以满足大多数使用情况。

格式化为FAT32#

首先,通过运行以下命令创建分区表:

sudo parted /dev/sdb --script -- mklabel msdos

创建一个占用整个空间的Fat32分区:

sudo parted /dev/sdb --script -- mkpart primary fat32 1MiB 100%

将启动分区格式化为FAT32:

sudo mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)

完成后,使用下面的命令打印分区表并验证所有设置是否正确:

sudo parted /dev/sdb --script print

输出应如下所示:

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  15.5GB  15.5GB  primary  fat32        lba

就这样! 您已格式化设备。

使用EXT4#格式化

通过发出以下命令来创建GPT分区表:

sudo parted /dev/sdb --script -- mklabel gpt

运行以下命令以创建占用整个空间的EXT4分区:

sudo parted /dev/sdb --script -- mkpart primary ext4 0% 100%

将分区格式化为ext4:

sudo mkfs.ext4 -F /dev/sdb1
mke2fs 1.44.1 (24-Mar-2018)
/dev/sdb1 contains a vfat file system
Creating filesystem with 3777024 4k blocks and 944704 inodes
Filesystem UUID: 72231e0b-ddef-44c9-a35b-20e2fb655b1c
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

通过打印分区表进行验证:

sudo parted /dev/sdb --script print

输出应如下所示:

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  15.5GB  15.5GB  ext4         primary  

结论#

在Linux上格式化USB驱动器或SD卡是一个非常简单的过程。 您需要做的就是插入驱动器,创建分区表,并使用FAT32或您喜欢的文件系统对其进行格式化。

如果您遇到问题或有反馈,请在下面发表评论。

终奌站

Sidebar