在Linux系统中对机械硬盘进行分区是系统安装或存储管理的基础操作,合理的分区规划能提升系统稳定性和数据管理效率,以下是详细步骤和注意事项:
分区前准备工作
-
识别硬盘设备
使用lsblk
或fdisk -l
命令查看系统中的硬盘信息,例如/dev/sdb
表示第二块SATA硬盘(若为NVMe硬盘则为/dev/nvme0n1
),确认目标硬盘未挂载,且无重要数据(分区会清空数据)。sudo lsblk -f # 查看块设备及文件系统
-
选择分区工具
Linux常用分区工具包括:fdisk
:经典工具,支持MBR和GPT分区表,适合交互式操作(新手推荐)。parted
:功能强大,支持动态调整分区大小,适合高级用户。gdisk
:专门用于GPT分区表,避免MBR的4主分区限制。
本文以fdisk
为例(MBR分区表),GPT分区操作类似,仅命令略有差异。
分区操作步骤(以fdisk
为例)
-
启动分区工具
sudo fdisk /dev/sdb # 替换为目标硬盘设备名
-
查看现有分区
输入p
命令打印当前分区表,确认硬盘无分区或需调整的分区。 -
创建新分区
- 输入
n
创建新分区,选择分区类型(p
为主分区,e
为扩展分区,若需多个逻辑分区需先建扩展分区)。 - 指定分区编号(默认从1开始)、起始扇区(默认即可,建议2048对齐4K扇区)、结束扇区(可输入
+size{M,G}
指定大小,如+10G
表示10GB)。
示例:创建10GB主分区(分区1),剩余空间用于扩展分区(分区2),再在扩展分区内创建逻辑分区(分区5、6)。
- 输入
-
设置分区类型
输入t
修改分区类型,默认为Linux文件系统(83),若需swap分区则输入82
(GPT分区下需通过parted
设置linux-swap
类型)。 -
保存并退出
输入w
保存分区表,若输入q
则不保存退出。
文件系统选择与格式化
根据分区用途选择文件系统:
| 分区用途 | 推荐文件系统 | 特点 |
|———-|————–|——|
| 根分区(/) | ext4/xfs | ext4稳定兼容,xfs适合大文件高性能 |
| home分区 | ext4 | 支持数据恢复,用户数据独立管理 |
| swap分区 | swap | Linux交换分区,用于虚拟内存 |
| 数据分区 | ext4/xfs/btrfs | btrfs支持快照、压缩,适合备份 |
格式化命令(以ext4为例):
sudo mkfs.ext4 /dev/sdb1 # 格式化分区1为ext4 sudo mkswap /dev/sdb2 # 格式化分区2为swap sudo swapon /dev/sdb2 # 启用swap分区(可选,临时生效)
挂载与配置自动挂载
-
创建挂载点
sudo mkdir -p /mnt/data # 数据分区挂载点
-
临时挂载
sudo mount /dev/sdb1 /mnt/data # 挂载分区1到/mnt/data
-
配置自动挂载(/etc/fstab)
通过blkid
获取分区UUID(避免设备名变化导致挂载失败):sudo blkid /dev/sdb1 # 复制UUID值
编辑
/etc/fstab
文件,添加以下行:UUID=xxx /mnt/data ext4 defaults 0 0 # xxx替换为实际UUID
验证配置:
sudo mount -a
(无报错则配置正确)。
分区规划建议(机械硬盘示例)
分区名 | 挂载点 | 文件系统 | 推荐大小 | 用途 |
---|---|---|---|---|
/dev/sdb1 | ext4 | 30-50GB | 系统及软件安装 | |
/dev/sdb2 | swap | swap | 内存1-2倍(不超过32GB) | 虚拟内存 |
/dev/sdb3 | /home | ext4 | 剩余空间 | 用户数据、文档 |
/dev/sdb4 | /data | xfs | 按需分配 | 电影、备份等大文件 |
注意事项
- 数据备份:分区操作前务必备份重要数据,避免误操作导致数据丢失。
- 分区对齐:机械硬盘建议4K对齐(
fdisk
默认起始扇区2048可满足),否则影响性能。 - MBR与GPT选择:
- MBR:最大支持2TB硬盘,4个主分区/3个主分区+1个扩展分区。
- GPT:支持超过2TB硬盘,分区数量无限制,需UEFI启动(新系统推荐)。
- swap分区:若内存≥8GB,可适当减小swap大小(如4GB),或直接禁用(使用zswap压缩)。
相关问答FAQs
Q1:Linux分区时MBR和GPT如何选择?
A1:若使用传统BIOS启动且硬盘≤2TB,可选MBR;若使用UEFI启动(现代主板默认)或硬盘>2TB,必须选GPT,GPT分区表更安全,支持冗余备份,推荐优先选择。
Q2:如何查看分区的UUID和文件系统类型?
A2:使用blkid
命令可查看所有分区的UUID、文件系统类型及挂载点信息,
sudo blkid # 输出示例:/dev/sdb1: UUID="a1b2c3d4-e5f6-7890-1234-567890abcdef" TYPE="ext4" PARTUUID="..."
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28634.html