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

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

内容

  1. 什么是 Fdisk?
  2. 用于创建和管理 Linux 磁盘分区的 Fdisk 命令
    1. 1.打印分区表
    2. 2. 列出 Fdisk 选项
    3. 3. DiskLabel 类型
    4. 4. 使用 Fdisk 创建 Linux 分区
    5. 5.设置分区为引导分区
    6. 6.更改分区类型
    7. 7.删除分区
    8. 8. 创建文件系统并挂载分区
  3. 结论

什么是 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 等操作系统安装程序中用于在操作系统安装过程中创建分区。

资源:

  • Fdisk 手册页

相关阅读:

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

CLI 命令行创建磁盘分区FdiskFdisk 命令Linux 管理Linux 基础Linux 命令Linux 磁盘管理Linux howto