Linux(四)Linux磁盘管理与系统
·
磁盘管理与系统
文章目录
前言
本文详细介绍了Linux系统中磁盘管理与文件系统的相关知识,包括硬盘存储原理、分区管理、文件系统类型、常用命令操作等内容。
一、磁盘结构与分区
1.1 硬盘的物理结构
- 盘片:硬盘有多个盘片,每盘片2面
- 磁头:每面一个磁头
1.2硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位 。
- 磁道:同一盘片不同半径的同心圆。
- 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。
1.3 Linux设备命名
Linux中将硬盘、分区等设备表示为文件,命名格式为/dev/sdXN或/dev/hdXN,具体规则如下:
| 部分 | 说明 |
|---|---|
| sd | 表示SCSI设备 |
| hd | 表示IDE设备 |
| X | 硬盘顺序号,从a开始 |
| N | 分区顺序号,主分区为1-4,逻辑分区从5开始 |
二、分区表:MBR vs GPT
2.1 MBR
- 位置:磁盘第 1 个物理扇区(512B)。
| 部分 | 字节范围 | 说明 |
|---|---|---|
| 主引导记录 | 前446字节 | 包含引导程序 |
| 分区表 | 447-510字节 | 记录分区信息 |
| 结束标志 | 511-512字节 | 固定为0x55AA |
- 限制:最大卷约 2 TiB;最多 4 个主分区(或 3 主 + 1 扩展 + 多逻辑)
2.2 GPT
- 优势:支持超大容量(理论至 ZB 级)、多达 128 分区(视实现),头尾双副本,冗余更好。
- 适配:UEFI 启动友好,现代 OS默认优先。
三、常见文件系统
- XFS:日志型,高性能,擅长大文件/大容量;断电可快速恢复。适合大文件存储、高吞吐场景
- EXT4:日志型,通用稳定;许多发行版默认(如 CentOS7默认 XFS)。
- SWAP:交换分区(虚拟内存);一般建议≈物理内存 1.5–2 倍(大内存服务器可不设)。
- NTFS:微软专有文件系统,Linux默认只读,需借助NTFS-3G实现写入。
四、分区工具与交互命令
4.1 fdisk
fdisk是显示硬盘整体情况和分区表。
4.1.1常用交互
fdisk指令说明:
| 命令 | 功能说明 |
|---|---|
| m | 显示帮助菜单 |
| p | 打印当前分区表信息 |
| n | 创建新分区 |
| d | 删除指定分区 |
| t | 改变一个分区的系统号码 |
| a | 切换可引导标记 |
| l | 列出已知分区类型 |
| w | 保存修改并退出程序 |
| q | 退出程序且不保存修改 |
4.2 gdisk(GTP专用)
4.2.1 常用交互
| 命令 | 功能说明 |
|---|---|
| o | 创建一个新的空白的GPT分区表 |
| p | 显示当前磁盘的分区表 |
| n | 增加一个新的分区 |
| d | 删除一个分区 |
| t | 改变分区的类型(常见8300 Linux FS,8200swap,8e00 LVM) |
| i | 显示分区详细信息 |
| v | 验证磁盘分区表 |
| w | 将分区表写入磁盘并退出(保存修改) |
| q | 退出gdisk程序且不保存任何修改 |
五、格式化(创建系统文件)mkfs
- XFS: mkfs.xfs /dev/sdb1
- vFAT32:mkfs.vfat -F 32 /dev/sdb6
- Swap:mkswap /dev/sdb5
- 查UUID: blkid /dev/sdb1
格式化为XFS

查看UUID用blkid

六、挂载
6.1 临时挂载
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
mount /dev/sdb1 /opt/wjk0710/ #挂载到/opt/wjk0710

6.2 卸载(umont)
umount 存储设备位置
umount 挂载点目录
umount /opt/wjk0710 #卸载
6.3 开机自动挂载 /etc/fstab
在/etc/fstab文件中,每一行记录对应一个分区或设备的挂载配置信息
vim /etc/fstab #修改配置信息
blkid #查看UUID
mount -a #验证是否有错误


七、磁盘/文件系统使用情况
- df:查看已挂载文件系统容量
- 常用:df -h (人类可读), -T (含类型), -i (inode)
- lsblk-f:看设备、类型、LABEL、UUID、挂载点

八、示例
8.1 MBR分区
8.1.1 先给虚拟机分配20G磁盘
- 首先打开虚拟机设置,点击添加

- 选择硬盘

- 保持默认选择

- 选择创建虚拟磁盘

- 设置磁盘大小

- 指定磁盘文件,然后点击完成

- 新硬盘添加成功

8.1.2 重启或执行以下指令加载新建的硬盘
echo "- - -" > /sys/class/scsi_host/host0/scan #加载新硬盘
fdisk -l #列出系统中所有磁盘及其分区的详细信息


8.1.3 使用fdisk命令开始分区
[root@simon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x19c2ae1b 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n # 增加一个新的分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p # p表示主分区
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G # 设置分区大小5g
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):2
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e # e表示拓展分区
已选择分区 4
起始 扇区 (31459328-41943039,默认为 31459328):
将使用默认值 31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p #打印分区
磁盘 /dev/sdb:21.5 GB,21474836480 字节, 41943040个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512字节 /512 字节
I/O大小(最小/最佳):512字节/512 字节
磁盘标签类型:dos
磁盘标识符:0xbde93fb0
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 83 Linux
/dev/sdb2 10487808 20973567 5242880 83 Linux
/dev/sdb3 20973568 31459327 5242880 83 Linux
/dev/sdb4 31459328 41943039 5241856 5 Extended
命令(输入 m 获取帮助):w
正在同步磁盘。





8.1.4 文件格式化
mkfs.xfs /dev/sdb1

8.1.5 使用 mount 命令进行挂载
mkdir wjk0710 #创建挂载目录
mount /dev/sbd1 /opt/wjk0710 #这是临时挂载


8.1.6 查看磁盘使用情况
df -Th

8.1.7 永久挂载
blkid #查看UUID
vim /etc/fstab #修改配置文件
mount -a #验证是否有错




8.1.8 创建swap分区
- 将上面的/dev/sdb2更改为swap分区,swap分区的ID为82

- 用swapon命令开启swap分区,可以使用swapon -s检测状态。

8.2 GPT分区
给虚拟机添加一块20G的新磁盘,对这块磁盘创建GPT分区。
- 为虚拟机分配20g磁盘,和8.1.1步骤相同,请移步上文
- 使用gdisk命令进行分区

- 格式化与挂载


这样就挂载成功了。
总结
(1)磁盘结构:容量计算与区域定位方法。
(2)分区管理:分区表 MBR 、GPT
(3)常见的文件系统:XFS、EXT4、SWAP及格式化操作
(4)分区工具、交互命令:lsblk、df、blkid等工具的使用。
(5)挂载/卸载:注意要设置开启挂载
更多推荐




所有评论(0)