比思論壇

標題: 普及不得不看的知识!苹果的分区格式之gpt-mbr混合磁盘 [打印本頁]

作者: stevenfm    時間: 2019-5-30 15:23
標題: 普及不得不看的知识!苹果的分区格式之gpt-mbr混合磁盘
  1. Intel Mac使用新的gpt格式(英特尔EFI标准的一部份,用来取代老式的PC BIOS)的磁盘分区表,Windows使用老式的MBR格式,Linux可以用两者中的任何一种,但是grub只认MBR格式。gpt磁盘可以有128个主分区,所以没必要有扩展分区的概念,MBR磁盘最多有四个主分区,所以用扩展分区和逻辑盘符来弥补。典型的windows磁盘其实只有两个主分区,c 盘是一个,d,e,f,...合起来是一个。
  2. 为了在Intel Mac上安装Windows, boot camp 使用了gpt-mbr混合磁盘以及固件模拟BIOS。在这个世界上,目前除了Apple的磁盘工具,没有其他软件能够处理gpt-mbr混合磁盘。(所以不要使用pc上你们熟悉的分区软件,它们会毁掉gpt。这就是说,你应该在一开始就用apple的磁盘工具做好所有分区,以后也只用Apple的磁盘工具)。由于MBR最多只有4个主分区,所以windows只能看到gpt-mbr混合磁盘的头四个分区。
  3.gpt 磁盘的第一个分区(那200m)是EFI系统保护分区。把它删掉以后实际上整个磁盘由原来的gpt-mbr混合磁盘变成了MBR磁盘。Mac os X 不能安装在一个MBR磁盘上,但是安装好以后它可以运行在MBR磁盘上。这就是说,安装好的os x 分区如果克隆在一个mbr磁盘上一样可以运行,安装好os x以后如果删除efi保护分区一样可以运行,但是如果你要重装os x,很可惜,你必须把整个硬盘抹掉重新变成gpt格式。删除efi保护分区还有很多后遗症,比如,你不能进行固件升级。(有些固件升级是很重要的,比如前一阵子的升级解决了键盘在dos状态下不能用的问题,windows可以按f8进安全模式了,从xp安装盘启动在 "press any key to boot from cd" 时也能按键了)
  4. gpt不认识扩展分区。楼主的做法实际上是把整个磁盘变成老式mbr磁盘,然后使用扩展分区和逻辑盘符。但是逻辑驱动器在os x下面是访问不到的。
  5. 综合以上,为了保持gpt-mbr混合格式,所有分区都应该是主分区,可以把 os x 装在第五个分区或更后,把前面四个windows能认到的分区都留给windows。但是第一个分区不能动,这样windows至多只能有3个分区,这对于多数人应该足够了,分区图如下
  I) EFI保护分区 (这个在os x的磁盘工具底下是隐藏的,在windows的磁盘管理下面可以看到有200兆)
  II)xp 的 d盘
  III)xp 的 e盘
  IV) xp 的 c盘
  V) mac os
  VI) 其他 mac 分区
  VII) 其他分区,linux 等等

  做这个分区表应该用os x安装盘启动,在安装os x之前从工具菜单里选择磁盘工具来进行。注意,分区会抹掉磁盘上的所有数据。efi分区是自动创建并且隐藏的,你只要做剩下的分区就好了。选择前三个分区为ms-dos文件系统。这样磁盘工具就知道你要做一个gpt-mbr混合磁盘。他就会自动创建一个efi分区和一个mbr的主引导记录。然后你安装os x到他应该去的地方。
  如果你想要第四个windows分区,只能按照楼主的方法做,并且忍受后遗症的困扰。
  6. 由于Microsoft的原因,在一个所有分区都是主分区的磁盘里,xp只能安装在第一个主分区或者最后一个主分区里(指的是它所能看到的最后一个分区,在上面的分区图里就是第四个分区)。而上面的第一个分区留给了efi,所以只能装在第四个分区里,否则就会出现著名的 "cannot find hal.dll" 错误。 vista 可以装在第二,三个分区。
  7. 问题来了,在我们的分区图里,如果安装xp,它会把第二个分区认作c盘,如果你选择安装到第四个分区,ntldr等这些启动文件依然在第二个分区,照样要出"cannot find hal.dll"错误。问题出在,xp安装盘把活动分区(active)叫做c盘,如果磁盘里还没有任何被标记为活动的分区,他就把第一个ntfs或者 fat分区标记为活动并且把它叫做c盘。所以我们要在安装xp之前先把第四个分区标为活动。如果我们要做os x、xp、vista三启动,那么很简单,先装vista在第二个分区,然后在vista里把第四个分区标为活动,再装xp即可。完了以后vista里分区2叫做c盘,xp里分区4叫做c盘,如果不打算装vista,可以用某些工具盘启动电脑来把分区4标为活动,或者先把第二三个分区做成非windows格式,让他只好装在第四个分区,完了再用mac安装盘把那两个分区做回来给windows. 将来重装xp不会有问题,因为分区4已经是活动分区了,xp安装盘会把分区4叫做c盘。
  8. 安装windows时注意必须在安装程序里选择格式化c盘,否则windows无法启动。不要在windows里对分区表做任何修改(删除、新建分区)
  9. 我们没有用到boot camp软件。boot camp 不过是帮你无损分区(tiger的bootcamp还帮你刻录windows驱动,leo的bootcamp驱动已经在光盘上了),而我们因为要把os x挪到磁盘后部,已经不可能无损分区,只能全部抹掉重新分区。多分区的系统将来也无法运行boot camp,(也没有运行的必要,他能做的事情磁盘工具也全都能做) 如果你是tiger的,请先刻好windows驱动,不过如果弄丢了也不要紧,虽然无法运行boot camp,照样可以得到驱动盘:右击boot camp助理-显示包内容-在contents-resources下的diskimage.dmg就是驱动盘了,你甚至不必刻录-打开这个dmg,把里头的内容全部拷贝到windows磁盘底下就可以用了。leopard底下没有这个dmg,必须去安装盘上找。
  10. 关于启动引导器
   如果不安装其它启动引导器,mac只支持二重启动。
  三重启动xp,vista,macos的必须用refit: refit.sourceforge.net?
  只装xp和macos的用用refit也不错:漂亮的图形化启动菜单,不用每次按alt来选择操作系统了
  再装linux做四重启动的可以按alt选择os x 和非os x,再用grub来引导xp,vista和linux(确保已经安装固件更新使键盘在grub下能用),也可以装refit来一次性选择操作系统。
  11. 关于重装和恢复系统
  重装macos是ok的,不会影响其它操作系统,但是如果用refit做启动菜单的,要再装一下refit
  重装linux是ok的
  重装windows前,确保你要装的分区是活动分区,否则它不会被正确地标记为c盘。如果只有xp和macos,这没有问题,xp分区一定是活动分区,因为macos不知道什么活动分区也不会去改变它。如果还有vista和/或linux,那么上一次启动的是哪个系统,哪个分区就会被refit标记为活动。反正如果你看到xp安装程序把分区4不叫做c盘你就不要继续了。另外如果把 linux 的 grub 装在主引导记录里的,重装windows会破坏grub,所以建议grub装在分区3用refit做启动引导器。
  如果不想操心什么活动分区,可以用ghost恢复windows系统,请确保已经安装固件更新使键盘在dos下能用。多系统的更简单,在vista下直接用ghost备份和恢复xp分区,同样xp下做vista分区。ntfs格式的可以在macos下克隆和恢复:在网上找这个免费软件 winclone 。
  12. 关于分区在各个操作系统下的可见性
  Macos下可以读写fat,可读ntfs,需要第三方软件写ntfs,需要第三方软件访问linux分区
  windows下只能访问它的三个分区,即使用macdrive等软件也不能访问macos分区,因为它在第四个分区之后,windows认为那个分区根本不存在。这很好,我可不希望windows搞乱mac世界的东西。
  linux可以读写fat,最新的发行版都可以读写ntfs,可以读不能写日志式的mac磁盘,可以读写非日志式的mac磁盘。


作者: jf222    時間: 2022-5-1 05:04
提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 比思論壇 (http://bbb-ccc.shop/) Powered by Discuz! X2.5