UEFI启动环境下无损将MBR磁盘转换为GPT的方法咨询(含Ubuntu与Manjaro系统)
UEFI启动环境下无损将MBR磁盘转换为GPT的方法咨询(含Ubuntu与Manjaro系统)
兄弟,看了你提供的磁盘分区信息,UEFI环境下把MBR磁盘转成GPT且不丢失现有数据和双系统(Ubuntu+Manjaro)是完全可行的,给你一步步拆解操作流程,放心跟着来:
第一步:先做数据备份!
虽说这是无损转换操作,但不怕一万就怕万一,建议把重要文件备份到其他外部磁盘,避免意外断电或操作失误导致数据丢失。第二步:安装gdisk工具
我们需要用gdisk来完成MBR到GPT的无损转换,它比fdisk更适合这类操作。- 如果你当前用的是Ubuntu,打开终端执行:
sudo apt update && sudo apt install gdisk - 如果是Manjaro,执行:
sudo pacman -S gdisk
- 如果你当前用的是Ubuntu,打开终端执行:
第三步:用gdisk转换分区表
- 终端输入命令启动gdisk处理目标磁盘:
sudo gdisk /dev/sdb - 程序会自动识别这是MBR磁盘,提示你可以转换,先按
r进入修复菜单 - 在修复菜单里按
g,选择将MBR转换为GPT分区表——这一步只是在内存中修改,还没写入磁盘 - 按
p查看当前分区列表,确认原来的所有分区都被正确识别(sdb1到sdb7都会保留,原来的扩展分区sdb3会被GPT自动处理成独立的逻辑分区)
- 终端输入命令启动gdisk处理目标磁盘:
第四步:修正分区类型代码
GPT分区需要对应正确的类型代码,我们要确保每个分区的类型正确:- 按
t修改分区类型,输入分区编号(比如先处理sdb1,输入1) - 输入类型代码:
- sdb1(ESP分区):输入
EF00(GPT标准的EFI系统分区类型) - sdb2(NTFS分区):输入
0700 - sdb4、sdb5、sdb7(Linux系统/ home分区):输入
8300(通用Linux分区类型,home也可以用8302,不影响使用) - sdb6(swap分区):输入
8200
- sdb1(ESP分区):输入
- 每修改一个分区后按
p查看确认,重复操作直到所有分区类型都正确
- 按
第五步:写入GPT分区表
确认所有设置无误后,按w将修改写入磁盘,输入Y确认执行——这一步完成后,磁盘就正式变成GPT格式了。第六步:修复UEFI引导
转换分区表后需要重新安装GRUB,确保双系统能正常引导:- 先挂载ESP分区:
sudo mount /dev/sdb1 /boot/efi(如果已经挂载可以跳过) - 如果你当前在Ubuntu系统:
- 执行
sudo grub-install /dev/sdb - 再更新GRUB配置:
sudo update-grub
- 执行
- 如果你当前在Manjaro系统:
- 执行
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro - 再更新配置:
sudo update-grub
- 执行
- 先挂载ESP分区:
第七步:重启验证
重启电脑后进入BIOS/UEFI设置,确认启动选项里已经出现Ubuntu和Manjaro的UEFI启动项,设置好你常用的启动顺序,保存后重启就能正常进入系统了。
如果转换后出现启动失败的情况,可以用Ubuntu或Manjaro的安装U盘引导进入救援模式,重复第六步的GRUB修复操作即可。
备注:内容来源于stack exchange,提问作者The Second




