GPT分区表EFI隐藏分区的常规操作说明

Mac OS X Snow Leopard 13/5/7 7.9k 0

看到有部分朋友对于EFI分区的操作有点迷惑,现分享一下经验。其实之前已经有不少贴子讲解过EFI的操作,我这个贴子只是对其中的操作做一些说明。以下步骤中,大部分涉及终端操作,并要一直打开终端窗口,请新手先全文阅读后再实践,且尽可能先熟悉常规的终端命令。四楼将会集中解答一些问题。鸣谢xiaoapple、pcj,是他们教会我使用EFI分区。

以下操作将以disk为0(阿拉伯数字零)作为举例,而EFI分区绝对是1(阿拉伯数字1),所以例子中的磁盘标识符将会是disk0s1。在实际操作中,如果你机器中只有一块硬盘,则正常就是disk0s1,如果你的硬盘数目不止一个,则要操作的disk有可能1或2或3或4等等,但无论disk是多少,s后面的那个数字一定是1,因为EFI分区是整块硬盘的第一分区。

好了,正式开始:
1.获取root权限。所有操作必须在root权限下完成。打开终端,输入:
  • sudo -s

复制代码

输入密码

2.查看当前设备标识符
  • diskutil list

复制代码

如图,disk0s1
2010-2-2 10:20 上传
下载附件 (10.37 KB)




3.建立EFI分区。切记,新建EFI分区才用这步,如只是平时维护更新EFI内容则跳过这步。在不同版本的Mac系统里,要使用不同的命令来建立EFI分区,否则会出错,切记。
如果你是在Leopard系统里操作(包括在Leopard版本的光盘预系统下操作),则输入
  • diskutil eraseVolume "HFS+" "EFI" /dev/disk0s1

复制代码

如果你是在Snow Leopard系统里操作(包括在Snow Leopard版本的光盘预系统下操作),则输入
  • newfs_hfs -v EFI /dev/disk0s1

复制代码

执行该命令后正常将提示Initialized /dev/rdisk0s1 as a 200 MB HFS Plus volume

4.新建一个名为EFI的宗卷目录
  • mkdir /Volumes/EFI

复制代码


5.把EFI分区映射到上面新建的EFI宗卷目录
  • mount_hfs /dev/disk0s1 /Volumes/EFI

复制代码

该命令执行后,正常会在Finder或桌面显示出EFI分区。这时可以手动把boot、Extra、Extensions、com.apple.Boot.plist、Themes、dsdt.aml等等复制进去。文件分布及目录格式如下图,图中的update.sh已上传。
2010-2-2 10:43 上传
下载附件 (79.36 KB)




6.进入EFI分区
  • cd /Volumes/EFI

复制代码

执行后,手动把update.sh拖进终端回车。update.sh的作用是修复EFI分区里的Extensions目录及其里面所有kext的权限,以及生成缓存文件。

7.进入变色龙的boot目录。事先右键显示变色龙安装包的包内容,把里面的boot目录拷贝到桌面,确保boot目录里包含boot0以及boot1h这两个文件。
  • cd ~/Desktop/boot

复制代码


8.对硬盘执行boot0代码操作
  • fdisk -f boot0 -u -y /dev/rdisk0

复制代码

执行后正常无提示

9.对EFI分区执行boot1h代码操作
  • dd if=boot1h of=/dev/rdisk0s1

复制代码

执行后会有两三行提示

10.新建一个名为no_log的空日志文件(原因不明)
  • touch /Volumes/EFI/.fseventsd/no_log

复制代码


11.推出EFI分区,解除第5步建立的映射关系
  • umount /Volumes/EFI

复制代码

执行后,EFI分区将会在Finder或桌面上消失。如果遇到推出失败,可执行umount -f /Volumes/EFI

12.删除第4步建立的EFI宗卷目录。
  • rm -rf /Volumes/EFI

复制代码


至此完成操作,关闭终端。



说明:
1.如果你没有一个现成的MAC系统对新硬盘进行新建EFI分区操作,则需要光盘启动使用终端,在这种情况下,第5、6、7步涉及的文件复制编排则要完全依靠终端命令,如cp、mkdir这些,一定要熟悉。

2.如果你的硬盘已经在使用EFI分区来引导,现要修改里面的kext或其他文件,则跳过3、7、8、9、10这几步。

3.第11跟12步,顺序一定不能搞乱!否则你之前的操作基本上废掉,因为EFI分区里的内容除了boot0和boot1h代码外,其余都被删除。

4.文中第3步提及的“预系统”,请参考《我对原版与破解版两者所谓“区别”的看法》

===============================
更新:
事实上,不修复/EFI/Extra/Extensions里所有kext权限也可以的,也不需要生成缓存文件。
相关帖子
admin
GTX970 驱动 For Yosemite 10.10 说明
admin最后由xzm1689回复于 15/12/24
3 / 5.7k
admin
IATKOS M 10.9.1 安装说明以及注意事项
admin最后由1124803284回复于 15/1/25
5 / 13.7k
admin
Clover 驱动HD4000显卡 说明
admin最后由admin回复于 13/11/25
0 / 11.3k
liu1989
10 / 22.3k
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
您需要登录后才可以回帖 登录 | 注册
本版积分规则