Linux磁盘分区 fdisk 命令

fdisk代表(“固定磁盘格式化磁盘”)是Linux / Unix系统上最常用的基于命令行的磁盘操作实用程序借助fdisk命令,您可以使用其自己的用户友好的基于文本的菜单驱动界面来查看,创建,调整大小,删除,更改,复制和移动硬盘上的分区。

该工具在为新分区创建空间,为新驱动器组织空间,重新组织旧驱动器以及将数据复制或移动到新磁盘方面非常有用。它允许您根据系统中硬盘的大小,最多创建四个新的分区和逻辑(扩展)分区


1.查看Linux中的所有磁盘分区

以下基本命令列出了系统上所有现有的磁盘分区。-l '参数代表(列出所有分区),与fdisk命令一起使用以查看Linux上所有可用的分区。分区按其设备名称显示。例如:/ dev / sda/ dev / sdb/ dev / sdc

[root@tecmint.com ~]# fdisk -l

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

2.在Linux中查看特定的磁盘分区

要查看特定硬盘的所有分区,请使用选项-l和设备名称。例如,以下命令将显示设备/ dev / sda的所有磁盘分区如果您使用不同的设备名称,只需将设备名称写为/ dev / sdb/ dev / sdc即可

[root@tecmint.com ~]# fdisk -l /dev/sda

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

3.检查所有可用的fdisk命令

如果您想查看所有可用于fdisk的命令。只需提及硬盘名称,例如/ dev / sda即可使用以下命令,如下所示。以下命令将为您提供类似于以下的输出。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help):

输入“ m ”以查看可以在/ dev / sda硬盘上操作的fdisk所有可用命令的列表之后,在屏幕上输入“ m ”,您将看到可以在/ dev / sda设备上使用的fdisk的所有可用选项

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): mCommand action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):

4.在Linux中打印所有分区表

要打印硬盘的所有分区表,您必须处于特定硬盘的命令模式下,例如/ dev / sda

[root@tecmint ~]# fdisk /dev/sda

在命令模式下,输入' p '而不是我们之前所做的' m '。当我输入' p '时,它将打印特定的/ dev / sda分区表。

Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):

5.如何在Linux中删除分区

如果要从特定的硬盘(例如/ dev / sda)中删除特定的分区(即/ dev / sda9您必须处于fdisk命令模式下才能执行此操作。

[root@tecmint ~]# fdisk /dev/sda

接下来,输入“ d ”以从系统中删除任何给定的分区名称。输入“ d ”时,它将提示我输入要从/ dev / sda硬盘删除的分区号假设我在此处输入数字“ 4 ”,那么它将删除分区号“ 4 ”(即/ dev / sda4)磁盘,并在分区表中显示可用空间。输入' w '将表写入磁盘,然后对分区表进行新的更改后退出。新的更改将仅在下一次重新引导系统后发生。从下面的输出可以很容易地理解这一点。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): dPartition number (1-4): 4Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/root

警告:执行此步骤时请小心,因为使用选项' d '将完全从系统中删除分区,并且可能会丢失分区中的所有数据。

6.如何在Linux中创建新分区

如果您的设备上还有可用空间,请说/ dev / sda并想在其下创建一个新分区。然后,您必须处于/ dev / sda的fdisk命令模式键入以下命令以进入特定硬盘的命令模式。

[root@tecmint ~]# fdisk /dev/sda

在进入命令模式后,现在按“ n ”命令在/ dev / sda下创建具有特定大小的新分区可以通过跟随给定的输出来证明这一点。

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): nCommand action
   e   extended
   p   primary partition (1-4)e

在创建新分区时,它将询问您两个选项“扩展”或“”分区创建。按“ e ”表示扩展分区,按“ p ”表示主分区。然后它将要求您输入以下两个输入。

  1. 要创建的分区的第一个柱面编号。

  2. 要创建的分区的最后一个柱面编号(最后一个柱面,+ cylinders或+ size)。

您可以通过在最后一个圆柱体中添加“ + 5000M ”来输入圆柱体的大小在这里,“ + ”表示添加,而5000M表示新分区的大小(即5000MB)。请记住,创建新分区后,应运行“ w ”命令来更改新更改并将其保存到分区表,最后重新引导系统以验证新创建的分区。

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

7.如何在Linux中格式化分区

创建新分区后,请勿跳过使用“ mkfs ”命令格式化新创建的分区的步骤在终端中键入以下命令以格式化分区。这里的/ dev / SDA4是我新创建的分区。

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8.如何在Linux中检查分区的大小

格式化新分区后,通过fdisk命令使用标志' s '(以块为单位显示大小)检查分区的大小这样,您可以检查任何特定设备的大小。

[root@tecmint ~]# fdisk -s /dev/sda2
5194304

9.如何修复分区表顺序

如果删除了逻辑分区并再次创建,则可能会注意到“分区故障”问题或错误消息,例如“分区表条目不在磁盘顺序中”。

例如,当删除三个逻辑分区(如sda4sda5sda6)并创建新分区时,您可能期望新分区名称为sda4但是,系统会将其创建为sda5发生这种情况的原因是,删除分区后,sda7分区已作为sda4移出,并且可用空间移至末尾。

要解决此类分区顺序问题,并将sda4分配给新创建的分区,请发出“ x ”以输入额外的功能部分,然后输入“ f ”专家命令以修复分区表的顺序,如下所示。

[root@tecmint ~]# fdisk  /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): xExpert command (m for help): fDone.

Expert command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

在运行“ f ”命令之后,不要忘记运行“ w ”命令以保存并退出fdisk命令模式。固定分区表顺序后,您将不再收到错误消息。

10.如何禁用分区的引导标志(*)

默认情况下,fdisk命令在每个分区上显示引导标志(即' * ')符号。如果要在特定分区上启用或禁用启动标志,请执行以下步骤。

[root@tecmint ~]# fdisk  /dev/sda

按“ p ”命令查看当前分区表,您会看到/ dev / sda1磁盘有一个引导标志(橙色的星号(*)符号),如下所示。

[root@tecmint ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

接下来输入命令' a '禁用引导标志,然后在我的情况下输入分区号' 1 '为(即/ dev / sda1)。这将禁用分区/ dev / sda1上的启动标志这将删除星号(*)标志。

Command (m for help): aPartition number (1-9): 1Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          13      104391   83  Linux
/dev/sda2              14        2624    20972857+  83  Linux
/dev/sda3            2625        4582    15727635   83  Linux
/dev/sda4            4583       77541   586043167+   5  Extended
/dev/sda5            4583        5887    10482381   83  Linux
/dev/sda6            5888        7192    10482381   83  Linux
/dev/sda7            7193        7845     5245191   83  Linux
/dev/sda8            7846        8367     4192933+  82  Linux swap / Solaris
/dev/sda9            8368       77541   555640123+  8e  Linux LVM

Command (m for help):


标签: Linux

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:12个有用的 "df"命令来检查Linux中的磁盘空间
下一篇:统计文件和目录磁盘使用情况 du 命令

发表评论

海外服务器,免备案,中国电信 CN2 GIA 高级回国优化专线

香港云服务器立即订购

4核4G  50G 2M (CN2 GIA)  335/月

8核8G  50G  2M(CN2  GIA)  613/月

香港物理服务器立即订购

Xeon L5630 *2    16GB DDR3    1TB HDD 或 240G SSD  10 Mbps  3IP 1500/月

8 核 16 线程 (2.13GHz)

Xeon E5 2650  16GB DDR3   1TB HDD/240G SSD/500G SSD  10 Mbps  3IP 2000/月

8 核 16 线程 (2.00GHz)