OSX修复GPT分区表过程
我的本本是2013年末款rmbp
前段时间安装的系统是win7+OS X10.9.5+OS X10.10.5+OS X10.11 beta+3个版本的安装盘一共是7个引导分区如果算上Recovery HD就是10个可引导分区。
前几天心血来潮,想再安装一个GPT引导的win10,于是直接就腾出空间用OS X自带的磁盘工具分出一个分区。制作好win10启动U盘重启电脑开始安装,到win10安装界面就出问题了,提示需要安装到GPT磁盘。由于我用的自带磁盘工具分区,所以GPT+MBR混合分区表被win10识别为MBR分区表。没办法只好回到OS X拷贝出数据,把win7分区抹掉为HFS+分区,再重新启动用U盘引导,这次又提示需要安装到NTFS分区,win10不能识别HFS+分区所以格式化是灰色的,不管那么多了,直接删除掉分区然后在可用空间新建分区,提示需要建立额外的分区,直接按了确定,分好后win10安装好了。重新电脑,按住option居然只剩下windows了,其它分区去哪了?进win10打开磁盘管理分区都在,安装好Boot Camp后其它分区也无法识别。打开Boot Camp一看,傻眼了,所有分区下面都是windows。以前在win7下面看过OS X分区下面显示的应该是OS X才对啊。我现在才明白为什么不可以在windows下面动分区,windows自作聪明修改了分区表,把所有分区类型都改成了windows分区。
我开始各种搜索翻论坛,始终找不到如何恢复分区表。都没有出过我这种情况吗?于是我开始自己想办法,先到朋友的Air本本上去制作了一个OS X10.9.5的安装U盘。插在我的本本上引导开机,使用自带的磁盘工具验证磁盘,提示需要修复磁盘,点击修复磁盘就提示无法修复,请备份数据抹掉磁盘。悲剧了,自带磁盘工具也不能修复。到这里我就开始思考,是不是可以修改分区表,把OS X分区的类型改回HFS+分区呢。于是借来朋友的Air看GPT命令行工具的man手册,边看边改,最后终于恢复了分区表。具体步骤如下:
查看分区表
-bash-3.2# gpt -r show disk0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 244277768 2 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
244687408 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
245956944 1712
245958656 32768 4 GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
245991424 117413888 5 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
363405312 1272
363406584 88574216 6 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
451980800 1269536 7 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
453250336 13409728 8 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
466660064 262144
466922208 11456608 9 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
478378816 262144
478640960 11331608 10 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
489972568 262151
490234719 32 Sec GPT table
490234751 1 Sec GPT header里面包含了分区起始位置,分区大小,分区编号,分区类型。
我想只要记住分区起始位置,分区大小,分区编号,然后删掉分区,再用同样的参数建立分区,只是把分区类型改为HFS+即可恢复。
根据查看Air上的分区表我知道了windows分区类型为EBD0A0A2-B9E5-4433-87C0-68B6B72699C7,HFS分区类型为48465300-0000-11AA-AA11-00306543ECAC。
卸载磁盘
-bash-3.2# diskutil unmountdisk disk0
Unmount of all volumes on disk0 was successful
删除分区(先用最后一个分区作实验,如果成功,其它分区依此类推即可)
-bash-3.2# gpt remove -i 10 disk0(参数 -i 后面跟需要删除的分区编号,这里我要删除最后一个分区,所以编号是10)
disk0s10 removed(分区删除成功)
建立HFS分区(由于动了分区表,磁盘已经自动重新挂载,所以需要再次卸载磁盘)
-bash-3.2# diskutil unmountdisk disk0
Unmount of all volumes on disk0 was successful
-bash-3.2# gpt add -b 478640960 -s 11331608 -i 10 -t 48465300-0000-11AA-AA11-00306543ECAC disk0(-b是起始扇区-s是扇区数量,即分区大小-i是分区编号-t是分区类型,前面3个参数要和删除之前一模一样,-t要用HFS分区类型,即48465300-0000-11AA-AA11-00306543ECAC)
disk0s10 added(分区添加成功)
到这里,我急于看看是否和我预想的一样,我就重启了,按住option键,出现了1个windows和1个OS X分区,看来我成功了,选择OS X分区,启动成功。于是我又用U盘引导,把其它OS X分区都用这个方法修复了一遍,所有OS X分区都回来了。
到这里就修复完成了。写给和我遇到同样问题的锋友,少走弯路,不丢数据。
OSX修复GPT分区表过程相关推荐
- linux expect 扩容磁盘,openstack VM 磁盘扩容,修复 GPT 分区,更新分区表后,拉伸文件系统...
openstack VM 磁盘扩容,修复 GPT 分区,更新分区表后,拉伸文件系统 2014-06-23 分类:Hardware 标签:Openwrt Route 起因 之前,厂里 openstack ...
- uefl计算机mbr分区方案,免重装系统 手把手教你MBR转GPT分区表-电脑教程
前不久我们在<硬件大讲堂:MBR和GPT分区表的那些事儿>一文中介绍了操作系统引导以及MBR和GPT分区表的知识,在UEFI+GPT大范围普及前,虽然很多用户的平台都已经可以享用新技术带来 ...
- linux分区表mbr改gtp,免重装系统 手把手教你MBR转GPT分区表
前不久我们在<硬件大讲堂:MBR和GPT分区表的那些事儿>一文中介绍了操作系统引导以及MBR和GPT分区表的知识,在UEFI+GPT大范围普及前,虽然很多用户的平台都已经可以享用新技术带来 ...
- 联想笔记本出厂预装Win8改装Win7的操作步骤及常见问题(GPT分区表)
修改前的注意事项: 若您确定要将您笔记本预装的Windows 8系统改装为Windows 7系统,请注意如下重要事项: 1. 由于您笔记本预装的Windows 8系统需要使用BIOS中的UEFI功能及 ...
- 重装系统会不会丢失mysql表_MBR转GPT要重装系统吗?不丢失数据 MBR转GPT分区表教程 (全文)...
在UEFI+GPT大范围普及前,虽然很多用户的平台都已经可以享用新磁盘分区技术带来的优势(诸如显著优化了系统启动速度等),但是绝大多数用户并没有很好的利用它,依然选择了传统的Legacy+MBR模式, ...
- 装机、做系统必备:秒懂MBR和GPT分区表____转载网络
装机.做系统必备:秒懂MBR和GPT分区表 科技美学 2016-10-17 16:36:23 阅读(3835) 评论(4) 很多网友询问MBR和GPT的问题,涉及到硬盘操作系统的安装,其实除了MBR和 ...
- 大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2
大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2 | Rootop 服务器运维与web架构 现在有个磁盘阵列,做的raid5,大小为3T,,介于BIOS对硬盘最大寻址为2TB ...
- Linux系统使用GPT分区表方案推荐
使用UEFI模式+GPT分区表 的推荐分区方案 UEFI with GPT 挂载点 分区 建议大小 文件系统 分区类型 (GUID) /boot or /efi /dev ...
- 在STM32上实现NTFS之4:GPT分区表的C语言实现(1):主GPT表头的实现
题外话:在荒废了很久没有更新之后--某日突然收到读者的站内信!内容大体是询问GPT分区表信息的读取方式,笔者激动万分之下,决定继续解剖NTFS--其实GPT严格上不算是NTFS的内容, GPT和MBR ...
最新文章
- java进阶 线程池 join用法总结:thread4.join();方法,就表明thread4.join();这个线程受到贵客待遇,直到这个线程执行完,被插入这个方法的载体线程才可以执行。
- 《R语言实战》第4章
- 电脑开机3秒就重启循环_3秒开机不是梦,泰捷WE40旗舰升级版体验
- 基于SmartQQ协议的QQ聊天机器人-4
- node-inspector 在chrome里调试node代码
- Tcp与Ip协议的客户端和服务器编程
- c语言数组与函数,C语言的数组与函数
- 创业者总认为自己能力很强,但能力之上是认知力
- SQL Server安全性和基于策略的管理–高级条件
- IDEA运行main,junit方法报错Class not found
- lstm数学推导_ICML 2019 | 神经网络的可解释性,从经验主义到数学建模
- 用友中标:打造新一代云化ERP 落地大型企业互联网+
- Oracle autotrace使用说明
- Unity3D视频教程-传智-专题视频课程
- SAT数学公式之几何图形
- 物联平台纷争,能否拯救智能硬件?
- Spring源码浅析之AOP、Aspect、Advice
- NBA历史上最长的连胜和连败纪录!
- 写网站没有模板?这几个可以下载模板的网站,非常惊艳
- 关于ssdp局域网发现