在Linux中,你可以使用图形工具,如GParted或命令行工具,例如fdisk或parted,来格式化驱动器和分区。
在本教程中,向你展示如何使用Linux的parted工具格式化USB驱动器或SD卡。
需要注意的是,格式化是一个破坏性的过程,它会删除所有现有的数据,如果在SD卡上的UDS驱动器上有数据,请确保备份它。
安装parted
GNU Parted是一种用于创建和管理分区表的工具,目前大多数Linux发行版都预先安装了parted软件包,通过键入以下命令检查它是否安装在你的系统上:parted --versionparted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
...
如果系统上没有安装parted,你可以使用发行版的包管理器安装它。
在Ubuntu和Debian上安装partedsudo apt updatesudo apt install parted
在CentOS和Fedora上安装partedsudo yum install parted
识别USB或SD卡名称
将USB U盘或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命令将打印" No space left on device":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或ext,如果只打算在Linux系统上使用驱动器,请使用EXT4,否则使用fat格式化它,对于大多数用例来说,一个分区就足够了。
用FAT32格式化
首先,通过运行以下命令创建分区表:sudo parted /dev/sdb --script -- mklabel msdos
创建占用整个空间的fat分区:sudo parted /dev/sdb --script -- mkpart primary fat32 1MiB 100%
将引导分区格式化为fat:sudo mkfs.vfat -F32 /dev/sdb1mkfs.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%
将分区格式化为ext:sudo mkfs.ext4 -F /dev/sdb1mke2fs 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或首选文件系统格式化它。
如果你遇到问题或有反馈,请在下面留言,