如何在 Linux 中使用 Fdisk 创建和管理磁盘分区

前几天,我们讨论了如何 使用 Parted 创建和管理 Linux 磁盘分区 效用。 今天,我们将使用另一个名为 ‘ 的命令行实用程序来做同样的事情磁盘‘。 本教程解释什么是 Fdisk 实用程序,以及如何在 Linux 中使用 Fdisk 创建和管理磁盘分区。

什么是 Fdisk?

磁盘 是一个命令行菜单驱动的实用程序,随所有 Linux 发行版一起提供,用于操作您的磁盘分区表。

当您获得一块新磁盘时,您需要在磁盘顶部创建分区以开始使用该磁盘。 使用 Fdisk,您可以维护分区的完整生命周期,从将分区标记为 MBR 或 GPT 类型以及其他支持的标签类型、从驱动器创建分区、调整分区大小、删除分区等。

要检查 fdisk 是否已安装在您的计算机上,请运行以下任一命令。

$ fdisk --version
fdisk from util-linux 2.32.1
$ which fdisk
/usr/sbin/fdisk
$ whereis fdisk
fdisk: /usr/sbin/fdisk /usr/share/man/man8/fdisk.8.gz

用于创建和管理 Linux 磁盘分区的 Fdisk 命令

出于演示目的,我使用的是在 Virtualbox 中运行的 Rocky Linux 8。 我正在使用 2 个磁盘,其中我的第一个磁盘安装了我的操作系统,第二个驱动器是一个没有分区的新驱动器。

小心: Fdisk 需要提升的权限。 要么使用 用户或使用 sudo.

1.打印分区表

运行以下命令以显示所有磁盘及其分区。 您可以获得诸如磁盘标签类型、为驱动器创建了多少分区、分区类型、分区大小以及更多信息之类的输出。

$ fdisk -l

样本输出:

打印分区表

如果要打印特定驱动器的分区表,则必须使用块设备名称。

$ fdisk -l /dev/sda

样本输出:

打印特定驱动器的分区表

您还可以从 Fdisk 交互式控制台窗口中获取此信息。 当你没有通过 -l 使用 fdisk 标记,它将进入交互式菜单,您可以在其中键入“p“并按回车键。

Fdisk 交互式菜单Fdisk 交互式菜单

2. 列出 Fdisk 选项

要获取交互式菜单支持的选项列表,请在 Fdisk 控制台窗口中键入“m”并按 Enter。

Fdisk 帮助选项Fdisk 帮助选项

3. DiskLabel 类型

要创建分区,首先,我们应该决定将在磁盘上使用哪种分区方案。 MBR 和 GPT 是最常用的两种分区方案。 默认情况下,当您对新驱动器使用 fdisk 时,它将创建一个 DOS 分区方案。

如果您希望创建 GPT 或其他受支持的分区方案,请输入“m”并查看“创建新标签”部分,您可以在其中获取创建分区表的选项列表。

磁盘标签选项磁盘标签选项

要创建 GPT 分区方案,请键入“g“并按回车键。

Command (m for help): g
Created a new GPT disklabel (GUID: 73749F7E-1B28-874D-94AE-DED4CE70D269).

您所做的任何更改都将保存在内存中,直到您将它们写入磁盘。 类型 ”w” 并按 Enter 写入更改。

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

如果再次运行 list 命令,可以看到 disklabel 更改为 “gpt”。

GPT 分区方案GPT 分区方案

4. 使用 Fdisk 创建 Linux 分区

创建新的分区类型“n” 并按回车键。它会要求您提供一系列输入。

首先,选择分区号。

Partition number (1-128, default 1):

小心: 为了 MBR 分区方案,您只能创建 4 初级 分区。 如果您希望在 MBR 中创建更多分区,则必须创建一个逻辑分区并创建其他分区。 为了 GPT 您最多可以创建的分区 128 主分区。

您可以将其保留为默认值,这将为分区选择下一个可用编号。

接下来,您必须选择第一个扇区和最后一个扇区。 将第一个扇区留空,在最后一个扇区中,您可以以 KB、MB、GB、TB、PB 的形式给出分区大小。 在这里我正在创建大小的分区 10GB,所以我把它作为 +10G.

