admin管理员组

文章数量:1593060

发表于: 2013-11-21 00:56:47

来自 威锋网页版

本帖最后由 pysense 于 2013-11-21 00:56 编辑

起因

在通过Boot Camp安装完Win8之后,发现只有一个分区,就在Win8的磁盘管理中通过“压缩卷”功能对当前系统分区操作,扩展了一部分未使用的容量出来,于是在重启系统之后发现引导界面中“Macintosh HD”引导项不见了,在一番折腾之后(貌似是合并刚刚扩展出来的空闲空间)我把“Recovery HD”也弄丢了。。。

现象

尝试着回忆之前做过的操作,并试着修复,不过失败了,把当前情况记录如下:在Windows系统下可以正常加载OS X分区(Boot Camp驱动已装),分区类型显示为HFS(右键该分区,查看属性)

在第一次重启时仍可看到“Recovery HD”,进入“Recovery HD”后,OS X 分区显示为:disk0s2,分区类型显示为:“MS-DOS”(也或许是“MS-FAT”之类,此部分为回忆,细节已忘)

分析

既然分区内数据都在,并且在Recovery环境下显示的分区类型有误,猜想可能跟分区表/分区格式有关。在一番查找后,看到本论坛的一个帖子:

【Mac技术组】Mac 系统引导过程概述 & BootCamp 的秘密

,仔仔细细地读了两遍后我注册了威锋网账号。因为这篇文章写得太好了,解答了我以下几个问题:磁盘分区表目前主要有两种:MBR 与 GPT,并且把 GPT 的结构大概读了下

OS X 的磁盘分区结构

Mac 引导系统的过程

如果同时存在MBR与GUID,那么EFI会读取哪个分区表?(既混合分区,帖子里有细说)

于是我决定记录下这个问题,自己的思考以及最后如何解决问题的,并分享出来。

在了解了帖子中的大部分概念后,这个情况就感觉清楚多了,那么我需要解决这几个问题:如何确定磁盘所使用的分区表类型(MBR or GPT)

如何查看某个分区的GUID(是否是OS X分区的GUID变更导致引导时找不到此系统)

如何更改分区类型ID(如果是,那么我需要重新设置这个分区ID)

对于以上几个问题,简单回答如下:Win8磁盘管理或者第三方工具DiskGenius都可以查看(具体为:如果显示“转换成 MBR 磁盘”,那么该磁盘必然使用的是 GPT)

DiskGenius 可以查看

DiskGenius 无法更改GPT格式磁盘的分区ID,需要使用Win8自带命令行程序:`diskpart`

解决

首先是通过DiskGenius查看GUID,然后在

全局唯一标识分区表

查询,下图这个是微软的基础数据分区的GUID,需要更改为:48465300-0000-11AA-AA11-00306543ECAC(HFS)

编辑

然后是通过`diskpart`命令更改GUID,我先是直接在Win8系统下操作,因为分区已被Win8挂载,尽管我也加了“override”选项,依旧是失败。想起之前通过BootCamp助理创建的Win8安装U盘,于是换了U盘引导,顺利更改。

通过U盘启动后进入“修复计算机”,找到并打开CMD,在CMD下执行`diskpart`,子命令如下:list disk

select disk 0

list partition

select partition 2

set id=48465300-0000-11AA-AA11-00306543ECAC在更改分区ID后,关机再开机,同时按住Option键:Macintosh分区回来了^_^

编辑

下图是更改“Recovery HD”分区的(子命令可以缩写为前三个字符)

编辑

再打开DiskGenius软件查看GUID:

编辑

结语建议大家遇到问题尽量多做思考,配合搜索引擎自己了解问题,解决问题的同时就是在学习

如果对Mac OS X启动与磁盘分区表感兴趣,多看几遍这个帖子:【Mac技术组】Mac 系统引导过程概述 & BootCamp 的秘密

特别感谢noah1985写的文章

本文标签: 机中双系统经验方法系统