分区管理工具-fdisk命令实战案例

简介: 关于Linux系统中使用fdisk命令进行磁盘分区管理的实战案例教程。

作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。

  fdisk工具擅长管理MBR分区。接下来我们就简单介绍一下该工具的使用。

一.分区表概述

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/12347792.html

二.fdisk非交互式命令案例

1>.查看fidsk的帮助信息

[root@yinzhengjie.com ~]# fdisk -h
Usage:
 fdisk [options] <disk>    change partition table
 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks

Options:
 -b <size>             sector size (512, 1024, 2048 or 4096)
 -c[=<mode>]           compatible mode: 'dos' or 'nondos' (default)
 -h                    print this help text
 -u[=<unit>]           display units: 'cylinders' or 'sectors' (default)
 -v                    print program version
 -C <number>           specify the number of cylinders
 -H <number>           specify the number of heads
 -S <number>           specify the number of sectors per track

[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# fdisk -h

[root@yinzhengjie.com ~]# man fdisk           #使用man手册查看fdisk查看的信息更全面。

2>.查看所有磁盘的分区表信息

[root@yinzhengjie.com ~]# lsblk 
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                      8:0    0    2T  0 disk 
├─sda1                   8:1    0    2M  0 part 
├─sda2                   8:2    0    1G  0 part /boot
└─sda3                   8:3    0    2T  0 part 
  ├─centos-root        253:0    0  500G  0 lvm  /
  └─centos-yinzhengjie 253:1    0  1.5T  0 lvm  /yinzhengjie
sdb                      8:16   0  600G  0 disk 
sdc                      8:32   0  400G  0 disk 
sdd                      8:48   0  800G  0 disk 
sde                      8:64   0 1000G  0 disk 
sr0                     11:0    1 1024M  0 rom  
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# lsblk

[root@yinzhengjie.com ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2199.0 GB, 2199023255552 bytes, 4294967296 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
Disk label type: gpt
Disk identifier: 60B0BC61-D7A6-4522-972F-E8B13E38A9C1


#         Start          End    Size  Type            Name
 1         2048         6143      2M  BIOS boot       
 2         6144      2103295      1G  Microsoft basic 
 3      2103296   4294723583      2T  Linux LVM       

Disk /dev/sdd: 859.0 GB, 858993459200 bytes, 1677721600 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


Disk /dev/sde: 1073.7 GB, 1073741824000 bytes, 2097152000 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


Disk /dev/sdc: 429.5 GB, 429496729600 bytes, 838860800 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


Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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


Disk /dev/mapper/centos-root: 536.9 GB, 536870912000 bytes, 1048576000 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


Disk /dev/mapper/centos-yinzhengjie: 1660.9 GB, 1660944384000 bytes, 3244032000 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

[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

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

[root@yinzhengjie.com ~]# cat /proc/partitions 
major minor  #blocks  name

  11        0    1048575 sr0
   8        0 2147483648 sda
   8        1       2048 sda1
   8        2    1048576 sda2
   8        3 2146310144 sda3
   8       48  838860800 sdd
   8       64 1048576000 sde
   8       32  419430400 sdc
   8       16  629145600 sdb
   8       17  104857600 sdb1
   8       18  209715200 sdb2
   8       19          1 sdb3
   8       21  104857600 sdb5
   8       22   83886080 sdb6
 253        0  524288000 dm-0
 253        1 1622016000 dm-1
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# cat /proc/partitions

[root@yinzhengjie.com ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  0 May  8 19:31 /dev/sda
brw-rw---- 1 root disk 8,  1 May  8 19:31 /dev/sda1
brw-rw---- 1 root disk 8,  2 May  8 19:31 /dev/sda2
brw-rw---- 1 root disk 8,  3 May  8 19:31 /dev/sda3
brw-rw---- 1 root disk 8, 16 May  8 20:37 /dev/sdb
brw-rw---- 1 root disk 8, 17 May  8 20:37 /dev/sdb1
brw-rw---- 1 root disk 8, 18 May  8 20:37 /dev/sdb2
brw-rw---- 1 root disk 8, 19 May  8 20:37 /dev/sdb3
brw-rw---- 1 root disk 8, 21 May  8 20:37 /dev/sdb5
brw-rw---- 1 root disk 8, 22 May  8 20:37 /dev/sdb6
brw-rw---- 1 root disk 8, 32 May  8 16:33 /dev/sdc
brw-rw---- 1 root disk 8, 48 May  8 16:33 /dev/sdd
brw-rw---- 1 root disk 8, 64 May  8 16:33 /dev/sde
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# ll /dev/sd*

3>.查看单个磁盘的分区信息

[root@yinzhengjie.com ~]# lsblk /dev/sda
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                      8:0    0    2T  0 disk 
├─sda1                   8:1    0    2M  0 part 
├─sda2                   8:2    0    1G  0 part /boot
└─sda3                   8:3    0    2T  0 part 
  ├─centos-root        253:0    0  500G  0 lvm  /
  └─centos-yinzhengjie 253:1    0  1.5T  0 lvm  /yinzhengjie
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# lsblk /dev/sda

[root@yinzhengjie.com ~]# fdisk -l /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2199.0 GB, 2199023255552 bytes, 4294967296 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
Disk label type: gpt
Disk identifier: 60B0BC61-D7A6-4522-972F-E8B13E38A9C1


#         Start          End    Size  Type            Name
 1         2048         6143      2M  BIOS boot       
 2         6144      2103295      1G  Microsoft basic 
 3      2103296   4294723583      2T  Linux LVM       
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

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

三.fdisk交互式命令

[root@yinzhengjie.com ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.        #这里提示咱们更改只会写入到内存,直到发送了写的指令才会将更改写入到磁盘设备。
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x134e9c3c.

Command (m for help):

1>.查看帮助信息

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
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   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):

2>.创建新的分区

Command (m for help): n 
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                       #我们可以不输入p,因为默认就是p选项,即主分区
Partition number (1-4, default 1):               #注意哈,此处如果不输入编号默认分配编号"1"
First sector (2048-1258291199, default 2048):         #这里的扇区默认是2048
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1258291199, default 1258291199): +100G      #注意哈,如果不加单位的话默认是以扇区为单位开始分配空间,因此通常分配时我们按G来分配哟~
Partition 1 of type Linux and of size 100 GiB is set

Command (m for help):  
Command (m for help): p  

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System      #从左到右的每个字段分别为设备名,起始扇区,结束扇区,块数量,分区的系统ID,分区的系统ID对应的类型
/dev/sdb1            2048   209717247   104857600   83  Linux

Command (m for help):

Command (m for help): n    
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
Partition number (2-4, default 2): 
First sector (209717248-1258291199, default 209717248): 
Using default value 209717248
Last sector, +sectors or +size{K,M,G} (209717248-1258291199, default 1258291199): +200G
Partition 2 of type Linux and of size 200 GiB is set

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux

Command (m for help): 
Command (m for help):

Command (m for help): n                            #分配第二个主分区

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e
Partition number (3,4, default 3): 
First sector (629147648-1258291199, default 629147648): 
Using default value 629147648
Last sector, +sectors or +size{K,M,G} (629147648-1258291199, default 1258291199): +256G
Partition 3 of type Extended and of size 256 GiB is set

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended

Command (m for help):

Command (m for help): n                            #分配扩展分区

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended

Command (m for help): 
Command (m for help): n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)            #当我们创建好扩展分区后,再次创建分区时会提示咱们是否创建逻辑分区,设备数字编号默认从5开始。
Select (default p): l
Adding logical partition 5
First sector (629149696-1166018559, default 629149696): 
Using default value 629149696
Last sector, +sectors or +size{K,M,G} (629149696-1166018559, default 1166018559): +50G
Partition 5 of type Linux and of size 50 GiB is set

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux

Command (m for help):

Command (m for help): n                            #分配第一个逻辑分区

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux

Command (m for help): 
Command (m for help): n     
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 6
First sector (734009344-1166018559, default 734009344): 
Using default value 734009344
Last sector, +sectors or +size{K,M,G} (734009344-1166018559, default 1166018559): +100G
Partition 6 of type Linux and of size 100 GiB is set

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux
/dev/sdb6       734009344   943724543   104857600   83  Linux

Command (m for help):

Command (m for help): n                            #分配第二个逻辑分区

Command (m for help): p       

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux
/dev/sdb6       734009344   943724543   104857600   83  Linux

Command (m for help): 
Command (m for help): n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 7
First sector (943726592-1166018559, default 943726592): 
Using default value 943726592
Last sector, +sectors or +size{K,M,G} (943726592-1166018559, default 1166018559): +80G
Partition 7 of type Linux and of size 80 GiB is set

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux
/dev/sdb6       734009344   943724543   104857600   83  Linux
/dev/sdb7       943726592  1111498751    83886080   83  Linux

Command (m for help):

Command (m for help): n                            #分配第三个逻辑分区

3>.删除分区

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648   734005247    52428800   83  Linux

Command (m for help): 
Command (m for help): d          #删除分区
Partition number (1-3, default 3):    #我们上面可以看到有3个分区信息,默认删除最后一个分区,我们也可以输入分区数的编号 
Partition 3 is deleted

Command (m for help): 
Command (m for help): p          #删除分区后再次查看分区信息

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux

Command (m for help): 
Command (m for help):

Command (m for help): d          #删除分区

4>.退出交互式界面

[root@yinzhengjie.com ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): 
Command (m for help): q

[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

Command (m for help): q                    #直接退出并不保存任何修改

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       734009344   943724543   104857600   83  Linux
/dev/sdb6       943726592  1111498751    83886080   83  Linux

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

Calling ioctl() to re-read partition table.
Syncing disks.
[root@yinzhengjie.com ~]#

Command (m for help): w                    #将内存中的分区怒信息同步到磁盘并退出

[root@yinzhengjie.com ~]# lsblk 
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                      8:0    0    2T  0 disk 
├─sda1                   8:1    0    2M  0 part 
├─sda2                   8:2    0    1G  0 part /boot
└─sda3                   8:3    0    2T  0 part 
  ├─centos-root        253:0    0  500G  0 lvm  /
  └─centos-yinzhengjie 253:1    0  1.5T  0 lvm  /yinzhengjie
sdb                      8:16   0  600G  0 disk 
├─sdb1                   8:17   0  100G  0 part 
├─sdb2                   8:18   0  200G  0 part 
├─sdb3                   8:19   0    1K  0 part 
├─sdb5                   8:21   0  100G  0 part 
└─sdb6                   8:22   0   80G  0 part 
sdc                      8:32   0  400G  0 disk 
sdd                      8:48   0  800G  0 disk 
sde                      8:64   0 1000G  0 disk 
sr0                     11:0    1 1024M  0 rom  
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# lsblk

[root@yinzhengjie.com ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       734009344   943724543   104857600   83  Linux
/dev/sdb6       943726592  1111498751    83886080   83  Linux
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# fdisk -l /dev/sdb

5>.修改分区的系统ID

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       734009344   943724543   104857600   83  Linux
/dev/sdb6       943726592  1111498751    83886080   83  Linux

Command (m for help):  
Command (m for help): t
Partition number (1-3,5,6, default 6): 
Hex code (type L to list all codes): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): 
Command (m for help): p  

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       734009344   943724543   104857600   83  Linux
/dev/sdb6       943726592  1111498751    83886080   8e  Linux LVM

Command (m for help):

Command (m for help): t                    #修改分区的系统ID

四.分区的注意事项

1>.设备分区数字编号不稳定

  生产环境中建议大家不要使用设备编号去挂载文件,因为当我们删除一个分区后,可能会导致灾难性的事情发生。

  当我们删除一个分区后,删除的分区后面的所有分区数字编号减1,这意味着你之前在"/etc/fstab"文件中挂载的所有分区可能都会出现问题。  

  博主推荐大家使用UUID去唯一标识设备名称,这也是红帽公司在开源的Linux发行版如此设计的。

Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       629149696   734007295    52428800   83  Linux
/dev/sdb6       734009344   943724543   104857600   83  Linux
/dev/sdb7       943726592  1111498751    83886080   83  Linux

Command (m for help):  
Command (m for help): d 
Partition number (1-3,5-7, default 7): 5        #我这里故意选择第五个逻辑分区进行删除。
Partition 5 is deleted

Command (m for help): 
Command (m for help): p

Disk /dev/sdb: 644.2 GB, 644245094400 bytes, 1258291200 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
Disk label type: dos
Disk identifier: 0x7bc495c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   209717247   104857600   83  Linux
/dev/sdb2       209717248   629147647   209715200   83  Linux
/dev/sdb3       629147648  1166018559   268435456    5  Extended
/dev/sdb5       734009344   943724543   104857600   83  Linux        #我们发现之前数字编号5的分区的确删除了,但是其后所有分区数字均会减1
/dev/sdb6       943726592  1111498751    83886080   83  Linux

Command (m for help): 
Command (m for help):

Command (m for help): d                #实操案例戳这里

2>.fdisk命令查看的是磁盘上的数据

  当我们为一块操作系统正在使用的磁盘进行分区时,此时可能会导致磁盘上的分区表和内存中的分区表的数据不一致的情况。这是我们需要手动将磁盘中分区表的数据同步到内存中。

  在CentOS 7.x系列,使用partprobe命令就可以搞定这这件事。具体案例可参考我下面的笔记。  
  在CentOS 6.x系列,使用partprobe命令可能不好好使,推荐大家使用part命令,"partx -a /dev/sda"(适用于增加分区),"partx -d --nr 6 /dev/sda "(适用于删除分区所对应的编号)。

[root@yinzhengjie.com ~]# fdisk /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk /dev/sda: 2199.0 GB, 2199023255552 bytes, 4294967296 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
Disk label type: gpt
Disk identifier: 60B0BC61-D7A6-4522-972F-E8B13E38A9C1


#         Start          End    Size  Type            Name
 1         2048         6143      2M  BIOS boot       
 2         6144      2103295      1G  Microsoft basic 
 3      2103296   4294723583      2T  Linux LVM       

Command (m for help): 
Command (m for help): n
Partition number (4-128, default 4): 
First sector (34-4294967262, default 4294723584): 
Last sector, +sectors or +size{K,M,G,T,P} (4294723584-4294967262, default 4294967262): +1M
Created partition 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.
[root@yinzhengjie.com ~]# 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# fdisk /dev/sda               #实操案例戳这里

[root@yinzhengjie.com ~]# fdisk -l /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2199.0 GB, 2199023255552 bytes, 4294967296 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
Disk label type: gpt
Disk identifier: 60B0BC61-D7A6-4522-972F-E8B13E38A9C1


#         Start          End    Size  Type            Name
 1         2048         6143      2M  BIOS boot       
 2         6144      2103295      1G  Microsoft basic 
 3      2103296   4294723583      2T  Linux LVM       
 4   4294723584   4294725631      1M  Linux filesyste 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# fdisk -l /dev/sda              #fdisk命令查看的是磁盘上的数据。

[root@yinzhengjie.com ~]# ll /dev/sda*
brw-rw---- 1 root disk 8, 0 May  8 20:47 /dev/sda
brw-rw---- 1 root disk 8, 1 May  8 20:47 /dev/sda1
brw-rw---- 1 root disk 8, 2 May  8 20:47 /dev/sda2
brw-rw---- 1 root disk 8, 3 May  8 20:47 /dev/sda3
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# ll /dev/sda*                 #查看的是内存中的数据

[root@yinzhengjie.com ~]# cat /proc/partitions  | grep sda
   8        0 2147483648 sda
   8        1       2048 sda1
   8        2    1048576 sda2
   8        3 2146310144 sda3
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# cat /proc/partitions | grep sda      #查看的是内存中的数据

[root@yinzhengjie.com ~]# lsblk /dev/sda
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                      8:0    0    2T  0 disk 
├─sda1                   8:1    0    2M  0 part 
├─sda2                   8:2    0    1G  0 part /boot
└─sda3                   8:3    0    2T  0 part 
  ├─centos-root        253:0    0  500G  0 lvm  /
  └─centos-yinzhengjie 253:1    0  1.5T  0 lvm  /yinzhengjie
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# lsblk /dev/sda                #依旧查看的是内存中的数据

[root@yinzhengjie.com ~]# partprobe /dev/sda              #该命令可以某块将磁盘中的数据同步到内存中,如果不指定磁盘,默认会将所有的磁盘设备的分区表重新刷新到内存。

[root@yinzhengjie.com ~]# lsblk /dev/sda
NAME                   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                      8:0    0    2T  0 disk 
├─sda1                   8:1    0    2M  0 part 
├─sda2                   8:2    0    1G  0 part /boot
├─sda3                   8:3    0    2T  0 part 
│ ├─centos-root        253:0    0  500G  0 lvm  /
│ └─centos-yinzhengjie 253:1    0  1.5T  0 lvm  /yinzhengjie
└─sda4                   8:4    0    1M  0 part 
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# lsblk /dev/sda                #再次查看发现内存中有最新的分区信息啦

[root@yinzhengjie.com ~]# cat /proc/partitions  | grep sda
   8        0 2147483648 sda
   8        1       2048 sda1
   8        2    1048576 sda2
   8        3 2146310144 sda3
   8        4       1024 sda4
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# cat /proc/partitions | grep sda

[root@yinzhengjie.com ~]# ll /dev/sda* 
brw-rw---- 1 root disk 8, 0 May  8 20:55 /dev/sda
brw-rw---- 1 root disk 8, 1 May  8 20:55 /dev/sda1
brw-rw---- 1 root disk 8, 2 May  8 20:55 /dev/sda2
brw-rw---- 1 root disk 8, 3 May  8 20:55 /dev/sda3
brw-rw---- 1 root disk 8, 4 May  8 20:55 /dev/sda4
[root@yinzhengjie.com ~]#

[root@yinzhengjie.com ~]# ll /dev/sda*

五.博主推荐阅读

  gdisk工具使用案例:
    https://www.cnblogs.com/yinzhengjie/p/12359770.html
  parted工具使用案例:
    https://www.cnblogs.com/yinzhengjie/p/12355151.html
目录
相关文章
|
6月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
【Shell 命令集合 磁盘维护 】Linux 管理硬盘分区 mpartition命令使用教程
97 1
|
6月前
|
Linux Shell C语言
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
【Shell 命令集合 磁盘维护 】Linux 分区管理的工具 sfdisk命令使用教程
66 1
|
6月前
|
存储 安全 Linux
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
【Shell 命令集合 磁盘维护 】Linux 在特定的分区上建立 linux 文件系统 mkfs命令使用教程
77 0
|
2月前
分区管理工具-gdisk命令实战案例
关于如何使用gdisk工具进行GPT分区管理的实战案例教程。
27 2
分区管理工具-gdisk命令实战案例
|
2月前
|
Linux
分区管理工具-parted命令实战案例
关于Linux分区管理工具parted命令的使用案例,包括创建和删除分区、清空分区表等操作的详细步骤和注意事项。
24 0
分区管理工具-parted命令实战案例
Linux 用fdisk进行磁盘分区(图文过程)
Linux 用fdisk进行磁盘分区(图文过程)
Linux 用fdisk进行磁盘分区(图文过程)
|
Linux 开发者
Linux 分区信息和查看工具|学习笔记
快速学习 Linux 分区信息和查看工具
162 0
Linux 分区信息和查看工具|学习笔记
|
机器学习/深度学习 网络协议 Linux
Linux存储入门:简易数据恢复方案--分区和LVM实战
以黑箱方式完全依赖工具来进行数据恢复,所需时间和恢复的结果都难以估计。以专家或者专业方式进行数据恢复,技能和成本又太高。那么,数据恢复有没有较为合适的简易方案呢?我们以处理过的实际案例作答。
6587 0