您的位置:首页 > 运维架构 > Linux

Linux系统增加虚拟磁盘,命令fdisk磁盘分区及划分分区详解

2017-11-02 21:36 741 查看

磁盘的分区

一,增加虚拟磁盘

步骤如下

在当前的虚拟机选项卡点击鼠标右键,选择”设置”;

此时会弹出”虚拟机设置”对话框。在左侧选中”磁盘”,然后点击下方的”添加”按钮;

“选择磁盘类型”这里保持默认不用更改任何指标,直接点击”下一步”按钮;

“选择磁盘”对话框里也保持默认,直接点击”下一步”按钮;

“指定磁盘容量”这里需要修改一下,设定”最大磁盘大小”为10GB(自由分配大小),然后选择”将虚拟机磁盘存储为单个文件”单选按钮;

继续点击”下一步”按钮,然后点击”完成”按钮,最终完成添加新的虚拟机磁盘。虽然磁盘已经添加了,但系统暂时还不能被识别,需要重启一下系统才可以;

二,命令fdisk

命令语法

fdisk [-l] [设备名称]

命令描述

fdisk用来对小于2T的磁盘进行分区,如果大于2T需用parted工具

命令选项

-l 后面不加设备名称,会列出系统中所有的磁盘设备以及分区表;加上设备名称,会列出设备的分区表。

命令示例<注:只截取重要命令代码>

重启过后,使用fdisk命令查看磁盘

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区    //刚才增加并分配的10个GB磁盘,一般名称为/dev/sdb
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
设备 Boot      Start         End      Blocks   Id  System


三,划分分区

<注:只截取重要命令代码>

使用fdisk命令,进入磁盘进行划分分区,并使
4000
用p打印当前磁盘分区情况

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x6d2ecb0c 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m            //m表示查看帮助命令
命令操作
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 partitions system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

命令(输入 m 获取帮助):p       //打印当前磁盘分区情况

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6d2ecb0c

设备 Boot      Start         End      Blocks   Id  System


说明: 可以看出当前没有任何分区 。在fdisk分区中常用的选项: n 表示建立一个新的分区; w 表示保存; q 表示退出 ;d 表示删除一个分区;p 表示打印当前磁盘的分区情况;



新建分区 使用 n

命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 0 extended, 4 free)   //主分区
e   extended        //扩展分区


说明:可创建4个主分区,如果想创建更多分区需要使用扩展分区,扩展分区+主分区数目最多为4个;使用fdisk只能划分小于2TB分区;

如果想多划分多个分区,可以划分3个主分区,1个扩展分区,然后在扩展分区里,在划分逻辑分区。



划分第一个主分区,并查看分区情况

Select (default p): p
分区号 (1-4,默认 1):1        //划分第一个分区
起始 扇区 (2048-20971519,默认为 2048):   //定义分区大小默认是1028开始(直接回车即可)
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G  //为第一个主分区划分2G空间
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux




划分第二个主分区

命令(输入 m 获取帮助):n
Partition type:
p   primary (1 primary, 0 extended, 3 free)
e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-20971519,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB


注意: 省略划分下两个分区,当划分4个分区的时候,系统会提醒你不能再继续划分分区了,这时候我们删除一个分区如下



删除分区

命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4  //删除第四个分区
分区 4 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux  //可以看出剩下了三个分区,第四个被删除了。




划分一个扩展分区,为4GB,并查看分区情况

命令(输入 m 获取帮助):n
Partition type:
p   primary (3 primary, 0 extended, 1 free)
e   extended
Select (default e): e  //选项e 代表 扩展分区
已选择分区 4
起始 扇区 (10487808-20971519,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-20971519,默认为 20971519):+4G
分区 4 已设置为 Extended 类型,大小设为 4 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended


注意 :这时候已经有三个主分区,一个逻辑分区,当我们在想分区的时候,只能添加逻辑分区了



添加逻辑分区,并查看分区情况

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (10489856-18876415,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-18876415,默认为 18876415):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux  //刚刚添加的逻辑分区


