fdisk新建分区操作流程
目标示例:在 /dev/sdb
磁盘上创建大小为 300G 的新分区 /dev/sdb1
,类型为 Linux LVM(8e)。
1. 启动 fdisk
fdisk /dev/sdb # 替换为目标磁盘(如 /dev/sdc)
2. 查看现有分区表(可选)
Command (m for help): p # 打印当前分区信息
3. 创建新分区
Command (m for help): n # 新建分区
设置选择分区类型
Select (default p): p # 主分区(p)或扩展分区(e)
设置分区号(默认自动分配):
Partition number (1-4, default 1): 1 # 输入分区号(如1)
指定起始扇区(默认从磁盘空闲位置开始):
First sector (2048-209715199, default 2048): [回车] # 默认起始位置
指定分区大小:
Last sector, +/-sectors or +/-size{K,M,G,T,P}: +300G # 结束位置或直接指定大小
4. 修改分区类型(可选)
例如设置为 Linux LVM(类型代码 8e
):
Command (m for help): t # 更改分区类型 Selected partition 1 # 选择刚创建的分区(如1) Hex code (type L to list): 8e # 输入类型代码(LVM为8e,Linux文件系统为83)
5. 保存并退出
Command (m for help): w # 写入分区表并退出
警告:输入 w
前请确认操作无误!若需放弃修改,输入 q
退出。
6. 刷新分区表
partprobe /dev/sdb # 让系统重新识别分区(无需重启) # 或 reboot # 重启系统(可选)
验证分区
fdisk -l /dev/sdb # 检查分区表 lsblk /dev/sdb # 查看分区层次
后续操作
1. 格式化分区(例如 ext4
):
mkfs.ext4 /dev/sdb1
2. 挂载分区:
mkdir /mnt/data mount /dev/sdb1 /mnt/data
3. 开机自动挂载:
blkid /dev/sdb1 # 获取UUID vi /etc/fstab # 添加以下行 UUID=xxxx-xxxx /mnt/data ext4 defaults 0 0
注意事项
数据备份:操作前备份重要数据,分区操作可能导致数据丢失。
磁盘标识:务必确认目标磁盘(如
/dev/sdb
),避免误操作系统盘。分区对齐:建议使用默认起始扇区(自动对齐优化性能)。
分区类型:
LVM 分区:类型代码
8e
。普通数据分区:默认
83
(Linux 文件系统)。MBR 限制:
最多 4 个主分区,如需更多分区需创建扩展分区(类型
5
)。单个分区最大支持 2TB(超过需使用 GPT 分区表,改用
parted
工具)。
常见问题
Q1: 磁盘空间未完全分配?
若需将整块磁盘分配给单个分区,在指定分区大小时输入
+100%
或直接回车使用默认最大值。
Q2: 分区后系统未识别?
运行
partprobe
或重启系统刷新分区表。检查是否已格式化(未格式化的分区无法挂载)。
parted新建分区操作流程
以下是使用 parted
工具创建新分区的详细示例,适用于 GPT 或 MBR 分区表:
场景示例
将 /dev/sdb
磁盘划分为一个 500GB
的分区(文件系统为 ext4
),剩余空间留给后续使用。
操作步骤
1. 启动 parted
并选择磁盘:
parted /dev/sdb # 替换为目标磁盘(如 /dev/sdc)
2.(可选)创建新分区表:
如果磁盘未初始化或需清空现有分区表:
(parted) mklabel gpt # 创建 GPT 分区表(或 msdos 对应 MBR)
警告:此操作会清除磁盘所有数据!
3. 查看当前分区信息:
(parted) print # 确认磁盘容量及现有分区
4. 创建新分区:
(parted) mkpart Partition name? []? data_part1 # 分区名称(GPT可用,MBR忽略) File system type? [ext2]? ext4 # 文件系统类型(仅标识,不实际格式化) Start? 1GiB # 起始位置(建议对齐,如 1GiB) End? 500GiB # 结束位置(或百分比如 50%)
5. 验证分区:
(parted) print # 检查新分区(如 /dev/sdb1)
6. 退出 parted
:
(parted) quit
完整命令示例
parted /dev/sdb <<EOF mklabel gpt mkpart data_part1 ext4 1GiB 500GiB print quit EOF
关键参数说明
参数 | 说明 |
---|---|
mklabel <type> | 创建分区表类型:gpt 或 msdos (MBR) |
mkpart | 创建分区,需指定名称(GPT)、文件系统类型(仅标识)、起始/结束位置 |
-a optimal | (可选)对齐到最佳性能扇区(parted 默认自动对齐) |
unit GiB | (交互模式)设置单位为 GiB,方便输入 |
注意事项
数据备份:操作前备份重要数据,分区操作不可逆。
磁盘标识:务必确认目标磁盘(如
/dev/sdb
),避免误操作系统盘。分区对齐:建议起始位置从
1MiB
或1GiB
开始,避免性能损失。GPT vs MBR:
GPT:支持 >2TB 磁盘,最多 128 分区。
MBR:兼容旧系统,最多 4 主分区(或扩展分区)。
fdisk删除分区操作流程
使用 fdisk
删除分区的操作需要谨慎,删除分区会导致数据丢失。以下是详细步骤:
操作步骤
1. 列出磁盘分区信息:
fdisk -l
确认要操作的磁盘(如 /dev/sdb
)及需要删除的分区号(如 /dev/sdb1
)。
2. 启动 fdisk
工具:
fdisk /dev/sdb # 替换为目标磁盘(如 sdb、sdc 等)
3. 查看当前分区表:
在
fdisk
交互界面输入p
,打印分区表,确认要删除的分区号。
4. 删除分区:
输入
d
命令。输入要删除的分区号(如
1
对应/dev/sdb1
)。
Command (m for help): d Partition number (1-3, default 3): 1 # 输入目标分区号
5. 保存并退出:
输入
w
将更改写入磁盘并退出:
Command (m for help): w
如果误操作,输入
q
退出不保存。
6. 刷新分区表(可选):
partprobe /dev/sdb # 让系统重新读取分区表(无需重启)
注意事项
1. 数据丢失风险:删除分区会清除分区表信息,导致该分区数据不可访问(需提前备份)。
2. 确认目标磁盘:操作前务必通过 fdisk -l
确认磁盘标识符(如 /dev/sdb
),避免误删系统盘。
3. 挂载状态检查:确保分区未被挂载:
umount /dev/sdb1 # 如果已挂载,先卸载
4. LVM 关联:如果分区是 LVM 物理卷(PV),需先移除 LVM 关联:
vgreduce --removemissing vg_name # 从卷组中移除缺失的PV pvremove /dev/sdb1 # 删除物理卷
parted删除分区操作流程
parted
:更友好的交互式分区工具,支持 GPT 分区表:
parted /dev/sdb (parted) print # 查看分区 (parted) rm 1 # 删除分区1 (parted) quit
完成操作后,分区将从磁盘中移除。如果需要重新分区,可再次使用 fdisk
或 parted
创建新分区。
使用gdisk将MBR (DOS)分区表转为GPT分区
操作步骤
1. 备份分区表和数据(操作会破坏现有分区,需先备份数据)
# 备份当前分区表(MBR) sfdisk -d /dev/sdb > sdb_mbr_backup.txt # 备份重要数据(必须执行!) cp -a /挂载点路径 /备份路径
2. 启动 gdisk
gdisk /dev/sdb
如果看到提示:
Found invalid GPT and valid MBR; converting MBR to GPT format in memory.
这是正常现象,按回车继续。
3. 转换分区表类型
Command (? for help): r # 进入恢复/转换菜单 Recovery/transformation command (? for help): g # 将MBR转换为GPT(有些版本使用o转换,具体看工具使用帮助) Recovery/transformation command (? for help): w # 写入更改 Do you want to proceed? (Y/N): Y # 确认操作
⚠️ 警告:此操作会立即清除所有MBR分区信息!
4. 验证转换结果
# 查看分区表类型 parted /dev/sdb print | grep Table # 应显示:Partition Table: gpt # 检查分区是否丢失(此时应无分区) gdisk -l /dev/sdb
5. 重新创建GPT分区
gdisk /dev/sdb
按 n
创建新分区(根据需要设置大小和类型代码)
例如创建 Linux 文件系统分区:
Command (? for help): n Partition number: 1 # 分区号 First sector: 2048 # 起始扇区(默认) Last sector: +200G # 结束位置(或直接回车使用全部空间) Hex code: 8300 # Linux文件系统类型(LVM为8e00)
按
w
保存分区表
6. 创建文件系统并恢复数据
# 格式化分区(例如ext4) sudo mkfs.ext4 /dev/sdb1 # 挂载并恢复数据 sudo mount /dev/sdb1 /mnt/new sudo cp -a /备份路径/* /mnt/new/
注意事项
数据风险:
转换过程会完全清除MBR分区表,所有现有分区需要手动重建
如果磁盘已安装操作系统,转换后系统可能无法启动(需修复引导)
兼容性问题:
旧主板(BIOS模式)可能需要启用
CSM
兼容模块才能从GPT磁盘启动如果磁盘用作系统盘,建议使用
grub-install
重新安装引导加载程序替代方案:
如需保留数据转换,可使用
sgdisk
(高风险):sudo sgdisk -g /dev/sdb # 保留数据转换(不保证成功)
更安全的方法是备份数据后全新分区
转换前后对比
特性 | MBR (DOS) | GPT |
---|---|---|
最大磁盘大小 | 2TB | 8ZB(理论值) |
分区数量 | 4个主分区(或3主+1扩展) | 128个主分区(实际限制) |
兼容性 | 所有系统支持 | 需要UEFI或BIOS+CSM支持 |
安全特性 | 无 | 支持CRC校验和备份分区表 |