Mac lion 下 Windows 的多分区

首先一个比较奇葩的问题是,2011 款的 Macbook Pro 貌似不能从 usb-cdrom 启动了,这个就悲催了,一开始以为是自己量产的过程有问题,但是其实心里还是稍微有点把握不是这个地方出错的,因为同样的量产工具,同样的方法和同样的 Win7 镜像在另外一个 Macbook Air 上是可以正常的使用的,当时没有查资料,纯凭自己想,没有找到比较能说服自己的原因,于是 google 之

对于上述问题,解决方法是,自己刻一张,或者买一张,Win7 的安装碟,然后用 Macbook Pro 的内置光驱装,这样就比较顺利。

另外,对于 lion 的重装问题,可以参考这两个文章,http://mac.pcbeta.com/thread-5…, http://mac.pcbeta.com/thread-5…

于是接下来的问题就是 Windows 下的多分区,在这个问题上,lion 和之前的 snow leopard 又不一样,由于 lion 引入了一个叫做 revocery 的分区,于是占用了原本就为数不多的 MBR 分区表的主分区位,在原来的 snow leopard 上,分区结构是这样的

  1. 200M 左右的 EFIt 引导分区
  2. 剩余空间全部是 Mac OS

而在 snow leopard 上使用 boot camp 装上了 Win7 之后,分区结构变成了

  1. 200M 左右的 EFIt 引导分区
  2. 分割时设置的 Mac OS 大小
  3. 分割时设置的 Win7 大小

可以看到一种只有 3 个主分区,于是根据 MBR 的分区机制还能够再划一个主分区,这个操作,使用 Win7 本身的磁盘管理工具就可以完成,在 Windows 的分区上选择压缩卷,把压缩出来的空间,再用作一个数据分区,就变成这样

  1. 200M 左右的 EFIt 引导分区
  2. 分割时设置的 Mac OS 大小
  3. 分割时设置的 Win7 大小
  4. Windows 下的数据分区

于是到此为止,snow leopard 下的多分区就基本解决了

但是 lion 不一样,在 lion 上,最初的分区结构是

  1. 200M 左右的 EFIt 引导分区
  2. 剩余空间大部分是 Mac OS
  3. 磁盘的最后还有 600M 的 recovery 分区

而且这个 recovery 分区还有一个比较特异的表现,在于我们进入 recovery 分区内的临时系统之后,他展示在磁盘工具的结构,是独立于原来磁盘的一个单独的磁盘,这个不知道是什么原理

但是,不管怎么说,在上面的情况下,如果再安装一个 Win7 的话,那么磁盘就变成了

  1. 200M 左右的 EFIt 引导分区
  2. 分割的 Mac OS
  3. 分割的 Win7
  4. 磁盘的最后还有 600M 的 recovery 分区

4 个 MBR 分区表记录都耗费完了,没地方再划多分区了,对于这个问题,这里有一种解决方案,http://mac.pcbeta.com/thread-6…

1.双系统:MAC +Windows7.
2.有二个共享盘,都是NTFS格式.我是这样使用的:一个是WINDOWS下的软件和只有Windows可以运行的网络游戏(下图中的SOFT),另外一个是2个系统共享的程序和文档照片电影什么的。
3.mac可以访问WINDOWS的所有磁盘,WINDOWS就没有装访问HFS+分区的驱动了.这样防止WIN干扰MAC系统安全.
4.有单独的Time Machine备份盘.可以给MAC系统备份,也可以把一些MAC下的大软件安装到这个位置.
没有备份移动硬盘的朋友可以分这个区出来.(第一个图的Tima Machine磁盘分区)

