Linux分区工具

fdisk, cfdisk, sfdisk

fdisk是一个基于菜单的分区表管理工具,可以查看分区信息,进行大多数分区操作,比如最常用的新建删除,man page上提示这个程序有一些bug,尽量不要使用。cfdisk功能和fdisk相似,用户界面基于curses库,相对fdisk的菜单命令式比较友好,推荐使用。sfdisk则是的非交互版本,一切操作都在命令行参数中给出,比较适合在脚本中使用,但是man page里面也说了,for hackers only,不推荐新手尝试(本文章不做具体解释)。

]# cfdisk  /dev/sdb    

操作/dev/sdb的分区表,注意参数应该是一个磁盘,而不是一个分区
如果省略磁盘参数,则默认是/dev/sdb。进去后是一个非常直观的界面,列出了所有分区的信息,底部是可对当前选择项进行的操作,新建或删除分区都非常简单。cfdisk还可以选择分区的类型,不过在这里给出没有非常具体的文件系统,而且选择以后似乎也不会实际格式化分区建立文件系统,只是更改一下分区头部的信息,所以建议只用cfdisk进行分区操作,分好区后用mkfs格式化。

parted

parted是所有磁盘工具中最强大的一个,提供的是与fdisk相似的基于菜单命令的界面,能识别mbr和guid分区表,提供新建删除修复分区对齐检查以及改变分区和磁盘配置的功能。用法和上面相似

# parted  /dev/sdb
其中新建分区的操作比较精细,需要提供起始扇区和终止扇区,如果输错的话很可能破坏现有的扇区,所以不建议在这里新建分区。我觉得parted真正强大之处在于它可以在磁盘分区表损坏的时候正常工作,并提供新建分区表的功能,而cfdisk和cgdisk在分区表损坏的时候无法正常工作。mktable菜单命令可以擦除所有磁盘分区数据并新建分区表,输入msdos来新建传统的mbr分区表,或者输入gpt新建guid分区表。

gparted(图形界面)

gparted是parted的图形界面版本,提供了与parted同样强大的功能,但易用性上要好得多。在这里可以完成parted,cfdisk,mkfs能完成的几乎所有操作,并且在界面的上半部分有一个磁盘分区布局的图,可以非常清楚的显示分区大小及相对位置,下半部分是分区的列表,可以分别对每个分区进行丰富的操作。用法也很简单

# gparted  /dev/sdb
可能gparted唯一的缺点就是需要图形界面,而在某些情况下是没有图形界面可用的,并且在一定程度上图形界面是不符合黑客的审美的

gdisk, cgdisk, sgdisk

这三个命令与*fdisk系列命令相对应,区别是*fdisk只能识别传统的mbr分区表,而*gdisk这三个命令只能识别新的guid分区表。guid分区表是一种为替代传统的mbr分区表而发明的新的磁盘分区机制,克服了很多mbr的历史局限性。但是由于固件支持以及软件兼容性的原因,guid分区表在实际安装使用中会出现很多几乎是不可克服问题。比如,你应该要把整块硬盘格式化,才能在磁盘上建立guid分区表;然后,你的windows也必须用uefi方式而非传统的bios方式启动,这又涉及到固件硬件的支持问题等等……

 

cfdisk使用方法如下:

1.新增一块2G的硬盘,lsblk查看磁盘信息,可以看到sdb磁盘大小为2G

]# lsblk 
linux系统分区工具浅谈-冯金伟博客园

2 . 使用cfdisk来对设备sdb来进行分区操作。

]# cfdisk  /dev/sdb
linux系统分区工具浅谈-冯金伟博客园

 输入以上命令后,屏幕出现以下界面:

光标默认在“新建”上,按下回车键。按照以下步骤(每一步都需要键入回车键确认): 

主分区(逻辑分区)->大小(MB,此处需要输入新建分区的大小,输完之后按回车键)->类型(根据实际需求进行选择)->写入(回车键之后输入“是”)。 
以上步骤操作完成之后如下图所示:

linux系统分区工具浅谈-冯金伟博客园

]# lsblk (再次查看磁盘信息)
linux系统分区工具浅谈-冯金伟博客园

3 . 根据实际情况格式化挂载使用或者进行LVM操作即可

fdisk使用方法如下:

]#lsblk

linux系统分区工具浅谈-冯金伟博客园

 ]#fdisk  /dev/sdc

linux系统分区工具浅谈-冯金伟博客园

 ]#lsblk

linux系统分区工具浅谈-冯金伟博客园

fdisk分区方式最后需要w保存退出,不然操作无效,分区不会写入到磁盘

parted使用方法如下:

]#lsblk

linux系统分区工具浅谈-冯金伟博客园

 ]#parted  /dev/sdd

linux系统分区工具浅谈-冯金伟博客园

或者]#parted进入parted分区工具后(parted) select  /dev/sdd,后面不走相同

linux系统分区工具浅谈-冯金伟博客园

 制作分区的方法可以使用help mkpart命令

(parted  help mkpart)

linux系统分区工具浅谈-冯金伟博客园

(parted)  mkpart  primary  0  2047MB

linux系统分区工具浅谈-冯金伟博客园

 (parted) quit  (退出parted)

当你退出parted,修改会自动保存,谨慎操作,确保正确无误。

当添加新的存储设备时,请确保在开始更改其分区表之前确定正确的磁盘。

如果错误地更改了包含计算机操作系统的磁盘分区,会使您的系统无法启动

linux系统分区工具浅谈-冯金伟博客园