名称: fdisk
使用: fdisk [块设备磁盘]
说明: 将一个块设备(磁盘)分成若干个块设备(磁盘),并将分区的信息写进分区表。
fdisk命令菜单常用参数如下所示:
- d:(del)删除一个分区。
- n:(new)新建一个新分区。
- p:(print)打印分区表。
- q:(quit)放弃不保存。
- t:改变分区类型
- w:(write)把分区写进分区表,保存并退出。
- l:列出已挂载的磁盘
操作实例:
# fdisk /dev/memblock //对memblock块设备分区
1.输入n, 出现两个菜单e表示扩展分区,p表示主分区
2.输入p,进入主分区,再输入1,表示第一个主分区:
为什么柱面数只有1~32?因为在程序中我们设置了该块设备的磁盘信息,
如上图, 因为geo->heads =2,所以最多只能创建2个分区
如下图,我们输入3,创建第3个主分区会失败:
3.然后输入1,表示开始柱面 ,再输入5,表示结束柱面
4.再次输入n,p,2,创建第2个分区,可以发现起始柱面就是从6开始的,因为1~5柱面被第一个分区占用了
5.第2个分区创建好了,输入p,打印分区表
6.输入w,保存并退出。
发现出错,出现分区无法写入分区表,如下图所示:
找到在驱动程序入口函数中,alloc_disk()分配一个gendisk,设置的只有一个分区.如下图所示:
修改参数,改为大于2的值即可,然后重新执行就没有问题了
7.输入ls /dev/memblock* -l,就能看到分到的分区了
(PS:次设备号为0的,就是主磁盘)