概述

在linux下新建分区有两种办法

一、通过fdisk进行分区

二、通过命令dd创建大文件,虚拟出分区

fdisk进行分区

用fdisk -l查看一下当前系统内的所有分区有哪些。

给/dev/sdb这块盘进行分区步骤如下

1.1 新建分区

        a) fdisk  /dev/sdb--》

        b) 按下m查看操作选项,如图一所示--》

         c) 按下n开始新建--》

          d)选择查看新建分区,默认是主分区(p)还是扩展分区(e),默认编号1--4,当1--4还没用完,但是已经选择了扩展分区,则会有l (小写的字母l)选项和主分区logic两个选项。假设这里选择主分区选项p,然后要选择开始的柱面以及结束柱面,来表示新分区的大小,这里结束柱面可以用+单位直接表示大小。按下enter就新建了主分区1,大小是100M,如图二所示

        注意:这里只有两个选项是主分区和扩展分区,如果要新建其他类型的分区,如swap,则可以新建一个主分区或者是逻辑分区(注意,不能是扩展分区,因为扩展分区的类型不能改变),然后按下t,选择对应的分区,填入分区的编号,如swap为82,如图三所示  --》

         e) 可以按下p进行查看当前分区表的情况,如图四所示--》

          f) 按下w保存当前的分区,并直接退出。

此时已经给磁盘分配了一个分区,但是分区还不能直接使用,需要进行如下的操作

1240

图一:按下m查看操作选项

1240

图二:新建的100M空间

1240

图三:改变分区类型

1240

图四:查看分区表的情况

1.2 更新分区表

退出fdisk后,新建完成的分区内核ken

el还没有识别,为了不要重启机器就将分区表写入kenel可以使用partprobe工具:使kenel重新读取分区表。如果该盘有其他分区被挂载了,则会提醒:Device or resource busy,建议先卸载在用的分区,然后在运行partprobe.

如果运行后还是不能加载新的分区,建议重启机器,获取最新的分区表,一般不建议重启机器。

可以查看到提示 不同步。可以用partprobe进行同步,但是也不一样会成功,这语句在centtos6上经常出问题,同步不成功,但是在centos5或者7上很容易成功同步。

如果用partprobe不同步的话,新增加分区用可以用命令partx –a /dev/sda 表示通过新增加的硬盘的分区表。如果盘里面已经同步的分区,则表示该分区忙碌。

如果是删除分区,centOS6 上 用命令  partx –d –nr 6-8 /dev/sda,则要指定删除分区的那个具体数字。centos5或者7用fdisk删除分区后运行partprobe即可。


1.3 格式化分区

用命令mkfs对新建的分区进行格式化,注意扩展分区不能格式化

运行语句:mkfs.ext4 /dev/sdb1  

对新建的分区进行格式化为ext4

1.4 挂载 

运行语句:mount /dev/sdb1 /root/test2

将新分区挂载到/root/test2这个文件夹下分区

需要挂载后才能使用,如果要使得分区在开机时自动加载,可以将配置写入/etc/fstab里。但是写入这个文件需要注意,一旦语法写错,可能会导致重启后开机开不了,如果出现开机开不了了,这个时候只能进入单机救援解决问题了。这个很麻烦,所以建议修改完这个配置文档后,运行语句 mount -a测试语法,进行检查,如果有问题,及时修复,不要等开机不了再想办法。如下图五

1240

图五 检查挂载点

mount -a检查配置

这里为止,就已经新建一个分区,并可以使用了。可以通过命令df -TH来查看新建分区的信息

1.5 swap分区使用

如果分区不是主分区,而是swap或者是lvm格式,则创建完分区,运行partpprobe后,要是新建分区能够使用,之后步骤不同。

a)通过fdisk /dev/sdb 新建一个swap分区/dev/sdb3,在fdisk里打 tà选择swap的code 82,将sdb3的格式选择为swap的格式

b)格式化swap分区:mkswap /dev/sdb3

c)写入/etc/fstab,开机自动挂载

d)启用swap分区:swapon -a /dev/sdb3

 f)验证:运行swapon  -s 或者命令 free 查看当前的swap分区情况

如果要取消swap分区,通过命令 swapoff 实现 ,命令 swapoff  /dev/sda3

dd创建分区

使用命令dd创建一个空的大文档,然后格式化文档,并进行挂载,制作loo装置文件。实现的效果是原来的分区不变动原有环境下制作出新的分区。在linux上创建多台虚拟机,类似vmware这类软件,linux就是使用xen这个软件,配合loop device 这种文件类型进行根目录的挂载。

步骤如下

2.1 创建一个大文件

运行语句:dd if=/dev/zero of=/root/loopdev bs=1M count=512

表示创建一个大写为512M,每个block的大写为1M,命名为loopdev的文件

2.2 格式化大文件

运行语句:mkfs -t ext3 loopdev

表示将该文件格式化为ext3的文件

2.3 挂载

运行语句:mount -o loop loopdev test

表示将该文件挂载在test文件夹下。

新的分区完成,并可以使用。