First sector (2048-62914526, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-62914526, default 62914526): +10G

现在将创建一个大小为 10 GB 的分区。 要保存更改,请键入 ‘w‘ 并将更改写入磁盘。

您可以通过键入’来查看更改p‘ 在交互模式下。

Command (m for help): p
Disk /dev/sdb: 30 GiB, 32212254720 bytes, 62914560 sectors
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: gpt
Disk identifier: 73749F7E-1B28-874D-94AE-DED4CE70D269

Device        Start      End  Sectors Size Type
/dev/sdb1      2048 20973567 20971520  10G Linux filesystem
/dev/sdb2  20973568 41945087 20971520  10G Linux filesystem

您还可以运行 lsblk 命令来检查分区是否创建成功。 我重复了相同的过程并创建了一个 10G 大小的分区。

[[email protected] ~]# lsblk -p /dev/sdb
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sdb      8:16   0  30G  0 disk 
├─/dev/sdb1   8:17   0  10G  0 part 
└─/dev/sdb2   8:18   0  10G  0 part 

5.设置分区为引导分区

如果您希望将新创建的分区用作引导分区,则键入 ‘a‘ 在交互式菜单中,它会提示输入分区号,该分区号将被标记为引导分区。

将分区设置为引导分区将分区设置为引导分区

仅当您的磁盘标记为 MBR 分区方案时才支持此功能。 如果您在 GPT 中尝试该选项,您将收到如下错误。

未知命令错误消息未知命令错误消息

6.更改分区类型

当你创建一个新分区时,它会默认被标​​记为“Linux Filesystem”类型。

分区类型分区类型

您可以更改分区的类型。 类型 ‘t‘ 并按回车键。

Command (m for help): t
Selected partition 1
Partition type (type L to list all types):

它将要求您选择分区类型。 你可以输入“L” 并按回车键获取所有分区类型的列表。总共支持 87 种不同的分区类型。

分区类型列表分区类型列表

假设我希望将分区标记为 交换 分区,然后我需要输入数字 19.

Partition type (type L to list all types): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'

7.删除分区

要删除分区,请使用适当的磁盘启动 fdisk 实用程序。

$ fdisk /dev/sdb

在这里,我想删除第二个分区( /dev/sdb2)。 类型 ‘d‘ 在交互式菜单中,它会要求您提供分区号。

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

通过键入’来检查更改p‘ 在交互式菜单中。

删除分区删除分区

如果您的分区包含数据并已挂载,请确保首先卸载文件系统,然后删除该分区。

8. 创建文件系统并挂载分区

创建分区后,您必须使用文件系统格式化分区并挂载它。 我在用 EXT4 格式化我的分区。

$ mkfs.ext4 /dev/sb1
格式化文件系统格式化文件系统

将分区挂载到文件系统中的任何目录。 我正在将分区安装在 /opt/.

$ mount /dev/sdb1 /opt/

跑过 lsblk 命令来检查分区的挂载点。

$ lsblk -f /dev/sdb1
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdb1 ext4         fbac8781-406b-47bc-b1f3-8484de24b6e1 /opt

每次开机自动挂载分区,需要在 /etc/fstab 文件。

在 Fstab 文件中添加分区条目在 Fstab 文件中添加分区条目

如果您想了解有关 fstab 文件及其使用方法的更多信息,请参阅以下链接。

Linux 中的 Fstab 是什么? Linux /etc/fstab 文件介绍

结论

在本文中,我们讨论了一些 Fdisk 命令示例来执行各种磁盘操作。 Fdisk 是一种旧工具,一个不错的选择是使用 分开 它甚至有一个名为的 gui 版本 GParted 它在 POP!_OS 等操作系统安装程序中用于在操作系统安装过程中创建分区。

资源:

相关阅读:

  • 如何在 Linux 中列出磁盘分区
  • 如何在 Linux 中将主目录移动到新分区或磁盘
  • 如何在 Linux 中查找挂载的文件系统类型