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

来源:互联网 发布:乎的用法 编辑:程序博客网 时间:2024/06/04 23:28

磁盘的分区

一,增加虚拟磁盘

步骤如下

  • 在当前的虚拟机选项卡点击鼠标右键,选择”设置”;
  • 此时会弹出”虚拟机设置”对话框。在左侧选中”磁盘”,然后点击下方的”添加”按钮;
  • “选择磁盘类型”这里保持默认不用更改任何指标,直接点击”下一步”按钮;
  • “选择磁盘”对话框里也保持默认,直接点击”下一步”按钮;
  • “指定磁盘容量”这里需要修改一下,设定”最大磁盘大小”为10GB(自由分配大小),然后选择”将虚拟机磁盘存储为单个文件”单选按钮;
  • 继续点击”下一步”按钮,然后点击”完成”按钮,最终完成添加新的虚拟机磁盘。虽然磁盘已经添加了,但系统暂时还不能被识别,需要重启一下系统才可以;

二,命令fdisk

  1. 命令语法
    fdisk [-l] [设备名称]

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

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

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

  • 重启过后,使用fdisk命令查看磁盘
[root@localhost ~]# fdisk -l磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区    //刚才增加并分配的10个GB磁盘,一般名称为/dev/sdbUnits = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节   设备 Boot      Start         End      Blocks   Id  System    

三,划分分区

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

  • 使用fdisk命令,进入磁盘进行划分分区,并使用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 获取帮助):nPartition 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开始(直接回车即可)将使用默认值 2048Last 扇区, +扇区 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   extendedSelect (default p): p分区号 (2-4,默认 2):起始 扇区 (4196352-20971519,默认为 4196352):将使用默认值 4196352Last 扇区, +扇区 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 获取帮助):nPartition type:   p   primary (3 primary, 0 extended, 1 free)   e   extendedSelect (default e): e  //选项e 代表 扩展分区已选择分区 4起始 扇区 (10487808-20971519,默认为 10487808):将使用默认值 10487808Last 扇区, +扇区 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 获取帮助):nAll primary partitions are in use添加逻辑分区 5起始 扇区 (10489856-18876415,默认为 10489856):将使用默认值 10489856Last 扇区, +扇区 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 获取帮助):nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): e分区号 (1-4,默认 1):起始 扇区 (2048-20971519,默认为 2048):将使用默认值 2048Last 扇区, +扇区 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 获取帮助):nPartition 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):将使用默认值 6293504Last 扇区, +扇区 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 获取帮助):nPartition type:   p   primary (1 primary, 1 extended, 2 free)   l   logical (numbered from 5)Select (default p): l添加逻辑分区 5起始 扇区 (4096-6293503,默认为 4096):将使用默认值 4096Last 扇区, +扇区 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 获取帮助):nPartition type:   p   primary (0 primary, 0 extended, 4 free)   e   extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-20971519,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+5G分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。[root@localhost ~]# fdisk -l磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区     //我自己的磁盘sdbUnits = 扇区 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 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。

磁盘分区注意事项总结

  • 当我们在创建磁盘分区的时候,有三种分区可选,扩展分区(e),主分区(p),逻辑分区(l)。
  • 我们最多只能创建4个分区(4个中不包括逻辑分区),如果想创建多个分区,可以是3个主分区和1个扩展分区组合。然后在扩展分区中,创建逻辑分区(可以创建无限个逻辑分区)。
    需要注意的是,扩展分区相当于一个空壳子,是不可以格式化的(不可以使用),只有它的子分区才可以格式化。
  • 在fdisk中划分分区的时候,使用d选项可以删除你想要删除的那个分区,需要注意的是,当扩展分区中有子分区(逻辑分区)的时候,删除扩展分区会连同子分区一起删除,所以当我们在删除分区的时候,一定要谨慎,谨慎,谨慎!!!
原创粉丝点击