0%

系统安装

Linux 系统安装:磁盘分区、格式化与挂载全流程详解

在 Linux 系统安装过程中,磁盘分区、格式化和挂载是核心步骤,直接影响系统的稳定性和存储效率。本文将详细解析 MBR 与 GPT 分区表的区别、格式化原理、挂载点设置及自动挂载配置,帮助你掌握系统安装的存储配置环节。

磁盘分区:MBR 与 GPT 分区表

磁盘分区是将物理硬盘划分为多个逻辑区域的过程,不同的分区表类型支持的硬盘大小和分区数量不同。

MBR 分区表(Master Boot Record)

特点
  • 最大支持硬盘容量:2.1TB(超过此容量的硬盘无法完全识别)。
  • 最大分区数量:最多 4 个主分区,或 3 个主分区 + 1 个扩展分区(扩展分区内可创建多个逻辑分区)。
  • 兼容性:支持所有操作系统(包括老旧系统),是传统的分区表格式。
分区类型
  • 主分区:直接可以被格式化并挂载使用,最多 4 个。
  • 扩展分区:不能直接存储数据,仅用于容纳逻辑分区,一块硬盘最多 1 个。
  • 逻辑分区:在扩展分区内创建,数量不受限(取决于操作系统,Linux 通常支持数十个)。
分区操作命令
1
2
3
4
5
6
7
8
9
# 对 /dev/sdb 硬盘进行分区(MBR 分区表默认使用 fdisk)
fdisk /dev/sdb

# 常用交互指令:
# n:新建分区(主分区/扩展分区/逻辑分区)
# p:显示分区表
# d:删除分区
# w:保存并退出
# q:不保存退出

GPT 分区表(GUID Partition Table)

特点
  • 最大支持硬盘容量:9.4ZB(zettabyte,远超当前硬件水平),适合大容量硬盘。
  • 最大分区数量:理论无限制,Windows 支持 128 个,Linux 支持更多。
  • 兼容性:需主板支持 UEFI 启动(传统 BIOS 可能不兼容),是新一代分区表格式。
优势
  • 支持 UEFI 启动模式,启动速度更快,安全性更高(支持 Secure Boot)。
  • 分区表自带备份,抗损坏能力强。
  • 无需区分主分区、扩展分区和逻辑分区,所有分区均为 “主分区”。
分区操作命令
1
2
3
4
5
6
7
8
9
# 对 /dev/sdb 硬盘进行 GPT 分区(使用 parted 工具)
parted /dev/sdb

# 常用交互指令:
# mklabel gpt:将分区表设置为 GPT
# mkpart:创建分区(指定名称、文件系统类型、起始和结束位置)
# print:显示分区表
# rm [分区号]:删除分区
# quit:退出

分区表选择建议

  • 硬盘容量 ≤ 2TB:可选择 MBR(兼容性好)或 GPT(推荐,为未来升级留余地)。
  • 硬盘容量 > 2TB:必须选择 GPT(MBR 无法识别全部容量)。
  • 系统启动方式为 UEFI:优先选择 GPT(MBR 可能无法正常启动)。
  • 老旧硬件或系统:选择 MBR。

格式化:写入文件系统

格式化(mkfs)是为分区创建文件系统的过程,用于规定数据的存储结构(如索引、块管理等)。

格式化原理

格式化会在分区中划分两个关键区域:

  • inode(索引节点):存储文件元数据(权限、所有者、修改时间、数据块位置等),每个 inode 大小通常为 128B 或 256B。
  • block(数据块):存储文件实际内容,默认大小为 4KB(可自定义,如 1KB、8KB),是读写数据的最小单位。

注意:inode 和 block 的总数在格式化时确定,后期无法修改(除非重新格式化)。

常用文件系统

Linux 支持多种文件系统,选择需根据场景:

  • ext4:最常用的文件系统,稳定性好,支持最大 1EB 分区和 16TB 文件。
  • xfs:高性能文件系统,适合大文件和高吞吐量场景(如数据库、日志服务器)。
  • btrfs:支持快照、动态扩容等高级功能,适合需要灵活管理的场景。
  • swap:交换分区专用文件系统,用于内存不足时临时存储数据。

格式化命令

