上一篇
Linux怎么创建硬盘分区详细步骤?
- Linux
- 2025-07-04
- 2466
在Linux中,使用fdisk或parted工具选择硬盘设备,创建新分区,设置大小和类型,保存更改后,用mkfs格式化分区,最后挂载到指定目录即可。
操作前重要提示:
- 数据备份: 分区操作有潜在风险,可能导致数据丢失。强烈建议在操作前备份硬盘上的所有重要数据。
- 谨慎操作: 务必确认操作对象是目标硬盘(如
/dev/sdb
),而非系统启动盘(通常是/dev/sda
),误操作系统盘可能导致系统无法启动。 - 权限要求: 需要
root
用户权限,使用sudo
命令或在root
用户下执行。 - 识别磁盘: 使用
lsblk
或fdisk -l
命令确认目标硬盘的设备标识符(如/dev/sdb
)。
步骤 1:识别目标硬盘
- 打开终端。
- 执行命令:
sudo lsblk -f
或
sudo fdisk -l
- 查看输出结果:
lsblk -f
:以树状结构显示块设备(磁盘和分区),包含文件系统类型和挂载点,更直观。fdisk -l
:列出所有磁盘的详细信息,包括分区表类型(DOS/MBR 或 GPT)、分区大小、起始结束扇区。
- 根据磁盘大小、分区情况和文件系统类型,准确确定你要分区的硬盘设备名(
/dev/sdb
)。请务必确认无误。
步骤 2:使用分区工具操作目标硬盘
Linux 常用的分区工具有 fdisk
(适用于 MBR 和较新的 GPT)、gdisk
(专门用于 GPT)、parted
(更现代化,支持 MBR/GPT),这里以最通用的 fdisk
为例:
-
启动
fdisk
操作目标硬盘:sudo fdisk /dev/sdb # 将 /dev/sdb 替换为你的目标硬盘
终端提示符会变为
Command (m for help):
。 -
查看现有分区表 (可选但推荐):
输入p
然后按回车,这会打印当前硬盘的分区表信息,仔细核对,确保你操作的是正确的硬盘。 -
创建新分区:
- 输入
n
然后按回车,开始创建新分区。 - 系统会询问分区类型:
Primary
(主分区):MBR 磁盘最多允许 4 个主分区(或 3 主分区 + 1 扩展分区)。Extended
(扩展分区):仅在 MBR 磁盘上创建,用于容纳逻辑分区。Logical
(逻辑分区):必须创建在扩展分区内。- GPT 磁盘没有主/扩展/逻辑分区的限制,通常直接选择
Primary
即可。
根据你的磁盘类型(MBR/GPT)和需求选择,对于大多数 GPT 磁盘或 MBR 磁盘上第一个分区,选择p
(Primary)。
- 指定分区号:通常接受默认值(下一个可用编号),按回车。
- 指定起始扇区:强烈建议接受默认值(显示在括号中的第一个可用扇区),直接按回车,这确保分区对齐,优化性能。
- 指定结束扇区:有两种方式:
- 指定大小: 输入
+size{K,M,G,T}
(+10G
表示创建 10GB 的分区),大小单位需大写。 - 指定结束扇区号: 直接输入扇区号(不常用),也可以输入
100%
表示使用剩余所有空间。
按回车确认结束位置。
- 指定大小: 输入
- 输入
-
设置分区类型 (可选但推荐):
- 默认创建的分区类型通常是
Linux filesystem
(类型代码83
),如果你的分区有特殊用途(如 Linux swap82
, LVM8e
, EFI Systemef
),需要修改。 - 输入
t
然后按回车。 - 输入你创建的分区号(如果只创建了一个新分区,通常是
1
)。 - 输入分区类型的 十六进制代码,常用代码:
83
– Linux82
– Linux swap / Solaris8e
– Linux LVMef
– EFI System (FAT12/16/32)- 输入
L
可以列出所有已知类型代码。
- 按回车确认。
- 默认创建的分区类型通常是
-
验证分区表:
再次输入p
然后按回车,仔细检查新创建的分区信息(大小、类型、起始结束扇区)是否正确。 -
保存更改并退出:
- 如果确认无误,输入
w
然后按回车。此操作会将修改写入硬盘分区表,不可逆! - 如果发现错误想放弃所有修改,输入
q
然后按回车直接退出,不保存任何更改。
- 如果确认无误,输入
步骤 3:通知内核更新分区表
在保存 (w
) 分区表更改并退出 fdisk
后,Linux 内核可能不会立即识别新的分区表(尤其是你正在操作包含已挂载分区的磁盘),使用以下命令强制内核重新读取分区表:
sudo partprobe /dev/sdb # 通知内核更新 /dev/sdb 的分区表 # 或者更通用的方法(可能需安装 parted 包): sudo partprobe
partprobe
不可用,重启系统是最可靠的方式,但通常 partprobe
足够。
步骤 4:在新分区上创建文件系统 (格式化)
新分区只是一个“容器”,需要创建文件系统(格式化)才能存储数据。
- 使用
lsblk -f
确认新分区的设备名(/dev/sdb1
)。 - 选择合适的文件系统命令进行格式化:
- ext4 (推荐通用):
sudo mkfs.ext4 /dev/sdb1 # 将 /dev/sdb1 替换为你的新分区
- XFS (高性能, 大文件):
sudo mkfs.xfs /dev/sdb1
- Btrfs (高级特性:快照, 校验和, RAID):
sudo mkfs.btrfs /dev/sdb1
- FAT32/VFAT (兼容性好, 如U盘/跨平台共享):
sudo mkfs.vfat -F 32 /dev/sdb1 # -F 32 指定 FAT32
- NTFS (主要用于 Windows 兼容):
sudo mkfs.ntfs /dev/sdb1 # 通常需要安装 ntfs-3g 包
- Linux Swap: (如果分区类型设为
82
)sudo mkswap /dev/sdb1 sudo swapon /dev/sdb1 # 立即激活交换分区
- ext4 (推荐通用):
- 命令执行完成后,新分区就拥有了可用的文件系统。
步骤 5:挂载新分区
格式化后的分区需要挂载到目录树中的一个目录(挂载点)才能访问。
- 创建挂载点: 选择一个目录(通常放在
/mnt
或/media
下,也可以自定义)。sudo mkdir /mnt/newdisk # 创建挂载目录,名称可自定义
- 临时挂载 (重启后失效):
sudo mount /dev/sdb1 /mnt/newdisk # 将分区挂载到目录
- 验证挂载:
df -hT /mnt/newdisk # 查看挂载点信息,确认文件系统类型和大小 ls /mnt/newdisk # 查看目录内容 (通常是空的)
- 永久挂载 (开机自动挂载):
编辑/etc/fstab
文件:sudo nano /etc/fstab # 或使用 vi/vim/gedit 等编辑器
在文件末尾添加一行:
/dev/sdb1 /mnt/newdisk ext4 defaults 0 2
- 第一列:分区设备名 (
/dev/sdb1
) 或 更推荐使用 UUID (用sudo blkid
命令查看分区的 UUID)。 - 第二列:挂载点 (
/mnt/newdisk
)。 - 第三列:文件系统类型 (
ext4
,xfs
,btrfs
,vfat
,ntfs
等)。 - 第四列:挂载选项 (
defaults
包含常用选项如 rw, suid, dev, exec, auto, nouser, async),根据需要调整(如noatime
,nodiratime
提升性能;ro
只读;user
允许普通用户挂载)。 - 第五列:
dump
备份工具标志位 (通常设为0
)。 - 第六列:
fsck
文件系统检查顺序 (根目录 应为1
,其他分区通常为2
,不检查设为0
,如 swap 或数据盘)。
示例 (使用 UUID):UUID=12345678-90ab-cdef-1234-567890abcdef /mnt/newdisk ext4 defaults,noatime 0 2
保存并退出编辑器。
- 第一列:分区设备名 (
- 测试
/etc/fstab
配置:
为避免配置错误导致系统无法启动,务必测试:sudo mount -a
这条命令会尝试挂载
/etc/fstab
中所有未挂载的分区,如果没有报错,且df -h
显示新分区已挂载,则配置正确。如果报错,必须修正/etc/fstab
文件后再测试。
关键注意事项 (E-A-T 重点):
- 风险意识: 反复强调分区操作可能导致永久性数据丢失,操作前必须备份,操作中必须确认目标设备。
- 工具选择:
fdisk
适用于大多数场景,对于 2TB 以上硬盘或需要创建 >4 个主分区,必须使用 GPT 分区表,gdisk
(sudo gdisk /dev/sdb
) 或parted
是更合适的选择。parted
支持更友好的大小输入(如mkpart primary ext4 1MiB 100%
)。 - 分区表类型: 了解你的磁盘是 MBR (DOS) 还是 GPT 至关重要。
fdisk -l
输出会明确说明 (Disklabel type: dos
或gpt
)。 - 文件系统选择: 根据用途选择文件系统。
ext4
是通用可靠的 Linux 选择;XFS/Btrfs
适合大文件/高级需求;FAT32/NTFS
用于跨平台共享。 - UUID 优势: 在
/etc/fstab
中使用 UUID (sudo blkid
获取) 比使用/dev/sdX
设备名更稳定可靠,因为设备名可能在添加/移除硬盘时发生变化。 - Swap 分区: 如果创建了 Swap 分区 (
mkswap
),除了在/etc/fstab
中添加条目 (UUID=... none swap sw 0 0
) 外,还需用swapon -a
或swapon /dev/sdbX
激活。 - LVM/RAID: 如需更灵活的存储管理(动态调整大小、快照、条带化等),可在物理分区之上创建 LVM 或软件 RAID,这涉及额外步骤 (
pvcreate
,vgcreate
,lvcreate
/mdadm
)。
引用说明:
本文档编写参考了以下权威来源,以确保技术准确性:
fdisk(8)
,mkfs(8)
,mount(8)
,blkid(8)
,lsblk(8)
Linux Manual Pages – 核心命令行工具的官方文档。- The Linux Documentation Project (TLDP) Guides – 经典的 Linux 技术文档集合。
- Arch Linux Wiki – Partitioning, File Systems, fstab – 以详尽准确著称的 Wiki。
- Ubuntu Community Help Wiki – DiskSpace, Partitioning – 面向用户的实用指南。
- GNU Parted Manual –
parted
工具的官方文档。