Ubuntu下使用gdisk将硬盘格式化为GPT分区表的完整指南
作者:YasharQ
在 Ubuntu 系统中,当我们需要初始化一块新硬盘,或者将旧硬盘从传统的 MBR 分区表转换为更现代的 GPT 分区表时, gdisk 是一个功能强大、安全可靠的命令行工具。本文将手把手教你如何使用 gdisk 完成分区表的创建、分区划分、格式化及挂载,并涵盖从 MBR 无损转换为 GPT 的进阶操作。
一、为什么要使用 GPT 分区表?
- 支持大容量硬盘:MBR 最大支持 2TB 硬盘,GPT 则可以处理 18EB(百亿亿字节)以上的硬盘。
- 更多分区:MBR 最多 4 个主分区或 3 个主分区+1 个扩展分区;GPT 理论上支持 128 个主分区(Windows 限制)甚至更多。
- 数据冗余与安全:GPT 在磁盘头部和尾部各保存一份分区表,具有校验机制,更不容易被破坏。
- 现代系统兼容:UEFI 启动模式强制要求 GPT;传统 BIOS 也可引导 GPT(需有 BIOS boot 分区)。
二、准备工作
2.1 备份数据
警告:无论使用何种分区工具,修改分区表都可能导致数据丢失。如果你的硬盘上已有重要数据,请务必提前备份到其他存储设备。
2.2 确认硬盘路径
在终端执行以下命令,列出当前所有块设备:
lsblk
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 238G 0 part / sdb 8:16 0 931.5G 0 disk
- 通常 SATA/SAS 硬盘显示为
/dev/sda、/dev/sdb…… - NVMe SSD 显示为
/dev/nvme0n1、/dev/nvme1n1……
请根据容量和已有分区情况确定你要操作的硬盘。小心别选错,否则会误清空系统盘。
三、安装 gdisk
Ubuntu 大多数最小化安装可能不自带 gdisk。安装命令:
sudo apt update sudo apt install gdisk -y
安装完成后,可以通过 gdisk -v 验证版本。
四、全新硬盘初始化为 GPT 并分区
假设你的目标硬盘是 /dev/sdb(已无有用数据或全新)。
4.1 进入 gdisk 交互界面
sudo gdisk /dev/sdb
你会看到类似下面的提示:
GPT fdisk (gdisk) version 1.0.8 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries in memory. Command (? for help):
4.2 创建全新的 GPT 分区表
在 Command 提示符后输入 o 并回车:
Command (? for help): o
程序会询问是否确认创建新的空 GPT 分区表,输入 y 确认。
一步会彻底清除磁盘上原有的任何分区表(MBR 或 GPT),所有旧分区信息都将消失。
4.3 创建分区
输入 n 开始创建新分区:
Command (? for help): n
接着按提示一步步操作:
- 分区号 (Partition number):直接按回车使用默认值(通常从 1 开始)。
- 起始扇区 (First sector):直接按回车使用默认值(自动对齐)。
- 结束扇区 (Last sector):
- 如果要使用整个剩余空间,直接按回车。
- 如果要创建指定大小的分区,输入
+200G(表示 200 GB)、+500M(表示 500 MB)等格式。
- 分区类型代码 (Hex code or GUID):
- 普通 Linux 数据分区:输入
8300回车。 - EFI 系统分区(ESP):输入
EF00回车。 - Linux swap:输入
8200回车。 - 查看所有代码:输入
L会列出长列表。
- 普通 Linux 数据分区:输入
重复使用 n 命令可以继续添加更多分区。
4.4 查看分区表
输入 p 可以打印当前分区方案,确认无误。
4.5 保存并退出
非常重要:输入 w 才会将上述所有更改真正写入磁盘。
Command (? for help): w
系统会再次确认:
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N):
输入 Y 并回车,gdisk 写入分区表后自动退出。
如果中途想放弃所有修改,输入 q 即可不保存退出。
五、格式化分区
gdisk 只是划分了分区,还需创建文件系统才能存储数据。
例如,将第一个分区 /dev/sdb1 格式化为 ext4:
sudo mkfs.ext4 /dev/sdb1
其他常用格式化命令:
sudo mkfs.xfs /dev/sdb1– XFS 文件系统sudo mkfs.btrfs /dev/sdb1– Btrfs 文件系统sudo mkfs.vfat -F 32 /dev/sdb1– FAT32(常用于 UEFI 的 EFI 分区)
如果分区是作为 EFI 系统分区(代码 EF00),应格式化为 FAT32:sudo mkfs.fat -F32 /dev/sdb1
六、挂载并使用分区
6.1 手动挂载
创建一个挂载点目录(例如 /mnt/data),然后将分区挂载上去:
sudo mkdir -p /mnt/data sudo mount /dev/sdb1 /mnt/data
挂载后可通过 df -h /mnt/data 查看可用空间。
6.2 开机自动挂载(fstab)
获取分区的 UUID(比设备名更稳定):
sudo blkid /dev/sdb1
输出示例:/dev/sdb1: UUID="a1b2c3d4-..." TYPE="ext4"
编辑 /etc/fstab 文件:
sudo nano /etc/fstab
添加一行(请替换 UUID 和挂载点):
UUID=a1b2c3d4-... /mnt/data ext4 defaults 0 2
保存后执行 sudo mount -a 测试是否有错误。
七、进阶:将 MBR 分区表无损转换为 GPT
如果硬盘已经是 MBR 分区表且存有数据,但你想转为 GPT 以使用 2TB 以上容量或支持 UEFI,可以尝试 无损转换。但请注意:
风险提示:任何分区表转换操作都有失败风险,强烈建议先备份所有数据。
方法一:使用 gdisk 的自动转换
sudo gdisk /dev/sdb
如果 gdisk 检测到磁盘为 MBR,会提示:
Found valid MBR; converting to GPT format in memory.
此时直接按照第四节的步骤创建分区表,保存时 gdisk 会尝试转换并保留原有分区的内容。但部分分区类型可能需手动调整。
方法二:使用 sgdisk 命令
sgdisk 是 gdisk 的脚本版本,可以直接执行转换:
sudo sgdisk -g /dev/sdb
该命令会将 MBR 转换为 GPT,并尽可能保留分区数据。转换后建议用 gdisk 检查并修复分区类型代码。
转换后注意事项:
- 如果系统是从 MBR 磁盘引导的,转换后需要重新配置引导程序(如 GRUB)或改为 UEFI 引导。
- 转换不会影响分区内的文件,但一些旧工具可能无法识别 GPT。
八、gdisk 常用命令速查
| 命令 | 作用 |
|---|---|
p | 打印当前分区表 |
n | 创建新分区 |
d | 删除分区 |
t | 修改分区类型代码 |
i | 显示指定分区的详细信息 |
o | 创建新的空 GPT 分区表(清空磁盘) |
w | 保存修改并退出 |
q | 不保存修改直接退出 |
九、常见问题
Q1:执行sudo gdisk /dev/sdb报错 “No such file or directory”?
说明 /dev/sdb 不存在,请用 lsblk 重新确认硬盘正确名称。
Q2:创建分区时提示 “No free sectors available”?
磁盘已经没有任何未分配空间。可以用 p 查看现有分区,然后用 d 删除不需要的分区后再创建。
Q3:格式化后挂载时提示 “mount: /mnt/data: wrong fs type, bad option, bad superblock…”
说明分区可能没有成功格式化,或者格式化的文件系统类型与挂载参数不匹配。重新执行 mkfs 并确保挂载时不指定 -t 类型或使用正确的类型。
Q4:如何在 Ubuntu 图形界面下管理 GPT 分区?
可以使用 gnome-disks(磁盘工具)或 gparted。两者都完整支持 GPT,但命令行 gdisk 更适合远程操作或精确控制。
十、总结
gdisk 是 Ubuntu 下处理 GPT 分区表的强大工具。通过 o、n、w 三个核心命令即可完成全部分区工作。对于已经使用的 MBR 硬盘,gdisk 也提供了转换途径,但 数据安全永远是第一位的,操作前务必备份重要数据。
掌握 gdisk 后,你便可以轻松管理大容量硬盘、搭建多系统环境,或为服务器准备标准的数据分区。如果遇到更复杂的分区需求(如混合 MBR、特定对齐方式等),gdisk 也提供了高级选项,可以通过 ? 获取帮助。
本文基于 Ubuntu 22.04 / 24.04 及
gdisk1.0.8 版本编写。不同版本界面略有差异,但核心命令相同。
希望这篇指南能帮助你顺利完成 GPT 分区操作。如果觉得有用,欢迎分享给更多 Linux 用户。
以上就是Ubuntu下使用gdisk将硬盘格式化为GPT分区表的完整指南的详细内容,更多关于Ubuntu gdisk硬盘格式化为GPT分区表的资料请关注脚本之家其它相关文章!