1
2
3
4
5
6
7
# 格式化为 ext4 文件系统(-t 指定类型)
mkfs -t ext4 /dev/sdb1 # /dev/sdb1 为分区设备名

# 快捷方式(不同文件系统有专用命令)
mkfs.ext4 /dev/sdb1 # 等价于上面的命令
mkfs.xfs /dev/sdb2 # 格式化为 xfs
mkswap /dev/sdb3 # 格式化为 swap(交换分区)

挂载:将分区关联到目录

Linux 没有 “盘符” 概念,通过 “挂载” 将分区与目录关联,用户通过目录访问分区数据。

挂载点的核心概念

  • 挂载点:必须是已存在的空目录(挂载后目录原内容会被隐藏,直到卸载)。
  • 分区与目录的关系:一个分区可挂载到一个目录,一个目录同一时间只能挂载一个分区。

必须与推荐的挂载点

(1)必须分区
  • /(根分区):所有文件的根目录,包含系统核心文件(如 /bin/etc),必须存在。
  • swap(交换分区):当物理内存不足时,系统会将部分数据暂存到 swap 分区,建议大小为内存的 1-2 倍(内存 ≥ 8GB 时可设为 8GB)。
(2)推荐分区
  • /boot(启动分区):存储系统启动文件(内核、GRUB 配置等),建议大小 1-2GB,独立分区可避免根分区满导致无法启动。
(3)常用分区(根据需求)
  • /home:用户主目录,独立分区可避免重装系统时丢失用户数据。
  • /var:存放日志、缓存等可变数据,独立分区可防止日志占满根分区。
  • /www:Web 服务器数据目录,独立分区便于管理网站文件。

临时挂载命令

1
2
3
4
5
6
7
8
9
# 将 /dev/sdb1 分区挂载到 /www 目录
mount /dev/sdb1 /www

# 挂载时指定文件系统类型(通常可自动识别)
mount -t ext4 /dev/sdb1 /www

# 查看已挂载的分区
mount # 显示所有挂载信息
df -h # 显示分区使用情况(人性化单位)

永久挂载:配置 /etc/fstab

临时挂载在系统重启后会失效,需通过 /etc/fstab 文件配置自动挂载。

/etc/fstab 格式说明
1
2
# 设备路径       挂载点    文件系统  挂载选项  备份标记  自检顺序
/dev/sdb1 /www ext4 defaults 0 0
  • 设备路径:分区的设备名(如 /dev/sdb1)或 UUID(推荐,UUID 不受设备名变化影响)。
  • 挂载选项defaults 表示默认选项(rw, suid, dev, exec, auto, nouser, async)。
  • 备份标记0 表示不备份,1 表示使用 dump 备份。
  • 自检顺序0 表示不自检,1 表示优先自检(通常根分区设为 1,其他为 2)。
配置步骤
  1. 查看分区 UUID(推荐使用 UUID 避免设备名变动问题):

    1
    blkid /dev/sdb1  # 输出:/dev/sdb1: UUID="xxxx-xxxx" TYPE="ext4"
  2. 编辑 /etc/fstab

    1
    2
    3
    vim /etc/fstab
    # 添加一行(使用 UUID)
    UUID=xxxx-xxxx /www ext4 defaults 0 0
  3. 生效配置(无需重启):

    1
    mount -a  # 加载 /etc/fstab 中所有未挂载的分区

实战案例:硬盘分区与挂载全流程

假设新增一块硬盘 /dev/sdb,需创建分区并挂载到 /data 目录:

  1. 创建 GPT 分区

    1
    2
    3
    4
    5
    parted /dev/sdb
    (parted) mklabel gpt # 设置为 GPT 分区表
    (parted) mkpart data ext4 0% 100% # 创建一个占用全盘的分区
    (parted) print # 确认分区
    (parted) quit
  2. 格式化分区

    1
    mkfs.ext4 /dev/sdb1
  3. 创建挂载点并挂载

    1
    2
    mkdir /data
    mount /dev/sdb1 /data
  4. 配置永久挂载

    1
    2
    3
    blkid /dev/sdb1  # 获取 UUID
    echo "UUID=xxxx-xxxx /data ext4 defaults 0 0" >> /etc/fstab
    mount -a # 生效

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10