概述
在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保存当前的分区,并直接退出。
此时已经给磁盘分配了一个分区,但是分区还不能直接使用,需要进行如下的操作
图一:按下m查看操作选项
图二:新建的100M空间
图三:改变分区类型
图四:查看分区表的情况
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测试语法,进行检查,如果有问题,及时修复,不要等开机不了再想办法。如下图五
图五 检查挂载点
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文件夹下。
新的分区完成,并可以使用。