硬盘分区是磁盘管理的基础操作,无论是安装操作系统、存储数据还是优化性能,合理的分区结构都至关重要,相比图形化工具,命令行分区具有更高的灵活性和可控性,尤其适合批量处理或无环境下的操作,本文将详细介绍Windows、Linux及macOS系统下常用的硬盘分区命令,涵盖工具使用、操作步骤及注意事项,帮助用户掌握命令行分区的方法。
Windows系统:使用diskpart命令分区
Windows系统内置的diskpart工具是强大的命令行分区管理工具,支持MBR(主引导记录)和GPT(GUID分区表)两种分区格式,需以管理员权限运行。
准备工作
- 备份数据:分区操作会清除硬盘数据,务必提前备份重要文件。
- 识别硬盘:通过
diskpart
的list disk
命令查看所有磁盘,根据“磁盘大小”或“类型”(如“USB”“虚拟硬盘”)确认目标磁盘,避免误操作。
基本操作步骤
(1)启动diskpart:以管理员身份打开命令提示符或PowerShell,输入diskpart
进入工具环境。
(2)选择目标磁盘:
list disk # 列出所有磁盘 select disk X # 替换X为目标磁盘编号(如disk 0)
⚠️ 注意:select disk
后务必确认磁盘编号正确,误选可能导致数据丢失。
(3)清空磁盘(可选):若磁盘已有分区且需重新规划,执行clean
命令清除所有分区及格式(此操作不可逆!)。
(4)创建分区表:
- MBR分区表(支持最大2TB硬盘,最多4个主分区):
convert mbr
- GPT分区表(支持超过2TB硬盘,分区数量无限制):
convert gpt
(5)创建分区:
- 创建主分区(如创建100GB主分区):
create partition primary size=102400 # size单位为MB,102400MB=100GB
- 创建扩展分区(MBR下用于逻辑分区,需先创建主分区):
create partition extended
- 创建逻辑分区(在扩展分区中创建,如创建50GB逻辑分区):
create partition logical size=51200
(6)格式化分区:
format fs=ntfs quick # 快速格式化为NTFS(Windows常用文件系统) format fs=fat32 quick # 格式化为FAT32(兼容性好,但单个文件≤4GB)
(7)分配盘符:
assign letter=C # 分配盘符为C(可自定义)
(8)退出diskpart:
exit
高级操作
- 删除分区:
select partition X
(选择分区编号)→delete partition override
(override
强制删除,避免提示“保护性分区”错误)。 - 查看分区详情:
list partition
→select partition X
→detail partition
。
Linux系统:使用fdisk、gdisk及parted命令
Linux系统提供多种分区工具,其中fdisk
(支持MBR)、gdisk
(支持GPT)适合交互式操作,parted
支持高级分区管理(如调整分区大小)。
工具选择与适用场景
工具 | 支持分区表 | 适用场景 | 特点 |
---|---|---|---|
fdisk | MBR | 小容量硬盘(≤2TB) | 传统工具,交互式操作简单 |
gdisk | GPT | 大容量硬盘(>2TB) | fdisk的GPT替代版 |
parted | MBR/GPT | 批量操作、调整分区大小 | 支持脚本化,功能更强大 |
以fdisk(MBR)为例:分区步骤
(1)识别硬盘:lsblk
或fdisk -l
查看磁盘列表,目标设备通常为/dev/sda
(SATA硬盘)或/dev/nvme0n1
(NVMe硬盘)。
(2)启动fdisk:
sudo fdisk /dev/sda # 替换为目标设备
(3)交互式操作:
p
:打印当前分区表(确认已有分区)。n
:新建分区→选择p
(主分区)或e
(扩展分区)→输入分区编号(默认1)→起始扇区(默认1)→结束扇区(如+100G
表示100GB)。t
:修改分区类型(如L
查看类型码,83
为Linux原生分区)。w
:保存并退出(q
为不保存退出)。
(4)格式化分区:
sudo mkfs.ext4 /dev/sda1 # 格式化为ext4(Linux常用文件系统) sudo mkfs.ntfs /dev/sda1 # 格式化为NTFS(与Windows共享)
(5)挂载分区:
sudo mkdir /mnt/data # 创建挂载点 sudo mount /dev/sda1 /mnt/data # 挂载到目录
以parted(GPT)为例:批量分区
(1)启动parted:
sudo parted /dev/nvme0n1
(2)设置分区表:
mklabel gpt # 创建GPT分区表
(3)创建分区(脚本化示例):
mkpart primary ext4 1MiB 100MiB # 创建1-100MB的EFI系统分区(用于UEFI启动) mkpart primary ext4 100MiB 25GiB # 创建100MB-25GB的主分区(安装系统) mkpart primary ext4 25GiB 100% # 创建25GB-100%的数据分区 set 1 esp on # 激活EFI分区(可选,UEFI启动需设置)
(4)退出并格式化:
quit sudo mkfs.fat -F32 /dev/nvme0n1p1 # 格式化EFI分区为FAT32 sudo mkfs.ext4 /dev/nvme0n1p2
macOS系统:使用diskutil命令
macOS系统通过diskutil
工具管理分区,支持APFS(苹果文件系统,macOS默认)和HFS+(旧版文件系统)。
基本操作步骤
(1)识别磁盘:diskutil list
查看所有磁盘,目标磁盘如/dev/disk0
(内置硬盘)或/dev/disk2
(外置硬盘)。
(2)卸载磁盘(若已挂载):
diskutil unmountDisk /dev/disk2 # 卸载整个磁盘
(3)创建分区表(如GPT):
diskutil eraseDisk GPT JHFS+ "Data" /dev/disk2 # 创建GPT分区,命名为"Data",格式为HFS+
eraseDisk
参数格式:分区表类型 文件系统名 分区名 磁盘设备
。- APFS格式示例:
diskutil eraseDisk APFS "Macintosh HD" /dev/disk0
(用于系统盘)。
(4)查看分区结果:
diskutil list /dev/disk2
注意事项
- 数据备份:所有分区操作均会清除数据,务必提前通过
Time Machine
(macOS)、rsync
(Linux)或文件历史记录(Windows)备份。 - 分区表选择:
- MBR:兼容性较好,但仅支持2TB以下硬盘、4个主分区(需扩展分区+逻辑分区突破限制)。
- GPT:支持2TB以上硬盘、分区数量无限制,需UEFI启动(Windows/macOS现代系统默认支持)。
- 分区对齐:为提升性能,分区起始扇区建议为4K对齐(Linux的
parted
可自动对齐,Windows的diskpart
需手动计算)。 - 文件系统选择:
- Windows:NTFS(默认,支持大文件)、FAT32(兼容性好,但限制大文件)。
- Linux:ext4(通用)、xfs(适合大文件)、swap(交换分区)。
- macOS:APFS(默认,支持快照、加密)、HFS+(旧版兼容)。
相关问答FAQs
Q1:命令行分区时如何避免误删除重要分区?
A:操作前务必通过list disk
(Windows)、lsblk
(Linux)、diskutil list
(macOS)确认目标磁盘编号,删除分区时先执行select partition X
(Windows)或print
(Linux fdisk)查看分区详情,避免误选,重要数据提前备份,并优先在测试环境(如虚拟机)练习命令操作。
Q2:Linux中使用parted调整分区大小时提示“文件系统错误”,如何解决?
A:调整分区大小前需确保文件系统处于一致状态,对于ext4文件系统,可先执行sudo e2fsck -f /dev/sda1
检查并修复错误;对于xfs文件系统,使用sudo xfs_growfs /mnt/point
在线扩容(无需卸载),若仍报错,可能需先卸载分区:sudo umount /dev/sda1
,再通过parted
调整分区大小,最后用对应文件系统工具扩容(如resize2fs /dev/sda1
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15910.html