Linux-fdisk磁盘分区命令(16)

名称: 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的,就是主磁盘)

 

原文地址:https://www.cnblogs.com/lifexy/p/7661239.html