linux硬盘分区和fdisk命令

分区的几个概念

硬盘分区有三种,主分区、扩展分区、逻辑分区。
一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。
在windows下激活的主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C区。 在linux下主分区和逻辑分区都可以用来放系统,引导os开机。
一块硬盘分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。
但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。
在linux中第一块硬盘分区为hda分区,主分区编号为hda1-4,逻辑分区从5开始。
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和

fdisk命令

fdisk是一个创建和维护分区的命令,常用用法:

  • fdisk [选项] <disk>  改变分区
  • fdisk [选项] -l <disk>  列出所有分区

菜单操作说明:

a 设置可引导标记(活动分区/引导分区之间切换)
b 编辑BSD磁盘标签
c 设置DOS操作系统兼容标记(兼容/不兼容之间切换)
d 删除一个分区
l 显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
m 显示帮助信息
n 增加一个新的分区
o 创建一个新的空白的DOS分区表
p 显示磁盘当前的分区表
q 退出fdisk程序,不保存任何修改
s 创建一个新的空白的Sun磁盘标签
t 改变一个分区的系统ID,就是改变分区类型(比如把Linux Swap分区改为Linux分区)
u 改变显示或输入单位
v 验证磁盘分区表
w 将分区表写入磁盘并退出(保存并退出)
x 额外功能(专家级)

实例一

显示当前分区情况:fdisk -l 

[root@localhost ~]# fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0xd10cd10c


#从上面信息可以看出,这个硬盘是250G的,有255个磁面;63个扇区;30401个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);
Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 7 HPFS/NTFS /dev/sda2 3918 30401 212732730 f W95 Ext'd (LBA) /dev/sda5 3918 12841 71681998+ 7 HPFS/NTFS /dev/sda6 12842 21765 71681998+ 7 HPFS/NTFS /dev/sda7 21766 23070 10482381 b W95 FAT32 /dev/sda8 23071 25620 20482843+ 83 Linux /dev/sda9 25621 25747 1020096 82 Linux swap / Solaris /dev/sda10 25748 30401 37383223+ 83 Linux

#通过上面的信息,我们知道此机器中挂载一个硬盘sda ;其中 sda有两个主分区(包括扩展分区),分别是主分区 sda1 和sda2(扩展分区) ;逻辑分区是 hda5到hda10
#根据起始磁柱的数值,上一个分区的End的值+1 就是下一个分区的Start 的值,所以sda1主分区与sda2扩展分区完全占用了30401个磁柱;
#同理,sda5至sda10也连续无间断的占用了整个sda2磁柱(3918-30401),说明/dev/sda整个硬盘已完全划分。

实例二

使用操作菜单,创建一个新的分区

[root@jollypay-V4-1 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe155fe8e.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

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): n                           //输入n,表示新建
Command action
   e   extended                                   //扩展分区,创建扩展分区会占用一个主分区,并且只有创建扩展分区后才能创建逻辑分区
   p   primary partition (1-4)                    //主分区,最多创建4个
p                                                 //输入p,表示新建主分区
Partition number (1-4): 1                         //输入1,即sdb1分区
First cylinder (1-13054, default 1):              //开始磁柱,默认为1(回车)
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054):   //终止磁柱,默认为最后(回车),不仅仅可以用数值表示,也可以这么写,+500M
Using default value 13054

Command (m for help): w                            //写入磁盘,保存并退出,否则之前的操作都无效。如果不想写入磁盘就使用q
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

注意:fdisk用来对小于2T的磁盘进行分区,如果大于2T需用parted工具

猜你喜欢

转载自www.cnblogs.com/xulan0922/p/12769341.html