如何在 Linux 中对 USB 驱动器进行分区
为了在 Linux 上访问 USB 驱动器,它需要有一个或多个分区。由于U盘通常比较小,并且仅用于临时存储或方便地传输文件,因此绝大多数用户会选择仅配置一个分区来跨越整个U盘。但是,如果您想使用多个分区,您也可以在逻辑上将 USB 驱动器分成不同的部分。
在本教程中,我们将介绍在 Linux 系统上对 USB 驱动器进行分区的分步说明。您还将了解如何创建新分区、删除分区以及缩小或扩展 USB 驱动器上的现有分区。您将看到命令行和 GUI 方法的步骤,因此您可以按照您最熟悉的一组说明进行操作。让我们开始吧。
在本教程中您将学习:
如何从命令行添加分区 USB 驱动器
如何从 GUI 添加分区 USB 驱动器
如何添加、删除现有分区表以及调整现有分区表的大小
如何通过命令行在 Linux 上对 USB 驱动器进行分区
在下面的分步说明中,我们将使用分区表初始化磁盘、创建新分区、检查分区对齐、调整分区大小以及删除现有分区。这应该涵盖各种场景,具体取决于您是尝试对新的 USB 驱动器进行分区还是对现有分区进行分区。
使用分区表初始化 USB 驱动器
我们将在这些步骤中使用的设备是
/dev/sdX
。要在交互模式下运行,我们必须以root权限启动parted,并将我们想要操作的USB驱动器的路径作为参数传递给命令,在本例中:$ sudo parted /dev/sdX
将打开parted 提示符:
GNU Parted 3.4 Using /dev/sdX Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
首先,需要可视化驱动器的当前状态。这将告诉我们当前分区表是什么样子,或者是否存在。因此我们将使用
print
命令:(parted) print Error: /dev/sdX: unrecognised disk label Model: SanDisk SanDisk Cruzer (scsi) Disk /dev/sdX: 16.2GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags:
如您所见,由于
/dev/sdX
不包含分区表,parted 仅向我们显示有关磁盘型号、总大小和扇区大小的信息。为了能够使用磁盘,我们需要对其进行初始化,因此我们必须在其上创建分区表。允许我们创建分区表的命令是
mklabel
。如果我们没有指定要创建什么样的分区表,parted会在提示中询问我们:(parted) mklabel New disk label type? msdos
在本例中,我们创建一个传统的
msdos
分区表。其他有效值包括“aix”、“amiga”、“bsd”、“dvh”、“gpt”、“loop”、“mac”、“pc98”和“sun”。如前所述,我们还可以将分区表的类型指定为 mklabel 命令的参数。创建分区
接下来,我们将在 USB 驱动器上创建第一个分区。我们需要提供分区类型(在主分区或扩展分区之间进行选择)、文件系统类型(可选)、分区起点和分区终点。同样,如果没有直接提供,则将以交互方式请求这些值。创建分区的命令是
mkpart
:(parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? ext4 Start? 0% End? 100%
在此示例中,我们选择创建一个主分区,使用 ext4 文件系统进行格式化,并且让该分区跨越整个 USB 驱动器,因此它从 0% 开始,到 100% 结束。或者,您可以以 MiB 或 GiB 值而不是像我们上面那样指定百分比来指定开始和结束。
现在我们可以再次运行
print
命令来查看我们刚刚创建的分区:(parted) print Model: SanDisk SanDisk Cruzer (scsi) Disk /dev/sdb: 16.2GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 16.2GB 16.2GB primary ext4 lba
检查分区对齐
分区的对齐是优化性能的一个非常重要的因素。通过
parted
,我们可以检查两种类型的对齐方式:minimal
和optimal
。在最小模式下,程序检查分区是否遵守物理块的最小对齐值,而在最佳模式下,它检查分区是否与物理块大小的倍数对齐,以提供最佳性能。用于执行这些检查的命令是align-check:(parted) align-check alignment type(min/opt) [optimal]/minimal? minimal Partition number? 1 1 aligned
在交互模式下运行该命令后,系统会提示我们提供要检查的对齐类型(默认情况下使用最佳对齐方式)和分区号 (1)。在这种情况下,parted 确认分区已正确对齐。
调整分区大小
调整分区大小也是一个非常危险的操作,特别是当分区已经包含文件系统时。请注意,当更改分区的大小时,
parted
永远不会使文件系统适应它,因此,尤其是在收缩时,您必须首先使用专用工具来调整正在使用的文件系统的大小。用于执行分区大小调整的命令是resizepart
。我们的分区大小目前消耗了 100% 的磁盘;例如,如果我们想将其扩展为仅覆盖设备的 50%,我们可以输入:(parted) resizepart Partition number? 1 End? [16.2GB]? 50% Warning: Shrinking a partition can cause data loss, are you sure you want to continue? Yes/No? yes
该分区现在仅占 USB 驱动器上一半的空间。
删除分区
删除分区也同样简单。显然,我们应该非常谨慎地执行这样的操作。在这种情况下使用的命令是 rm:
(parted) rm Partition number? 1
警告
没有确认提示,因此在运行此命令来销毁现有分区之前请三思。要在退出
parted
之前确认更改,请使用print
命令,然后使用quit
退出parted:(parted) print
和 :
(parted) quit
如何通过 GUI 在 Linux 上对 USB 驱动器进行分区
有许多 GUI 程序也可用于在 Linux 上创建或编辑 USB 驱动器的分区。在本教程中,我们将重点介绍使用 gparted
,顾名思义,它是我们上面使用的命令行 parted
工具的 GUI 版本。
您可以使用下面适当的命令通过系统的包管理器安装 gparted。
要在 Ubuntu、Debian 和 Linux Mint 上安装 gparted:
$ sudo apt install gparted
要在 Fedora、CentOS、AlmaLinux 和 Red Hat 上安装 gparted:
$ sudo dnf install gparted
要在 Arch Linux 和 Manjaro 上安装 gparted:
$ sudo pacman -S gparted
安装后,请按照以下步骤使用 gparted 在 USB 驱动器上创建、调整大小和删除分区:
首先在桌面环境的应用程序启动器中搜索 gparted 应用程序。打开程序时,系统将提示您输入 root 密码。
我们需要做的第一件事是从右上角选择我们要使用的 USB 驱动器。在我们的测试系统上,这将是
/dev/sdb
,如下面的屏幕截图所示。创建新分区
如您所见,我们的 USB 驱动器目前没有分区。让我们通过转到“设备”>“创建分区表”来添加一个。
接下来,选择您要创建的分区类型。我们将在教程中坚持使用
msdos
,但也可以随意选择其他内容。建议大小大于 2 TB 的 USB 驱动器使用 GPT。现在分区表已创建,我们可以继续向 USB 驱动器添加新分区。可以通过前往“分区”>“新建”找到此选项。
在此菜单上,我们可以选择新分区的大小。无需使用精确值,您可以随意使用鼠标滑块来配置您想要的大小。对于我们的示例,我们将简单地创建一个跨越 USB 驱动器整个大小的分区。准备好继续后,单击“添加”。
注意
ext4
是推荐在 Linux 系统上使用的文件系统,除非您有特殊原因需要使用其他类型的 USB 驱动器进行格式化。如果您还计划在 Windows 系统中使用 USB 驱动器,则建议使用 NTFS。更改尚未写入磁盘,但我们可以在预览窗格中看到我们将要应用的配置。准备就绪后,单击“编辑”>“应用所有操作”。
调整分区大小
单击“分区”>“调整大小”以调整当前选定分区的大小。
输入分区的新起点和终点。或者,只需使用滑块来调整分区的大小。在这种情况下,我们会将分区缩小到大约一半大小。
您可以看到我们所做的新更改。要完成写入,请单击“编辑”>“应用所有操作”。
删除分区
要删除分区,只需在 gparted 中选择它并导航到“分区”>“删除”。完成后,单击“编辑”>“应用所有操作”以确认更改。
结束语
在本教程中,我们了解了如何在 Linux 系统上通过命令行和 GUI 对 USB 驱动器进行分区。大多数用户会选择在 USB 驱动器上只拥有一个分区,但如果您愿意,没有理由不能拥有多个分区。多个分区还可以允许您使用多个文件系统(例如,用于 Linux 文件的 ext4 分区和用于 Windows 文件的 NTFS 分区)。