macos系统下使用gpt命令修复损坏的efi分区 -云顶国际

macos系统下使用gpt命令修复损坏的efi分区命令及用法

显示gpt分区

命令如下:

sudo gpt -r show disk0
    
       start        size  index  contents
           0           1         pmbr
           1           1         pri gpt header
           2          32         pri gpt table
          34        2014         
        2048      614400      1  gpt part - c12a7328-f81f-11d2-ba4b-00a0c93ec93b
      616448      409600      2  gpt part - e3c9e316-0b5c-4db8-817d-f92df00215ae
     1026048   157696000      3  gpt part - ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
   158722048    32000000      4  gpt part - 48465300-0000-11aa-aa11-00306543ecac
   190722048      262144         
   190984192   196116728      5  gpt part - 7c3457ef-0000-11aa-aa11-00306543ecac
   387100920   400937448      6  gpt part - 48465300-0000-11aa-aa11-00306543ecac
   788038368      262144         
   788300512     1280000      7  gpt part - 5361644d-6163-11aa-aa11-00306543ecac
   789580512   129175576      8  gpt part - 48465300-0000-11aa-aa11-00306543ecac
   918756088     1269536      9  gpt part - 426f6f74-0000-11aa-aa11-00306543ecac
   920025624    19594968     10  gpt part - ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
   939620592    59325048     11  gpt part - 48465300-0000-11aa-aa11-00306543ecac
   998945640     1269536     12  gpt part - 426f6f74-0000-11aa-aa11-00306543ecac
  1000215176           7         
  1000215183          32         sec gpt table
  1000215215           1         sec gpt header

其中:

  • c12a7328-f81f-11d2-ba4b-00a0c93ec93b 是efi系统分区(esp)的标志
  • index 是指磁盘分区,这里的数值是 1 ,也就是说是设备 disk0 的第一个分区
  • start 是指开始的扇区,这里的数值是: 2048
  • size 是指扇区的偏移量,这里的数值是: 614400

删除“坏”的efi分区,请先阅读下面的警告信息,再运行以下命令:

  • 确保你知道你在做什么,然后再从这里开始 - 如果你搞砸,你可能会丢失数据。
  • 您无法使用 gpt 编辑分区表,而驱动器上的分区已装入,因此您需要从另一个驱动器(例如,使用osx安装程序的usb记忆棒)引导,或者以目标磁盘模式运行mac并从另一个mac进行分区操作。
  • 您可能需要使用 diskutil unmountdisk disk0 卸载任何自动安装的卷,然后再继续执行下面的操作。
sudo gpt remove -i 1 disk0
  • 确保disk0真的是要更改的磁盘 - 数字可以在重新启动之间更改。
  • 而且,只有在efi系统分区(esp)已经存在的情况下才能运行,如果没有,则删除分区1可能是灾难性的! 在这种情况下,您需要移动索引,因为我认为esp必须具有索引 1

重新添加分区与正确的布局和类型:

sudo gpt add -b 2048 -i 1 -s 614400 -t c12a7328-f81f-11d2-ba4b-00a0c93ec93b disk3

执行完这三条命令,您的efi系统分区(esp)也就恢复正常了。

dd命令的基本用法

其实在做修复之前,也可以使用 dd 命令将efi分区做个备份,尤其是准备在同一块磁盘里面安装windows和macos的同学,更应该先做个efi分区的备份,以便efi被 玩坏 后可以恢复如初。

efi分区备份到文件,命令如下:

sudo dd if=/dev/rdisk0s1 of=~/desktop/esp.img   # 将efi分区备份到用户目录-桌面,文件名为:esp.img

从备份文件恢复到esp分区,命令如下:

sudo dd if=~/desktop/esp.img of=/dev/rdisk0s1   # 将备份文件esp.img恢复到efi分区

本文来源:daliansky

# 更多,请关注「macos专题

         
网站地图