Linux中的Fdisk命令(创建磁盘分区)

安装新的SSD或硬盘后,您需要做的第一件事就是对其进行分区。 一个驱动器需要至少有一个分区,然后才能对其进行格式化并在其中存储文件。

在Linux中,您可以使用多种工具来创建分区。 fdisk 是最常用的一种。

在本文中,我们将讨论 fdisk 命令。

fdisk 是菜单驱动的命令行实用程序,它使您可以在硬盘上创建和操作分区表。

意识到 fdisk 是一种危险的工具,应格外小心。 仅root用户或具有 sudo 特权可以操纵分区表。

列出分区号

要列出设备的分区表,请调用 fdisk 用命令 -l 选项,然后是设备名称。 例如列出 /dev/sda 分区表和要运行的分区:

fdisk -l /dev/sda

当没有设备作为参数时, fdisk 将打印列出的所有设备的分区表 /proc/partitions 文件:

fdisk -l
Disk /dev/nvme0n1: 232.91 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 960 EVO 250GB               
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: 6907D1B3-B3AB-7E43-AD20-0707A656A1B5

Device            Start       End   Sectors   Size Type
/dev/nvme0n1p1     2048   1050623   1048576   512M EFI System
/dev/nvme0n1p2  1050624  34605055  33554432    16G Linux swap
/dev/nvme0n1p3 34605056 488397134 453792079 216.4G Linux filesystem


Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDC WD5000AAKS-0
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: dos
Disk identifier: 0x0001cca3

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        2048 976771071 976769024 465.8G 83 Linux

上面的输出显示了连接到系统的所有设备的当前分区表。 通常,SATA设备名称遵循以下模式 /dev/sd[a-z],而NVMe设备名称具有以下模式 /dev/nvme[1-9]n[1-9]

创建分区表

要开始对驱动器进行分区,请运行 fdisk 与设备名称。 在这个例子中,我们将继续 /dev/sdb

fdisk /dev/sdb

命令提示符将更改,并且 fdisk 您可以在其中键入命令的对话框将打开:

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):

您对分区表所做的更改将不会生效,除非您使用 w 命令。 您可以退出 fdisk 对话而无需使用 q 命令。

要获取所有可用命令的列表,请输入 m

m

如果要对新驱动器进行分区,则在首先开始创建分区之前,需要创建一个分区表。 如果设备已经有分区表并且您要保留它,请跳过此步骤。

fdisk 支持多种分区方案。 MBR和GPT是两个最受欢迎的分区方案标准,它们以不同的方式将分区信息存储在驱动器上。 GPT是允许使用的较新标准,并且比MBR具有许多优势。 选择使用哪种分区标准时要考虑的要点:

  • 使用MBR以旧版BIOS模式引导磁盘。
  • 使用GPT以UEFI模式引导磁盘。
  • MBR标准支持创建最多2 TiB的磁盘分区。 如果您有2 TiB或更大的磁盘,请使用GPT。
  • MBR的限制为4个主分区。 如果需要更多分区,则可以将一个主分区设置为扩展分区,并保留其他逻辑分区。 使用GPT,最多可以有128个分区。 GPT不支持扩展分区或逻辑分区。

在此示例中,我们将使用GPT分区表。

输入 g 创建一个新的空GPT分区表:

g

输出将如下所示:

Created a new GPT disklabel (GUID: 4649EE36-3013-214E-961C-51A9187A7503).

下一步是创建新分区。

我们将创建两个分区。 第一个大小为100 GiB,第二个将占用其余磁盘空间。

跑过 n 创建新分区的命令:

n

系统将提示您输入分区号。 点击“ Enter”以使用默认值(1):

Partition number (1-128, default 1):

接下来,命令将要求您指定第一个扇区。 通常,始终建议对第一个值使用默认值。 点击“ Enter”以使用默认值(2048):

First sector (2048-500118158, default 2048):

在下一个提示符下,您需要输入最后一个扇区。 您可以使用最后一个扇区的绝对值或起始扇区的相对值,并使用+符号加上分区大小。 大小可以指定为千字节(K),兆字节(M),千兆字节(G),兆字节(T)或PB(P)。

输入 +100G 将分区大小设置为100 GiB:

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-500118158, default 500118158): +100G
Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.

默认情况下,新分区的类型设置为“ Linux文件系统”,这在大多数情况下应该没问题。 如果要更改类型,请按 l 获取分区类型列表,然后按 t 更改类型。

让我们创建第二个分区,它将占用其余的磁盘空间:

n

使用默认值作为分区号,第一个和最后一个扇区。 这将创建一个分区,该分区将使用磁盘上的所有可用空间。

Partition number (2-128, default 2): 
First sector (209717248-625142414, default 209717248): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (209717248-625142414, default 625142414): 

创建分区后,请使用 p 显示新分区表的命令:

p
Disk /dev/sdb: 298.9 GiB, 320072933376 bytes, 625142448 sectors
Disk model: nal USB 3.0     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F8365250-AF58-F74E-B592-D56E3A5DEED1

Device         Start       End   Sectors   Size Type
/dev/sdb1       2048 209717247 209715200   100G Linux filesystem
/dev/sdb2  209717248 625142414 415425167 198.1G Linux filesystem

如果要删除分区,请使用 d 命令。

通过运行保存更改 w 命令:

p

该命令会将表写入磁盘并退出 fdisk 菜单。

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

内核将读取设备分区表,而无需重新引导系统。

激活分区

现在已经创建了分区,下一步是格式化分区并将它们安装到系统的目录树中。

我们将两个分区格式化为ext4:

sudo mkfs.ext4 -F /dev/sdb1sudo mkfs.ext4 -F /dev/sdb2
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 51928145 4k blocks and 12984320 inodes
Filesystem UUID: 63a3457e-c3a1-43f4-a0e6-01a7dbe7dfed
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done   

在此示例中,将分区安装到 /mnt/audio/mnt/video 目录。

使用以下方法创建挂载点 mkdir

sudo mkdir -p /mnt/audio /mnt/video 

挂载新分区:

sudo mount /dev/sdb1 /mnt/audiosudo mount /dev/sdb2 /mnt/video 

分区将保持挂载状态,直到您卸载它或关闭计算机为止。 要在Linux系统启动时自动挂载分区,请在 /etc/fstab 文件。

而已! 现在,您可以使用新分区来存储文件。

结论#

fdisk 是用于创建分区方案的命令行工具。 有关的更多信息 fdisk 命令,键入 man fdisk 在您的终端中。

如果您有任何疑问或反馈,请随时发表评论。

fdisk终端

Sidebar