创建分区
常见的工具:fdisk,sfdisk,part
最常用最简单的工具:fdisk,但是fdisk最多只支持15个分区(再多可能管理起来有点麻烦)
使用fdisk命令也可以查看系统上的磁盘设备的信息
fdisk �Cl [DEVICE]可以列出所有磁盘设备的相关信息
fdisk �Cl 支持globbing(文件名通配)功能
fdisk �Cl /dev/[hs]d[a-z] 只显示磁盘设备的相关信息
fdisk �Cl /dev/sda 查看sda这一个磁盘的信息
fdisk [DEVICE] 可以实现创建分区,删除分区,格式化等操作
这是一个交互式命令:
d:删除一个分区; |
n:新建一个分区; |
p:显示当前系统的分区情况(打印分区表); |
t:可以修改一个分区的类型; |
w:保存退出; |
q:不保存退出; |
l:各分区类型所对应的系统ID;(注:linux默认的是83,这是一个16进制的数字符号) |
常见的有:83:linux的系统ID;82:linux swap交换分区;8e:LVM逻辑卷管理器;85:linux的扩展分区(不需要手动调整的,了解即可);fd:系统软raid类型
t:修改某指定分区的系统ID;
a:设定可启动标志的
新建分区:e extended 扩展分区
P primary partition(1-4)主分区,
注:1,主分区一般只有4个想要创建更多个分区应使用扩展分区
2,添加分区大小时,填写错误应使用ctrl+删除键进行删除。
3,使用默认分区大小时,直接回车即可。
扩展分区:扩展分区无法直接使用,只能创建成逻辑分区
一个硬盘只能有一个扩展分区
逻辑分区一定是在扩展分区内部创建的
删除分区:
使用d即可:
注:扩展分区可以直接删除的,所以这个命令是非常危险的,谨慎操作。
通知内核读取分区:
创建完成后可使用fdisk �Cl /dev/sda 进行查看创建结果
磁盘修改的结果并没有直接同步到内核上的,可以使用 cat /proc/partitions 进行查看内核识别的分区信息;
让内核重新探测硬盘分区表:
partprobe [DEVICE] 不指定分区则是探测全局的;若指定只探测一个。
注:此命令在红帽5系列上可以正常执行,在红帽6系列上会报错(设备忙,重启)导致无法检测到。
partx 通知内核当前的磁盘分区数目的状况,也就是让内核重新读取硬盘分区表;
partx �Ca DEVICE 读取所有分区的磁盘数目;但是这个命令选项也可能会报错误(设备忙无法检测到),所以我们只能一个一个进行添加读取识别:
partx �Ca [PARTITION] DEVICE 这个命令依然会报设备忙但是会识别读取的。
如:partx �Ca /dev/sda3 /dev/sda
注:此命令主要应用在红帽6上。
格式化分区:用于创建文件系统
mkfs �Ct fstype /dev/part
注:扩展分区不能格式化
blkid DEVICE 显示块设备的相关属性包含卷标,其中UUID表示全局唯一ID号,这是一个随机数
注:UUID是用来区别分区的
创建文件系统的格式:
mkfs �Ct ext4 = mkfs.ext4 = mke2fs �Ct ext4
mkfs �Ct ext3 = mkfs.ext3 = mke2fs �Cj =mke2fs �Ct ext3
mkfs �Ct ext2 = mkfs.ext2 = mke2fs = mke2fs �Ctext2
注:它可以创建ext2,ext3,ext4的文件系统的
创建ext3也可以使用mke2fs �Cj
mke2fs �Ct {ext2|ext3|ext4} 创建文件系统,分区格式化
配置文件:/etc/mke2fs.conf,用于设定默认特性及各文件系统的默认特性;
mke2fs后不指定设备文件,默认创建ext2,若想更改打开配置文件改动即可(vim /etc/mke2fs.conf)
若要改为ext3,将features=…添加到base_features后即可
若要改为ext4,将features=…添加到base_features后即可
mke2fs的另外常用选项:
mke2fs-b{1024|2048|4096}创建块大小的,块大小默认为1k,2k,4k
注:块大小取决于cpu对内存页框大小的支持(x86,x64默认页框大小为4k),也可在配置文件中更改。
要显示块大小:
tunfs �Cl DEVICE | grep “Block size” 即可查看
注:若想更换块大小,只能重新分区格式化,所以在分区格式化之前要做好选择
mke2fs �Ct ext4 �Cb2048 /dev/sda3
如何选择块大小??
建议:当要存入大量小文件时,使用小的块(有时可以节约空间大小)
当要存入大文件时,使用大的块(可以少创建索引等等)
mke2fs-L label:设定卷标
这是避免我们在挂载时产生错误的交叉引用的常用机制。(其实这种方式用的不是特别多而UUID使用的很多)
mke2fs�Cm #:设定预留空间大小的#表示百分之#
使用tunfs �Cl DEVICE |grep “Reserved”即可来查看预留空间大小
mke2fs �Cr #:预留给管理使用的块的个数;
mke2fs �CE:设定文件系统的扩展属性
tune2fs
-l:显示文件系统超级块信息 |
-L label:更改卷标的,重新设定卷标的 |
-m # : 调整预留给管理使用的块所占据总体空间的比例的; |
-o:设定挂载默认选项 |
-O:设定文件系统默认特性 |
-r #:调整预留给管理使用的块个数 |
-E:调整文件系统的扩展属性 |
e2label: 显示或设定卷标
格式:e2labelDEVICE [Volume_label]