需要注意和准备的地方:
1.如果mac机器是使用过一段时间的,把私人的文件事先拿移动硬盘备份好,因为要全盘格式化.
2.MSDOS的分区只能分3个,windows只能用到这3个.(windows的MBR只认4个主分区)系统要装在最后一个上面.windows系统分区后面随便分多少区!最多128个!
3.事先准备好一张MAC os X的安装碟,机器买的时候送的那张.或者拿U盘做一个.
4.还有下载一个ISO格式的windows7的安装碟,最好下小于4.5G的,方便刻盘.拿MAC的刻录机刻一份windows7的安装碟.
5.系统安装的时候注意安装的位置,别选错分区了,错了很麻烦,可以根据大小来选择比较保险.
下面步骤是我全新安装一次MAC OS和WINDOWS 7,原来硬盘所有东西都会没有,大家注意备份.
1.插入随机带的mac安装光盘开机按住OPTION(ALT)启动光盘.
2.选择完语言之后直接点上面”实用工具”里的”磁盘工具”,
选择本机的硬盘,先抹掉,也就是把磁盘全部格式化一次,这样所有数据都没了,磁盘也干净了之后再点”分区”–”卷宗方案”–”当前”选择”5个分区”,再拉动分区中的”点”调整下你需要的大小
3.接着把分好区的上面3个磁盘都改成MSDOS模式。也就是windows能访问到的3个磁盘.下面2个默认是MAC日志模式不要动就可以了
分区的大致信息和解释:
分区1(隐藏):隐藏的200M的EFI分区 #在MAC下看不见,在Windows磁盘管理里可以看到!不能删除,MAC需要它.
分区2(SHARE):共享分区 #MS-DOS(fat)格式 #这个是WINDOWS能读写的第一个分区
分区3(SOFT):Windows程序分区 #MS-DOS(fat)格式 #这个是WINDOWS能读写的第二个分区
分区4(BOOTCAMP):Windows系统分区 #MS-DOS(fat)格式 #Windows只能装在这个分区,也就是第4个分区,具体的为什么要装这里大家自己百度吧!
分区5(MAC OS X):Mac系统分区 #Mac OS 扩展(日志式) #MAC随便装在什么区,分区4以下你可以随便分多少个区,MAC可以安装到5分区–128分区任意一个分区上面.
分区6(Time machine):Time machine备份分区 #Mac OS 扩展(日志式) #这个是单独给MAC的Time machine备份的分区.Time machine真的很实用.
……………
下面如果需要就自己分吧.但是只能是”Mac OS 扩展(日志式)”格式的,只能在MAC里面看到.
4.关闭”磁盘工具”,继续把MAC OS X 安装到看见的第5个分区里。
5.安装好MAC之后重启,换一张WINDOWS 7的安装光盘(我是去JUJU猫那里下了个世界杯64位的版本,拿IMAC的刻录机刻了一张盘,以前PC电脑安装都是U盘)。开机按住OPTION(ALT)从WINDOWS光盘启动,磁盘选择第4个磁盘,注意要看磁盘大小来选择,别选错了,把磁盘格式化成NTFS要不然不能继续.按照WINDOWS 7的顺序安装到重新启动之后,再按住OPTION(ALT)从光盘启动一次。最后一次重启按住OPTION(ALT)从MAC启动。在这里不让安装继续是因为MAC的27寸的显卡和windows7自带的ATI显卡驱动有问题,要吧那个驱动删了. 22的imac就跳过这步和下面第6步,只有老款27寸的imac有这个bug.
6.(老款21.5的imac就跳过这步,只有27寸的imac有这个bug)进入MAC,安装一个”Paragon ntfs for mac”,把WINDOWSsystem32drivesAtikmdag.sys 删除了!接着再进入WINDOWS就不会黑屏了.
7.重新启动机器,按住OPTION(ALT)从WINDOWS磁盘启动,进入WINDOWS后安装BOOTCAMP 3.1和BOOTCAMP驱动就OK啦!
8.这样2个世界上最先进的系统就一起安装到机器了.可以相互共享文件.以后重装系统就直接分区抹掉再装就OK了!

