课时10 使用fdisk进行磁盘管理
fdisk是来自IBM的老牌分区工具,支持绝大多数的操作系统,几乎所有的linux的发行版本都装有fdisk,包括在linux的rescue模式下依然可以使用,
fdisk是基于MBR的分区工具,所以如果使用GPT,则无法使用fdisk进行分区
注意:
fdisk命令只有具有超级超级用户权限才能操作
fdisk -l 可以列出所有安装的硬盘及分区信息
fdisk /dev/sdb 可以对目标磁盘进行分区操作:
实例:
首先,使用 fdisk -l 查看我们系统当前的硬盘信息,如下图
然后我们使用: fdisk /dev/sdb 对sdb磁盘进行分区,进入分区命令,如图
此时,我们可以输入 m 查看命令帮助
可以看到,
n add a new partition 创建一个新的分区
1、创建主分区 parimary partition 步骤如同
这里,我们根据命令提示输入 n,
接下来,系统提示我们:需要创建什么分区? e extended 扩展分区,p primary partition 主分区
我们记得前面说过:由于MBR的分区机制:446bytes 安装引导加载程序 boot loader
+
64bytes(16*4) 记录分区信息
+
2bytes 55AA,永久性标记,表示系统是可启动的
=512bytes
所以,我们最多只能创建4个主分区,这里我们创建一个主分区,其余都创建成扩张分区
继续上面的命令操作:
输入p->系统提示输入分区号(partition number(1-4),这里的数字也证明了我们上面的说法)我们输入 1
-> first cylinder 要求我们输入起始柱面号,缺省值是 1 ,我们不输入,使用默认值
->last cylinder,终止柱面号或者分区大小,我们输入: +2G
-> 完成,此时,输入 p 查看磁盘信息,此时我们就可以看到我们刚刚分区的信息了,
接下来,我们进行扩展分区
上图,我们用剩余的磁盘空间,创建出扩展分区,我们上节说过,扩张分区是没有办法使用的,也就是说无法格式化、存储数据。
当我们分好扩展分区后,再输入 n
我们就可以看到,此时没有 extended这个选项,而是logical这个逻辑分区的选项,这个添加逻辑分区就是在扩展分区之中进行的,只有将扩展分区再分为逻辑分区后我们才可以物理的使用这块空间。同时分区号必须大于等于5,因为1-4 是主分区和扩展分区的保留字。
接下来,进行逻辑分区,如图
我们分了两个逻辑分区:sdb5和sdb6 。
注意:分区完成后,此时我们的分区信息暂时还是在内存中的,一旦我们的自己断电或者锁屏等,那我们的分区信息都就消失,我们刚才的努力都就白费了,此时我们,看到命令表中有一个:w write table to disk and exit 使用这个命令就可以将我们的分区信息写入的磁盘的MBR的那64bytes中。执行完命令可以看到,the partition table has been altered,分区表已经被修改,calling ioct() to read partition table 调用ioct()方法,重新读入分区表。
如果我们,不想活着刚才的分区有一些不理想的地方,我们完全可以在w 命令前 做任何修改,当然也可是使用 q quit without saving changes ,退出不对修改进行保存
我们现在看一下我们刚才的分区出来了没有
这里注意:
有时候,虽然我们已经将分区信息写入到我们的分区表中,但是我们的系统可能没有更新,显示不出来我们创建的分区信息,我们可以使用
partprobe 命令让内核更新一下分区信息
一般情况下我们分区完成后还需要设置一下我们的分区的 ID ,这个id其实就是标识分区是一个什么类型的分区,如下图我们修改分区id 命令: t change a partition's system id
原始分区信息,注意id
修改分区id,这里我们根据提示输入大写L 查看十六位数意思的列表,然后我们将sdb6 修改成一个swap的交换分区,只要输入82就可以了
查看变更后的分区信息
和上面一样,如果确认修改,一定要使用 w 命令保存 changes