Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Ubuntu gdisk硬盘格式化为GPT分区表

Ubuntu下使用gdisk将硬盘格式化为GPT分区表的完整指南

作者:YasharQ

本文介绍了在Ubuntu系统中使用gdisk工具初始化硬盘、转换分区表类型(从MBR到GPT)、分区、格式化和挂载分区的方法,还涵盖了从MBR无损转换为GPT的进阶操作,并提供了常见问题的解决方案,需要的朋友可以参考下

在 Ubuntu 系统中,当我们需要初始化一块新硬盘,或者将旧硬盘从传统的 MBR 分区表转换为更现代的 GPT 分区表时, gdisk 是一个功能强大、安全可靠的命令行工具。本文将手把手教你如何使用 gdisk 完成分区表的创建、分区划分、格式化及挂载,并涵盖从 MBR 无损转换为 GPT 的进阶操作。

一、为什么要使用 GPT 分区表?

二、准备工作

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 

请根据容量已有分区情况确定你要操作的硬盘。小心别选错,否则会误清空系统盘。

三、安装 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

接着按提示一步步操作:

重复使用 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

其他常用格式化命令:

如果分区是作为 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 命令

sgdiskgdisk 的脚本版本,可以直接执行转换:

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 分区表的强大工具。通过 onw 三个核心命令即可完成全部分区工作。对于已经使用的 MBR 硬盘,gdisk 也提供了转换途径,但 数据安全永远是第一位的,操作前务必备份重要数据。

掌握 gdisk 后,你便可以轻松管理大容量硬盘、搭建多系统环境,或为服务器准备标准的数据分区。如果遇到更复杂的分区需求(如混合 MBR、特定对齐方式等),gdisk 也提供了高级选项,可以通过 ? 获取帮助。

本文基于 Ubuntu 22.04 / 24.04 及 gdisk 1.0.8 版本编写。不同版本界面略有差异,但核心命令相同。

希望这篇指南能帮助你顺利完成 GPT 分区操作。如果觉得有用,欢迎分享给更多 Linux 用户。

以上就是Ubuntu下使用gdisk将硬盘格式化为GPT分区表的完整指南的详细内容,更多关于Ubuntu gdisk硬盘格式化为GPT分区表的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文