fdisk
查看磁盘使用情况和磁盘分区
补充说明
fdisk命令 用于观察硬盘实体使用情况,也可对硬盘分区。它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。
语法
fdisk(选项)(参数)
选项
-b <大小> 扇区大小(512、1024、2048或4096)-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)-h 打印此帮助文本-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)-v 打印程序版本-C <数字> 指定柱面数-H <数字> 指定磁头数-S <数字> 指定每个磁道的扇区数
参数
设备文件:指定要进行分区或者显示分区的硬盘设备文件。
实例
首先选择要进行操作的磁盘:
[root@localhost ~]# fdisk /dev/sdb
输入m列出可以执行的命令:
command (m for help): mCommand actiona toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)
输入p列出磁盘目前的分区情况:
Command (m for help): pDisk /dev/sdb: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 1 8001 8e Linux LVM/dev/sdb2 2 26 200812+ 83 Linux
输入d然后选择分区,删除现有分区:
Command (m for help): dPartition number (1-4): 1Command (m for help): dSelected partition 2
查看分区情况,确认分区已经删除:
Command (m for help): printDisk /dev/sdb: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id SystemCommand (m for help):
输入n建立新的磁盘分区,首先建立两个主磁盘分区:
Command (m for help): nCommand actione extendedp primary partition (1-4)p //建立主分区Partition number (1-4): 1 //分区号First cylinder (1-391, default 1): //分区起始位置Using default value 1last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分区结束位置,单位为扇区Command (m for help): n //再建立一个分区Command actione extendedp primary partition (1-4)pPartition number (1-4): 2 //分区号为2First cylinder (101-391, default 101):Using default value 101Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分区结束位置,单位为M
确认分区建立成功:
Command (m for help): pDisk /dev/sdb: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 100 803218+ 83 Linux/dev/sdb2 101 125 200812+ 83 Linux
再建立一个逻辑分区:
Command (m for help): nCommand actione extendedp primary partition (1-4)e //选择扩展分区Partition number (1-4): 3First cylinder (126-391, default 126):Using default value 126Last cylinder or +size or +sizeM or +sizeK (126-391, default 391):Using default value 391
确认扩展分区建立成功:
Command (m for help): pDisk /dev/sdb: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 100 803218+ 83 Linux/dev/sdb2 101 125 200812+ 83 Linux/dev/sdb3 126 391 2136645 5 Extended
在扩展分区上建立两个逻辑分区:
Command (m for help): nCommand actionl logical (5 or over)p primary partition (1-4)l //选择逻辑分区First cylinder (126-391, default 126):Using default value 126Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400MCommand (m for help): nCommand actionl logical (5 or over)p primary partition (1-4)lFirst cylinder (176-391, default 176):Using default value 176Last cylinder or +size or +sizeM or +sizeK (176-391, default 391):Using default value 391
确认逻辑分区建立成功:
Command (m for help): pDisk /dev/sdb: 3221 MB, 3221225472 bytes255 heads, 63 sectors/track, 391 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 100 803218+ 83 Linux/dev/sdb2 101 125 200812+ 83 Linux/dev/sdb3 126 391 2136645 5 Extended/dev/sdb5 126 175 401593+ 83 Linux/dev/sdb6 176 391 1734988+ 83 LinuxCommand (m for help):
从上面的结果我们可以看到,在硬盘sdb我们建立了2个主分区(sdb1,sdb2),1个扩展分区(sdb3),2个逻辑分区(sdb5,sdb6)
注意:主分区和扩展分区的磁盘号位1-4,也就是说最多有4个主分区或者扩展分区,逻辑分区开始的磁盘号为5,因此在这个实验中试没有sdb4的。
最后对分区操作进行保存:
Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
建立好分区之后我们还需要对分区进行格式化才能在系统中使用磁盘。
在sdb1上建立ext2分区:
[root@localhost ~]# mkfs.ext2 /dev/sdb1mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)100576 inodes, 200804 blocks10040 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2097152007 block groups32768 blocks per group, 32768 fragments per group14368 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840Writing inode tables: doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 32 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
在sdb6上建立ext3分区:
[root@localhost ~]# mkfs.ext3 /dev/sdb6mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)217280 inodes, 433747 blocks21687 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=44459622414 block groups32768 blocks per group, 32768 fragments per group15520 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 32 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.[root@localhost ~]#
建立两个目录/oracle和/web,将新建好的两个分区挂载到系统:
[root@localhost ~]# mkdir /oracle[root@localhost ~]# mkdir /web[root@localhost ~]# mount /dev/sdb1 /oracle[root@localhost ~]# mount /dev/sdb6 /web
查看分区挂载情况:
[root@localhost ~]# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/VolGroup00-LogVol006.7G 2.8G 3.6G 44% //dev/sda1 99M 12M 82M 13% /boottmpfs 125M 0 125M 0% /dev/shm/dev/sdb1 773M 808K 733M 1% /oracle/dev/sdb6 1.7G 35M 1.6G 3% /web
如果需要每次开机自动挂载则需要修改/etc/fstab文件,加入两行配置:
[root@localhost ~]# vim /etc/fstab/dev/VolGroup00/LogVol00 / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0/dev/VolGroup00/LogVol01 swap swap defaults 0 0/dev/sdb1 /oracle ext2 defaults 0 0/dev/sdb6 /web ext3 defaults 0 0
