10.15 Linux fdisk创建分区(主分区、扩展分区和逻辑分区)过程详解

举报
开源Linux 发表于 2022/05/01 22:44:02 2022/05/01
【摘要】 本节我们实际建立一个主分区,看看过程是什么样子的。命令如下:[root@localhost ~]# fdisk /dev/sdb…省略部分输出…Command (m for help): p\#显示当前硬盘的分区列表Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylindersUnit...

本节我们实际建立一个主分区,看看过程是什么样子的。命令如下:

[root@localhost ~]# fdisk /dev/sdb
…省略部分输出…
Command (m for help): p
\#显示当前硬盘的分区列表
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb4b0720c
Device Boot Start End Blocks id System
\#目前一个分区都没有
Command (m for help): n
\#那么我们新建一个分区
Command action
\#指定分区类型
e extended
\#扩展分区
p primary partition (1-4)
\#主分区
p
\#这里选择p,建立一个主分区
Partition number (1-4): 1
\#选择分区号,范围为1~4,这里选择1
First cylinder (1 -2610, default 1):
\#分区的起始柱面,默认从1开始。因为要从硬盘头开始分区,所以直接回车
Using default value 1
\#提示使用的是默认值1
Last cylinder, +cylinders or +size{K, M, G}(1-2610, default 2610): +5G
\#指定硬盘大小。可以按照柱面指定(1-2610)。我们对柱面不熟悉,那么可以使用size{K, M, G}的方式指定硬盘大小。这里指定+5G,建立一个5GB大小的分区
Command (m for help):
\#主分区就建立了,又回到了fdisk交互界面的提示符
Command (m for help): p
\#查询一下新建立的分区
Disk /dev/sdb: 21.5GB, 21474836480 bytes
255 heads,63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes 1512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb4b0720c
Device Boot Start End Blocks id System
/dev/sdb1 1 654 5253223+ 83 [linux](http://www.beylze.cn/linux/)
\#dev/sdb1已经建立了吧

总结,建立主分区的过程就是这样的:“fdisk 硬盘名 -> n(新建)->p(建立主分区) -> 1(指定分区号) -> 回车(默认从 1 柱面开始建立分区)-> +5G(指定分区大小)”。当然,我们的分区还没有格式化和挂载,所以还不能使用。
本节给大家展示如何建立一个扩展分区。还记得吗?主分区和扩展分区加起来最多只能建立 4 个,而扩展分区最多只能建立 1 个。

扩展分区的建立命令如下:

[root@localhost ~]# fdisk /dev/sdb
…省略部分输出…
Command (m for help): n
\#新建立分区
Command action
e extended
p primary partition (1-4)
e
\#这次建立扩展分区
Partition number (1-4): 2
\#给扩展分区指定分区号2
First cylinder (655-2610, default 655):
\#扩展分区的起始柱面。上节建立的主分区1已经占用了1~654个柱面,所以我们从655开始建立,注意:如果没有特殊要求,则不要跳开柱面建立分区,应该紧挨着建立分区
Using default value 655
提示使用的是默认值655
Last cylinder, +cylinders or +size{K, M, G} (655-2610, default 2610):
\#这里把整块硬盘的剩余空间都建立为扩展分区
Using default value 2610
\#提示使用的是默认值2610

这里把 /dev/sdb 硬盘的所有剩余空间都建立为扩展分区,也就是建立一个主分区,剩余空间都建立成扩展分区,再由扩展分区中建立逻辑分区(逻辑分区在后续章节中介绍)。
扩展分区是不能被格式化和直接使用的,所以还要在扩展分区内部再建立逻辑分区。

我们来看看逻辑分区的建立过程,命令如下:

[root@localhost ~]# fdisk /dev/sdb
…省略部分输出…
Command (m for help): n
\#建立新分区
Command action
l logical (5 or over)
\#由于在前面章节中,扩展分区已经建立,所以这里变成了l(logic)
p primary partition (1-4)
l
\#建立逻辑分区
First cylinder (655-2610, default 655):
\#不用指定分区号,默认会从5开始分配,所以直接选择起始柱面
\#注意:逻辑分区是在扩展分区内部再划分的,所以柱面是和扩展分区重叠的
Using default value 655
Last cylinder, +cylinders or +size{K, M, G} (655-2610, default 2610):+2G
\#分配2GB大小
Command (m for help): n
\#再建立一个逻辑分区
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (917-2610, default 917):
Using default value 917
Last cylinder, +cylinders or +size{K, M, G} (917-2610, default 2610):+2G
Command (m for help): p
\#查看一下已经建立的分区
Disk /dev/sdb: 21.5GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 *512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb4b0720c
Device Boot Start End Blocks id System
/dev/sdb1 1 654
5253223+ 83 Linux
\#主分区
/dev/sdb2 655 2610 15711570
5 Extended
\#扩展分区
/dev/sdb5 655 916
2104483+ 83 Linux
\#逻辑分区 1
/dev/sdb6 917 1178
2104483+ 83 Linux
\#逻辑分区2
Command (m for help): w
\#保存并退出
The partition table has been altered!
Calling ioctl。to re-read partition table.
Syncing disks.
[root@localhost -]#
\#退回到提示符界面

所有的分区立过程中如果不保存并退出是不会生效的,所以建立错了也没有关系,使用 q 命令不保存退出即可。如果使用了 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.
\#要求重新启动,才能格式化
Syncing disks.

看到了吗?必须重新启动!可是重新启动很浪费时间。如果不想重新启动,则可以使用 partprobe 命令。这个命令的作用是让系统内核重新读取分区表信息,这样就可以不用重新启动了。命令如下:

[root@localhost ~]# partprobe

如果这个命令不存在,则请安装 parted-2.1-18.el6.i686 这个软件包。partprobe 命令不是必需的,如果没有提示重启系统,则直接格式化即可。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。