前几天,我们讨论了如何 使用 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
“并按回车键。
2. 列出 Fdisk 选项
要获取交互式菜单支持的选项列表,请在 Fdisk 控制台窗口中键入“m”并按 Enter。
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”。
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 文件及其使用方法的更多信息,请参阅以下链接。
结论
在本文中,我们讨论了一些 Fdisk 命令示例来执行各种磁盘操作。 Fdisk 是一种旧工具,一个不错的选择是使用 分开 它甚至有一个名为的 gui 版本 GParted 它在 POP!_OS 等操作系统安装程序中用于在操作系统安装过程中创建分区。
资源:
- Fdisk 手册页
相关阅读:
- 如何在 Linux 中列出磁盘分区
- 如何在 Linux 中将主目录移动到新分区或磁盘
- 如何在 Linux 中查找挂载的文件系统类型
CLI 命令行创建磁盘分区FdiskFdisk 命令Linux 管理Linux 基础Linux 命令Linux 磁盘管理Linux howto