RedHat/Centos

关注公众号 jb51net

关闭
操作系统 > RedHat/Centos >

Linux操作系统分区工具Fdisk工具介绍

佚名

fdisk是linux下的一个硬盘分区工具硬盘分区原理一样,但工具格式等等都不一样,一个是在装系统时的分区,一个是装好系统后的分区
装系统时的分区,装好系统后一般是没法修改也不好调整的,在装系统时未分区的硬盘空间,装好系统后是可以操作或分区加载的

这里主要是说这种情况,一个是对未分区的空闲硬盘的操作,又或是对新加的硬盘操作
这里就要用到fdisk了,不过这个只能在2T以内的硬盘操作,大于2T的,就没法用了,得用到另一个parted的工具

还有一点,Linux对于硬盘的理解是以
/dev/hd|sd(a|b|xxx)这样方式的
hd主要是对于IDE的硬盘,这个已经很少见了
大部分都是sd开头的,包括stata,sas,scsi等接口的硬盘,比如
hda是第一块硬盘
hdb是第二块硬盘
sda是第一块硬盘
sdb是第二块硬盘
这里的顺序,还和一个因素有关,就是接口顺序或是跳线,大家应该知道,硬盘接口里是有一个跳线什么的,也就是一个主硬盘等

下面介绍fdisk的用法
fdisk -l是列表所有的硬盘,如下
[root@hnwt ~]# fdisk -l

Disk /dev/sda: 320.0 GB, 320071851520 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 38913 312464250 8e Linux LVM


fdisk /dev/sda表示操作硬盘,运行这个后会进入fdisk的交互状态,如下
[root@hnwt ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 38913.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

这里提示你,按m会提示一个帮助,如

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除分区
l list known partition types 列出所支持的所有分区类型
m print this menu 显示本菜单
n add a new partition 增加新分区
o create a new empty DOS partition table
p print the partition table 显示分区信息
q quit without saving changes 退出不保存
s create a new empty Sun disklabel
t change a partition's system id 改变分区类型
u change display/entry units
v verify the partition table
w write table to disk and exit 写入分区表并退出
x extra functionality (experts only)

Command (m for help):

上面这里就列出了所有的参数
根据上面的提示,可以继续操作,如下简单说明
新加分区
1 按n新加
2 选择主分区/扩展分区
3 起始值,默认回车就可以
4 分区大小值
完成

删除分区
1 按d
2 选择相应的分区号,回车即可

改变分区类型
1 按t
2 选择分区
3 选择分区类型(按l可列表所有分区及ID)
linux下主要是一个交换分区里需要在此操作

一般的操作,有如上的三个
在所有操作完时,也确保正确时,可以按w保存并退出
如果有操作有误,按q直接退出就可以

上面的操作,请勿在线上环境/生产环境测试,否则后果自负
对于测试机或虚拟机,可以多操作几次,熟能生巧

以下是补充:

Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法:

对于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd等,如果还有IDE Raid卡,则依 次为:/dev/hde,/dev/hdf,/dev/hdg,/dev/hdh。对于SCSI硬盘,则设备名依次为/dev/sda,/dev/sdb...等等

fdisk的命令行用法为: fdisk 硬盘设备名

进入fdisk后,首先键入'm',即可显示fdisk全部菜单。

再键入'p',显示当前分区表状态。

键入'n',增加一个分区,然后会提示你选择分区类型(基本分区或扩展分区),再选择分区号(1-4)。注:每块硬盘最多可划分四个主分区(包括基本分区和扩展分区),其中:基本分区最多可划分四个,扩展分区最多可划分一个,但扩展分区内可再划分多个逻辑分区(最多几个我没试过,总之很多)。选中你要建立的分区类型和分区号后,会提示输入起始柱面,从1开始;然后再输入终止柱面,此时可输入实际的柱面数,也可用"+分区尺寸"的方式输入,如:+1024M表示在起始柱面后加上1024M。主分区的设备名依次为:/dev/hda1,/dev/hda2,/dev/hda3,/dev/hda4,逻辑分区的设备名依次为:/dev/hda5,/dev/hda6,/dev/hda7...等等。

键入’d‘,删除分区,输入分区号即可删除。注意,删除扩展分区时,将会同时删除所有的逻辑分区。

键入’t‘,改变分区标志(这是Linux的fdisk最精华的部份!),新建的分区默认标志是83(Linux Ext2),你可以把它改为82(Linux 交换区)、或是'b'(FAT32)、'f'(FAT32 Extend,只限于扩展分区)、'86'(NTFS)。。。等几十种类型。这样一来,使用多操作系统的朋友们就可以用Linux的fdisk划分出你想要的所有分区了!

键入'a',切换分区激活开关。请注意:每键入一次,被选的分区就会在激活与非激活间变化一次,但你必须保证最后只有一个分区被激活。这时就用得到'p'命令了,被激活的分区上会有个'*'号。

除以上的几个命令外,还有其它几个,但不太常用。

最后,键入’w',你对分区所做的改变被写入硬盘;键入'q',则放弃所有的修改。

灵活应用fdisk,还可以修复一些损坏的分区表,前提是你必须准确记住原有每个分区的起始柱面和终止柱面。

再附加一下对硬盘进行格式化的方法:

要把分区格式化成Linux Ext2格式,用: mkext2fs /dev/hda?

要把分区格式化成FAT32格式,用: mkfs.vfat /dev/hda?  

/sbin/mkfs.ext3 /dev/sda2

mkdir /test

修改/etc/fstab如下重新启动计算机就行了

/dev/sda2 /test ext3 defaults 1 1