格式化SD卡,USB驱动器,随身带Linux的闪存驱动器

作为使用操作系统,机器和电子设备的人员,您经常需要格式化Micro SD卡,带有fat32分区的USB驱动器/闪存驱动器等。这意味着写入OS数据,将文件从一个系统复制到另一个系统,并将其用作便携式存储介质。本指南介绍了如何使用分命令行在Linux系统上格式化USB驱动器和SD卡。

Linux操作系统具有图形工具,例如GParted和GNOME磁盘,可与GUI一起使用以格式化SD卡,USB驱动器和闪存驱动器。本指南重点介绍使用命令行工具(部分)。其他工具,例如 fdisk,gdisk,cfdi​​sk,sfdisk 也可以使用。

开始之前

在开始之前,您需要在Linux系统上安装GNU Parted应用程序。 GNU Parted是用于创建和操作分区表的程序。前端是GParted。

使用以下共享命令在您的Linux机器上安装GNU Parted。

--- Debian / Ubuntu ---
$ sudo apt update
$ sudo apt -y install parted

--- Fedora / CentOS ---
$ sudo yum -y install parted
$ sudo dnf -y install parted

--- Arch Linux / Manjaro ---
$ sudo pacman -S parted

您还需要将SD卡或USB /闪存驱动器连接到计算机,并确保操作系统可以识别它。

lsblk 是Linux命令行工具,用于列出有关所有可用设备或指定块设备的信息。

$ lsblk --all
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb               8:0    1  14.9G  0 disk 
nvme0n1         259:0    0 238.5G  0 disk 
├─nvme0n1p1     259:1    0     1G  0 part /boot
└─nvme0n1p2     259:2    0 237.5G  0 part 
  ├─fedora-root 253:0    0    70G  0 lvm  /sysroot
  ├─fedora-swap 253:1    0   7.7G  0 lvm  [SWAP]
  └─fedora-home 253:2    0 159.8G  0 lvm  /var/home

我的随身碟 / dev / sdb。 如果USB设备已连接到计算机, dmesg –打印或控制内核环形缓冲区的工具将显示连接信息。

$ dmesg
....
[ 6209.409187] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 6209.409321] scsi host0: usb-storage 1-1:1.0
[ 6209.409406] usbcore: registered new interface driver usb-storage
[ 6209.412727] usbcore: registered new interface driver uas
[ 6210.741626] scsi 0:0:0:0: Direct-Access     SMI      USB DISK         1100 PQ: 0 ANSI: 4
[ 6210.742549] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 6210.743829] sd 0:0:0:0: [sdb] 31129600 512-byte logical blocks: (15.9 GB/14.8 GiB)
[ 6210.745121] sd 0:0:0:0: [sdb] Write Protect is off
[ 6210.745128] sd 0:0:0:0: [sdb] Mode Sense: 43 00 00 00
[ 6210.746338] sd 0:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 6210.868622] usb 1-1: reset high-speed USB device number 8 using xhci_hcd
[ 6211.326903]  sdb:
[ 6211.332089] sd 0:0:0:0: [sdb] Attached SCSI removable disk

格式化SD卡,USB驱动器,随身带Linux的闪存驱动器

确保已安装parted。

$ parted --version
parted (GNU parted) 3.2.153
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by .

检查要格式化的SD卡或闪存驱动器的名称。

$ lsblk --all

格式化USB设备之前,请先清除设备上可能存在的所有文件系统或分区表签名。

$ sudo wipefs --all --force /dev/sdb
/dev/sdb: 5 bytes were erased at offset 0x00008001 (iso9660): 43 44 30 30 31
/dev/sdb: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54

使用Parted in Linux格式化SD卡,USB驱动器,闪存驱动器

Parted具有两种模式:命令行和交互。分手应始终以以下内容开头:

$ sudo parted device

其中:

  • 航站楼 SD卡,USB驱动器或闪存驱动器进行编辑。如果省略device参数,parted将尝试猜测您需要的设备。