注意:省略添加第6个逻辑分区。。。。

这时候有三个主分区,一个扩展分区,和两个逻辑分区



删除第一个主分区1,并查看分区情况

命令(输入 m 获取帮助):d
分区号 (1-6,默认 6):1
分区 1 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        10489856    12587007     1048576   83  Linux
/dev/sdb6        12589056    14686207     1048576   83  Linux


说明:可以看出第一个主分区已经被删除了。



删除一个逻辑分区5,并查看分区情况

命令(输入 m 获取帮助):d
分区号 (2-6,默认 6):5
分区 5 已删除

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x60b3292f

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352     8390655     2097152   83  Linux
/dev/sdb3         8390656    10487807     1048576   83  Linux
/dev/sdb4        10487808    18876415     4194304    5  Extended
/dev/sdb5        12589056    14686207     1048576   83  Linux


注意 :我们已经把逻辑分区5删除了,但是上面可以看出 仍然存在一个sdb5,这里的sdb5和刚才被删除的逻辑分区5是不一样的,也就是说当你删除一个逻辑分区的时候,这个逻辑分区号不会留空的,原来的sdb6,变成了sdb5。这时候如果我们 q 的话,会退出,并不保存以上的操作。如果w的话就是保存,在这里我们选择q。



重新进入分区,并查看当前分区情况

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xd361f0a3 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd361f0a3

设备 Boot      Start         End      Blocks   Id  System


说明: 可以看出,当我们q退出之后,重新进入分区时,分区情况没有保存,恢复了默认状态,这时候我们重新分区如下



给一个扩展分区划分三个GB,并查看分区情况

命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): e
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+3G
分区 1 已设置为 Extended 类型,大小设为 3 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd361f0a3

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended




增加一个主分区,分区号为3,并查看分区情况

命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 1 extended, 3 free)
l   logical (numbered from 5)
Select (default p): p
分区号 (2-4,默认 2):3
起始 扇区 (6293504-20971519,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-20971519,默认为 20971519):+1G
分区 3 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd361f0a3

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux




划分一个逻辑分区,并查看分区情况

命令(输入 m 获取帮助):n
Partition type:
p   primary (1 primary, 1 extended, 2 free)
l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (4096-6293503,默认为 4096):
将使用默认值 4096
Last 扇区, +扇区 or +size{K,M,G} (4096-6293503,默认为 6293503):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd361f0a3

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728    5  Extended
/dev/sdb3         6293504     8390655     1048576   83  Linux
/dev/sdb5            4096     2101247     1048576   83  Linux


说明:可以看出,我们划分的逻辑分区号是从5开始的。也就是说前四个分区号是留给主分区或扩展分区的,逻辑分区从号5开始,当删除其中一个逻辑分区时,它的上一个逻辑分区会顶替它的逻辑分区号,往前面排序。



这时候q退出,重新进入分区,给主分区分5GB,并w保存退出,并查看分区情况

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x14b00984 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x14b00984

设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区     //我自己的磁盘sdb
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x14b00984

设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux    //可以看出刚才创建的主分区已经保存了




删除sdb1这个主分区,并w保存退出,并查看分区情况

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x14b00984

设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。


磁盘分区注意事项总结

当我们在创建磁盘分区的时候,有三种分区可选,扩展分区(e),主分区(p),逻辑分区(l)。

我们最多只能创建4个分区(4个中不包括逻辑分区),如果想创建多个分区,可以是3个主分区和1个扩展分区组合。然后在扩展分区中,创建逻辑分区(可以创建无限个逻辑分区)。

需要注意的是,扩展分区相当于一个空壳子,是不可以格式化的(不可以使用),只有它的子分区才可以格式化。

在fdisk中划分分区的时候,使用d选项可以删除你想要删除的那个分区,需要注意的是,当扩展分区中有子分区(逻辑分区)的时候,删除扩展分区会连同子分区一起删除,所以当我们在删除分区的时候,一定要谨慎,谨慎,谨慎!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息