10个fdisk命令用于管理Linux磁盘分区

fdisk stand(对于“固定磁盘或格式磁盘”)是最常用的基于命令行的磁盘操作实用程序。这篇文章解释了10个基本的\'fdisk\'

FDISK站(用于“ 固定磁盘磁盘格式化 ”)是为Linux / Unix系统的最常用的命令行的基于磁盘的操作工具。在fdisk命令的帮助下,您可以使用其自己的基于用户友好的文本的菜单驱动界面查看,创建,调整大小,删除,更改,复制和移动硬盘驱动器上的分区。 此工具在为新分区创建空间,组织新驱动器的空间,重新组织旧驱动器以及将数据复制或移动到新磁盘方面非常有用。它允许您创建最多4个新的分区和逻辑( 扩展 )分区数的基础上,你在你的系统中有硬盘的大小。
fdisk命令示例

fdisk命令管理磁盘分区

本文介绍了10个基本的fdisk命令在基于Linux的系统来管理分区表。 你必须以root用户运行fdisk命令,否则你将得到一个错误“ 找不到命令 ”。
注意-不要创建,删除或修改分区。 除非你知道你在做什么!

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

以下基本命令列出系统上的所有现有磁盘分区。在'-l'参数立场(列出所有分区)与fdisk命令用于查看Linux上的所有可用分区。 分区按其设备名称显示。 例如: 为/ dev / sda上为/ dev / sdb的/ dev / SDC。
[root@howtoing.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@howtoing.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@howtoing ~]# 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@howtoing ~]# 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
Command 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@howtoing ~]# fdisk /dev/sda
在命令模式,就像我们先前做输入,而不是“M”“P”。 当我进入'P',将打印具体的/ dev / sda的分区表。
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
Command (m for help):

5.如何在Linux中删除分区

如果您想删除特定的硬盘特定分区(即/ dev / sda9)/ dev / sda上 。您必须在fdisk命令模式才能执行此操作。
[root@howtoing ~]# fdisk /dev/sda
接着,输入“D”从系统中删除任何给定的分区名称。 当我进入“D”,它会提示我输入我想从/ dev / sda的硬盘删除分区。 假设我输入数字“4”在这里,那么它会删除分区号“4”(/ dev / sda4的用量 )磁盘,并显示了分区表的自由空间。 输入“W”作出新改建的分区表后写表磁盘并退出。新的更改只会发生在系统下次重新启动后。这可以从下面的输出容易地理解。
[root@howtoing ~]# 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): d
Partition number (1-4): 4
Command (m for help): w
The 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@howtoing ~]# fdisk /dev/sda
进入命令模式后,现在按“N”命令创建下的/ dev / sda的具有特定大小的新分区。这可以通过以下给定输出的帮助来演示。
[root@howtoing ~]# 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): n
Command action
e   extended
p   primary partition (1-4)
e
在创建新的分区,它会问你两个选择' 扩展 '或' 初级 '分区创建。 按“E”为扩展分区和主分区“P”。然后它会要求您输入以下两个输入。
  1. 要创建的分区的第一个柱面号。
  2. 要创建的分区的最后一个柱面号(最后柱面,+柱面或+尺寸)。
您可以通过在最后一个柱面加入“+ 5000M”进入气缸的大小。 在这里,“+”表示加法和5000M意味着新的分区(即5000MB)的大小。 请记住,创建新的分区后,你应该运行'W'命令更改保存到分区表的新变化,最后重新启动系统,以验证新创建的分区。
Command (m for help): w
The 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@howtoing ~]# mkfs.ext4 /dev/sda4

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

格式化新的分区后,检查(以块显示器尺寸),使用标志“S”用fdisk命令该分区的大小。这样,您可以检查任何特定设备的大小。
[root@howtoing ~]# fdisk -s /dev/sda2
5194304

9.如何修复分区表顺序

如果您已经删除逻辑分区,再重新创建它,你可能会注意到“ 分区失序的 ”问题或类似的错误消息“ 分区表项不在磁盘顺序 ”。 例如,当3,如(sda4是 ,sda5sda6)被删除,新的分区逻辑分区创建的,你可能期望新的分区名称将是sda4的用量 。 但是,该系统将创建为sda5。 出现这种情况是因为,分隔被删除后,sda7分区在被移动时,sda4是与自由空间移位到最后。 要解决这样的分区秩序的问题,并分配sda4的用量到新创建的分区,发出'X'进入一个额外的功能部分,然后'F'专家命令进入修复分区表的顺序如下图所示。
[root@howtoing ~]# 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): x
Expert command (m for help): f
Done.
Expert command (m for help): w
The 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@howtoing ~]# fdisk /dev/sda
“P”命令来查看当前的分区表,你会看到有一个引导标志在/ dev / sda1的磁盘(橙色星号(*)标记),如下图所示。
[root@howtoing ~]# 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): a
Partition number (1-9): 1
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
Command (m for help):
我已经尽我所能包含FDISK命令,几乎所有的基本命令,但仍FDISK包含多种其他专家的命令,你可以通过输入“X”中使用它们。 有关详细信息,从终端检查出“ 人的fdisk'命令。如果我错过了任何重要的命令,请通过评论部分与我分享。 阅读:
  1. 12“df”命令检查Linux中的磁盘空间
  2. 10个有用的“du”命令查找文件和目录的磁盘使用情况