使用交互模式。在这种模式下,所有分区命令都会自动应用到指定设备,从而简化了分区过程并减少了不必要的重复。

在我的场景中,要在设备上开始执行的命令是:

$ sudo parted /dev/sdb
GNU Parted 3.2.153
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) 

您可以看到命令行提示符更改如下。 (parted)

要查看可用命令的列表,请输入:

(parted) help

步骤1:创建一个新的分区表

您需要为设备创建或重新创建分区表。对于第一个分区或更改分区表的类型。

创建一个新的 主引导记录/ MS-DOS 分区表:

(parted) mklabel msdos

确认:

(parted) p                                                                
Model: SMI USB DISK (scsi)
Disk /dev/sdb: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  Flags
(parted)                                          

将以下内容用于GPT分区表:

(parted) mklabel gpt

步骤2:在设备上创建分区

您可以确定划分设备的分区的数量和大小。用于创建分区的命令语法如下:

(parted) mkpart part-type fs-type start end

其中:

  • 零件类型 是其中之一 primaryextendedlogical–仅对MBR分区表有意义。
  • fs类型 一个标识符,用于设置引导加载程序使用的一字节代码以“预览”在分区中找到的数据,并在必要时采取适当的措施。
  • 开始 从设备的开头开始的分区。
  • 完结 分区从设备开头开始,而不是从起始值开始。

从创建分区 1米 结束于 100%。

(parted) mkpart primary fat32 1MiB 100%

类似的用例包括(不要这样做-只是一个例子

# Create an ext4 partition
(parted) mkpart primary ext4 1MiB 100%

# Create an XFS partition
(parted) mkpart primary xfs  1MiB 100%

# Create two ext4 partitions
(parted) mkpart primary ext4 1MiB 5GiB
(parted) mkpart primary ext4 5GiB 100%

查看到目前为止所做的更改。

(parted) p
Model: SMI USB DISK (scsi)
Disk /dev/sdb: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

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

步骤3:格式化分区

最后一步是将分区格式化为您选择的文件系统类型。

使用USB设备分区将其格式化为FAT32。

(parted) quit
Information: You may need to update /etc/fstab.

$ lsblk            
 NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 sdb               8:0    1  14.9G  0 disk 
 └─sdb1            8:1    1  14.9G  0 part 

$ sudo mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)
mkfs.vfat: failed whilst writing FAT

查看新更改。

$ lsblk -o +label,fstype,uuid /dev/sdb

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT LABEL FSTYPE UUID
sdb      8:0    1 14.9G  0 disk                         
└─sdb1   8:1    1 14.9G  0 part                  vfat   A6B5-97C8

检查设备是否可以安装。

$ mkdir ~/mnt
$ sudo mount /dev/sdb1 ~/mnt
$ df -hT ~/mnt 
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb1      vfat   15G  4.5G   11G  31% /var/home/jmutai/mnt
$ sudo umount ~/mnt 

非互动地做

您可以在终端中执行所有命令,而无需调用拆分的交互式屏幕。

sudo parted -s -a optimal -- /dev/sdb mklabel msdos
sudo parted -s -a optimal -- /dev/sdb mkpart primary fat32 1MiB 100%
sudo parted -s -- /dev/sdb align-check optimal 1
sudo mkfs.vfat -F32 /dev/sdb1

这是在Linux终端上轻松格式化SD卡,USB驱动器,闪存驱动器的方法,以及如何在设备上创建所需文件系统类型的方法。现在,您可以删除设备并在支持书面文件系统的任何地方使用它。

相关指南:

如何在Linux上使用LVM扩展根文件系统

如何在不使用LVM的情况下调整ext2 / 3/4和XFS根分区的大小

在Linux的另一个分区上挂载/ tmp

如何使用diskpart命令在Windows中创建磁盘分区

如何扩展/增加KVM虚拟机(VM)的磁盘大小

Sidebar