(十)Linux磁盘分区管理
一、磁盘分区介绍
- 基本分区(primary partion)
- 基本分区也称主分区,引导分区、每块磁盘分区主分区与扩展分区加起来不能大于四个。
- 基本分区创建后可以立即使用,但是有分区数量上限。
- 扩充分区(extension partion)
- 每块磁盘内只能划分一块扩展分区
- 扩展分区内可划分任意块逻辑分区
- 扩展分区创建后不能直接使用,需要在扩展分区内创建逻辑分区
- 逻辑分区(logical partion)
- 逻辑分区实在扩展分区内创建的分区
- 逻辑分区相当与一块存储介质,和其他逻辑分区主分区完全独立
二、磁盘类型介绍
- IDE硬盘
- 驱动器标识符为hdx
- IDE硬盘最多64个分区
- 其中“hdx~”表明分区所在设备的类型、hd 表示ide、x表示哪块盘、~表示分区号
- SCSI硬盘
- 驱动器标识符为sdx
- 其中“sdx~”表明分区所在设备的类型、sd 表示sde、x表示哪块盘、~表示分区号
- hda1、hda2、hda3、hda5、hda6
- Linux中规定每块硬盘最多4个主分区(包含扩展分区)任何占用分区都要占用分区号
- 主分区(包含扩展分区分区号):1 ~ 4 结束。如:hda1、hda2、hda3
- 逻辑分区:5 ~ 16 结束。如:hda5、hda6 ..
- hda、hdb、hdc、hdd
- 增一块按磁盘后面按字母顺序名称
- a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘
三、disk 命令使用
用途:观察硬盘之实体使用情形与分割硬盘用
使用方法:
一、在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形。
二、在 console 上输入 fdisk /dev/sda,可进入分割硬盘模式。
参数:
1. 输入 m 显示所有命令列示。
2. 输入 p 显示硬盘分割情形。
3. 输入 a 设定硬盘启动区。
4. 输入 n 设定新的硬盘分割区。
4.1. 输入 e 硬盘为[延伸]分割区(extend)。
4.2. 输入 p 硬盘为[主要]分割区(primary)。
5. 输入 t 改变硬盘分割区属性。(制作交换分区时会用到)
6. 输入 d 删除硬盘分割区属性。
7. 输入 q 结束不存入硬盘分割区属性。
8. 输入 w 结束并写入硬盘分割区属性
9. 输入 l 查看分区可可转换类型。
# 1、进入磁盘
fdisk /dev/sda
# 2、列出当前分区表
p
# 3、添加新分区
n
# 4、选择开始的块地址,直接回车默认就可以了
回车
# 5、输入要添加分区的大小+200M,+1G这样的都能识别
+2G
# 6、确定
回车
# 6、写入并退出
w
# 更新当前分区表给内核 这一步非常重要, 否则你的分区重启才能看到.
partprobe
# 格式化新建分区
mkfs.ext3 /dev/sda6
# 挂载
mount /dev/sda6 /data
四、分区转换类型:
五、格式化分区命令
5.1 命令:根据需要格式化格式选择命令
mkfifo mkfs mkfs.exfat mkfs.ext4 mkfs.minix mkfs.ubifs
mkfontdir mkfs.bfs mkfs.ext2 mkfs.fat mkfs.msdos mkfs.vfat
mkfontscale mkfs.cramfs mkfs.ext3 mkfs.jffs2 mkfs.ntfs
案例:mkfs.ext3 /dev/sdb2
5.2 命令:mke2fs
- 介绍:mke2fs命令是专门用于管理ext系列文件系统的一个专门的工具。
- 使用格式:mke2fs [选项] 磁盘盘符
- 例如:mke2fs -t ext4 -b 8192 /dev/sdb5
参数:
-t fs-type:指定文件系统类型(如ext2,ext3,ext4等等),则会从/etc/mke2fs.conf文件中读取默认配置;
-b block-size:设置硬盘的block大小。
-L 'LABEL':设置卷标;
-j:创建ext3文件系统,mkfs.ext3自带了该选项;
-N:设置inode节点的数量;
-m:设置为文件系统预留的块的百分比;
-c:在创建文件系统前进程硬盘自检;
案例:
mke2fs -t ext4 -L 'testdisk' /dev/sdb1
其他分区命令
六、通知系统分区表的变化
命令:partprobe
参数:
• -d,—dry-run实际上不会通知操作系统打印内容摘要
• -h,—帮助显示此帮助并退出
• -v,—版本输出版本信息并退出
其他:
如果生成设备文件失败,可以使用如下命令再次生成
partx -a /dev/XXX
注:如果还是失败就请重启系统。
七、查看设备分区的UUID与类型
命令:blkid
命令:blkid 设备名称
八、Swap 分区创建命令
Linux mkswap命令用于设置交换区(swap area)。
mkswap可将磁盘分区或文件设为Linux的交换区。
语法:
mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]
参数:
• -c 建立交换区前,先检查是否有损坏的区块。
• -f 在SPARC电脑上建立交换区时,要加上此参数。
• -v0 建立旧式交换区,此为预设值。
• -v1 建立新式交换区。
• [交换区大小] 指定交换区的大小,单位为1024字节。
开启SWAP分区
Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。
语法:
/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]
参数:
• -h 请帮帮我
• -V 显示版本讯息
• -s 显示简短的装置讯息
• -a 自动启动所有SWAP装置
• -p 设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定
```
关闭SWAP分区
Linux swapoff命令用于关闭系统交换区(swap area)。
swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。
语法:
swapoff [设备]
参数:
• -a 将/etc/fstab文件中所有设置为swap的设备关闭
• -h 帮助信息
• -V 版本信息
实例
1、显示分区信息
# sfdisk -l
Disk /dev/sda: 1305 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 12 13- 104391 83 Linux
/dev/sda2 13 1304 1292 10377990 8e Linux LVM
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition
No partitions found
2、关闭交换分区。
# swapoff /dev/sda2
```