Linux 磁盘分区管理
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为辅助从属盘
fdisk 命令使用
用途:观察硬盘之实体使用情形与分割硬盘用
使用方法:
一、在 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
分区转换类型:
Partition Type | Value | Partition Type | Value |
---|---|---|---|
Empty |
00 |
Novell Netware 386 |
65 |
DOS 12-bit FAT |
01 |
PIC/IX |
75 |
XENIX root |
02 |
Old MINIX |
80 |
XENIX usr |
03 |
Linux/MINUX |
81 |
DOS 16-bit ⇐32M |
04 |
Linux swap |
82 |
Extended |
05 |
Linux native |
83 |
DOS 16-bit >=32 |
06 |
Linux extended |
85 |
OS/2 HPFS |
07 |
Amoeba |
93 |
AIX |
08 |
Amoeba BBT |
94 |
AIX bootable |
09 |
BSD/386 |
a5 |
OS/2 Boot Manager |
0a |
OpenBSD |
a6 |
Win95 FAT32 |
0b |
NEXTSTEP |
a7 |
Win95 FAT32 (LBA) |
0c |
BSDI fs |
b7 |
Win95 FAT16 (LBA) |
0e |
BSDI swap |
b8 |
Win95 Extended (LBA) |
0f |
Syrinx |
c7 |
Venix 80286 |
40 |
CP/M |
db |
Novell |
51 |
DOS access |
e1 |
PReP Boot |
41 |
DOS R/O |
e3 |
GNU HURD |
63 |
DOS secondary |
f2 |
Novell Netware 286 |
64 |
BBT |
ff |
格式化分区命令
命令:根据需要格式化格式选择命令
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
命令: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