Linux如何利用fdisk工具建立分区

时间:2015-05-22187举报小编:123

很多朋友都知道Linux可以利用fdisk工具建立分区,但是却不知道怎么操作!下面我就给你们说说具体操作流程吧!


首先查看硬盘信息

fdisk -l 如果有硬盘有剩余空间就可以对其进行分区

[root@bogon 桌面]# fdisk -l

Disk /dev/sda: 85.9 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000471ad

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 3851 30720000 83 Linux

/dev/sda3 3851 4106 2048000 82 Linux swap / Solaris

/dev/sda4 4106 10444 50912256 5 Extended

/dev/sda5 4106 10444 50911232 83 Linux

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

#从上面看出/dev/sda空间已经用完了,/dev/sdb没有使用。

下面我们对/dev/sdb 进行分区

[root@bogon 桌面]# 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 0xfaa2aa49.

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)

fdisk选中/dev/sdb 输入m所有基本选项都出现,输入n新建分区

Command (m for help): n

Command action

e extended

p primary partition (1-4)

有扩展分区和主分区,逻辑分区在扩展分区中建立。注意到括号中的1-4,最多只能建四个主分区(包括扩展分区)。先建一个主分区:

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p #建主分区

Partition number (1-4): 1 #分区号为1

First cylinder (1-2610, default 1): #直接回车默认从第一个柱面开始划分

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G #加空间大小,这里有很多种选择:+后面单位可以接M,G,K(记得要大写)表示划分你所加的空间,也可以是柱面数。不管怎样都不能超过该磁盘剩余的空间否则无效。

Command (m for help): p #分好后查看分区信息,刚所做的所有一目了然。

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xfaa2aa49

Device Boot Start End Blocks Id System

/dev/sdb1 1 262 2104483+ 83 Linux

同上所述建立扩展分区:

Command (m for help): n

Command action

e extended

p primary partition (1-4)

e #建立扩展分区

Partition number (1-4): 4

First cylinder (263-2610, default 263):

Using default value 263

Last cylinder, +cylinders or +size{K,M,G} (263-2610, default 2610): +4G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xfaa2aa49

Device Boot Start End Blocks Id System

/dev/sdb1 1 262 2104483+ 83 Linux

/dev/sdb4 263 785 4200997+ 5 Extended

扩展分区建好我们就可以在扩展分区建立逻辑分区

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l #建逻辑分区

First cylinder (263-785, default 263):

Using default value 263

Last cylinder, +cylinders or +size{K,M,G} (263-785, default 785): +2G

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xfaa2aa49

Device Boot Start End Blocks Id System

/dev/sdb1 1 262 2104483+ 83 Linux

/dev/sdb4 263 785 4200997+ 5 Extended

/dev/sdb5 263 524 2104483+ 83 Linux

上面显示已经建好一个主分区,一个逻辑分区,但是这些现在还没有生效我们需要保存退出。

Command (m for help): w #保存退出

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@bogon 桌面]# fdisk -l

Disk /dev/sda: 85.9 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000471ad

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 3851 30720000 83 Linux

/dev/sda3 3851 4106 2048000 82 Linux swap / Solaris

/dev/sda4 4106 10444 50912256 5 Extended

/dev/sda5 4106 10444 50911232 83 Linux

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xfaa2aa49

Device Boot Start End Blocks Id System

/dev/sdb1 1 262 2104483+ 83 Linux

/dev/sdb4 263 785 4200997+ 5 Extended

/dev/sdb5 263 524 2104483+ 83 Linux

再次查看就看到了/dev/sdb的分区信息,虽然现在我们看到进行分区了,但是内核kenel还没有识别为了不要重启将分区表写入kenel我们要用到partprobe工具:使kenel重新读取分区表。

[root@bogon 桌面]# partprobe

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙)。 As a result, it may not reflect all of your changes until after reboot.

kenel识别分区表后,我们还不能使用它要对其进行格式化。mkfs.加文件系统格式,扩展分区是不能格式化的。

[root@bogon 桌面]# mkfs.ext4 /dev/sdb1 #格式化成ext4文件格式(要分区格式化,不能将整个硬盘格式化)

mke2fs 1.41.12 (17-May-2010)

文件系统标签=

操作系统:Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

131648 inodes, 526120 blocks

26306 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=541065216

17 block groups

32768 blocks per group, 32768 fragments per group

7744 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成

Creating journal (16384 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 30 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@bogon 桌面]# mkfs.ext4 /dev/sdb5 #格式化逻辑分区

mke2fs 1.41.12 (17-May-2010)

文件系统标签=

操作系统:Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

131648 inodes, 526120 blocks

26306 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=541065216

17 block groups

32768 blocks per group, 32768 fragments per group

7744 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成

Creating journal (16384 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

格式化后就可以使用了

[root@bogon 桌面]# mkdir /bak

[root@bogon 桌面]# mount -o loop /dev/sdb1 /bak #挂载该分区到/bak

[root@bogon 桌面]# df -TH #查看当前硬盘挂载信息

文件系统 类型 容量 已用 可用 已用%% 挂载点

/dev/sda5 ext4 52G 3.9G 45G 8% /

tmpfs tmpfs 528M 279k 528M 1% /dev/shm

/dev/sda1 ext4 204M 28M 166M 15% /boot

/dev/sda2 ext4 31G 2.9G 27G 10% /usr

.host:/ vmhgfs 144G 41G 104G 29% /mnt/hgfs

/ios/RHEL6.3.iso

iso9660 3.2G 3.2G 0 100% /guazai

/dev/sdb1 ext4 2.2G 71M 2.0G 4% /bak

上面就是Linux使用fdisk建立分区的方法介绍了,建立分区的前提是硬盘还有剩余空间,以免建立分区的时候出现问题。