这个方法的问题在于,他没有提到 recovery 分区,物理上来说, recovery 是在同一个磁盘上的,那么如果抹去全部的分区, recovery 也应该不复存在,而且,实际操作中,我也尝试过,抹掉全盘所有的分区,重新启动之后,确实没有看到 recovery 分区,问题在于, EFIt 也是占用着一个分区的啊,这么说来,在我执行了抹掉全部分区的操作之后,应该也把 EFIt 干掉了,那么直接都开机都开不起来的。另外,我还发现,虽然说抹掉之后在启动界面没有看到 recovery ,但是在进入了 U 盘上的临时系统之后,还是可以看到 recovery 的那个 base system 还在那里的,这又是怎么回事,这么来看,难道是硬盘固件层面的问题?在硬盘固件上就对操作系统表现为一个不受抹掉操作影响的 EFIt 和一个看似独立物理存在的 recovery ?不过在抹掉重新分区的界面,是可以选择使用 MBR 分区表的啊,那么就是说,操作系统还是可以动 EFIt 分区的吧,另外,事实上,在 Windows 的磁盘工具中,看到的 recovery 也是在同一块硬盘上的,而且也是可以被操作的,只是当时没有去操作而已。

抛开上面的疑问不说,继续回到多分区的问题,其实对于多分区的实现,我还有另外一个思路:在 boot camp 成功的划分出两个分区,并安装好 Windows 之后,回到 Mac ,在 Mac 上使用磁盘工具,把原来的 Mac 操作系统分区,压缩分割,再挤出一个 FAT 的分区来,这个思路也不是没有尝试过,只是在分区的时候,Mac 的磁盘工具提示,可能会导致 Windows 无法启动,所以就没有确定了,其实,这个地方造成的 Windows 无法启动,原因应该在于引导吧,那么,使用 Windows 的安装光盘修复一下,或许可以解决。如果这个思路可以的话,我还有一个进一步更加异想天开的想法:在 MBR 中存在扩展分区和逻辑分区的概念,虽然说在 GUID 中已经不再留存了,但是,如果 Mac 上的 GUID 是向后兼容与 MBR 的话,那么,我们是否可以在上述方法的基础上,把那个分区做成扩展,然后在里面划逻辑呢。

从实现上来看,硬盘的第一个扇区,也就是 512B 的引导扇区中,MBR 占用了 446B,剩下的 64B 是 DPT 硬盘分区表(Disk Partition Table),还有 2B 的“55 AA”是结束位标记,64B 的 DPT 就是为什么只能划分 4 个主分区的原因了,因为他是定长的,无法伸缩,于是自然是无法装下划出来的那么多个逻辑分区的,而所谓的扩展分区,其实只是一个指针类型的东西,指向的是第一个逻辑分区的位置,再由第一个逻辑分区再往后指,呵呵,很像单向链表吧,下午试试这个

===========================================================

2012-08-13 19:56:51 update 貌似扩展分区和逻辑分区这个思路确实可行,看起来 GUID 的向后兼容还是很好的,另外,由于恶心的 Win7 不支持从图形界面创建扩展分区,于是需要命令行,参考这里,http://zww.me/archives/25465

  1. win键 + r,输入 cmd 回车进入命令行
  2. 直接键入 diskpart 运行 diskpart,进入 diskpart 命令模式
  3. 输入 list disk,显示磁盘列表,如果你有几个硬盘,会显示出 0、1、…
  4. 如你要分区的硬盘是第一个(0),输入 select disk 0 选择第一块硬盘
  5. 然后输入 create partition extended 建立一个扩展分区
    注意:这个扩展分区会包括所有的空余磁盘空间。
    要限制扩展分区大小需要用参数 size 在后面限制,如 size=1000 (默认单位是MB)。

另外附上 Mac 命令行下查看分区状态的命令行,

diskutil list

Leave a Reply

Your email address will not be published. Required fields are marked *