Macbook实现OS X+Ubuntu 10.04+XP无损安装法
作者:socractes
先交代下背景:07年末08年初小白, 型号标识符Macbook3,1.升级至最新固件和OS X 10.6.2,安装方法参考了官方的help:Intel CPU-based Macintosh Generic Installation,https://help./community/MactelSupportTeam/AppleIntelInstallation,所以理论上适合于所有主流苹果电脑,但官方XP三系统安装法有缺陷,经过改进后,本方法可以实现三分区启动,并可以无损还原为单一mac分区,不用重装OS X.
作为一个讲说版,下面将以一个基本流程为例,从中加以说明为什么这么做,方便大家了解每个操作步骤的原因.
1.原生态单一OS X默认分区Macintosh HD,格式 Mac OS 扩展(日志式),也就是Hfs+,BOOTCAMP给XP分区,格式FAT32.
*使用BOOTCAMP分区是为了最后能抹去XP还原为单分区Hfs+.
2.使用磁盘工具,依次点击:整个硬盘->分区栏->Macintosh HD->”+”符号,将Macintosh HD分出一个区来装ubuntu,调整合适大小,命名ubuntu,格式 Mac OS 扩展(日志式),->应用.
*因为OS X不识别ext4,所以只能先格式化为Hfs+.
*硬盘所有分区命令必须在OS X下完成,因为OS X能实现GPT-MBR混合格式的分区表同步,但XP和Ubuntu下的分区命令只改变MBR分区表,这会造成无法引导启动OS X.(这个原理是网上一致口吻,其实我也没试过,反正破坏性实验不干,期待小白)
*经过实践,只要分区表不被破坏,是可以使用XP盘或ubuntu盘格式化成NTFS或ext4的,这点与网上说法不一致.
3.安装rEFIt-0.14,安装时别忘了选择自定义安装,勾上rEFIt File System Drivers,加载Linux格式的识别,完成后打开终端,输入:
代码:
cd /efi/refit
./enable.sh
激活rEFIt,安装完后多了/应用程序/实用工具/Partition Inspector,可用来检查GPT-MBR的一致性.
引用:
以下是我的分区表:
*** Report for internal hard disk ***
Current GPT partition table:
# Start LBA End LBA Type
1 40 409639 EFI System (FAT) #/sda1 EFI固件
2 409640 452805055 Mac OS X HFS+ #/sda2 OS X
3 453067200 535177175 Mac OS X HFS+ #/sad3 将来格式化装ubuntu
4 537282560 625141759 Basic Data #/sda4 装XP
Current MBR partition table:
# A Start LBA End LBA Type
1 1 409639 ee EFI Protective
2 409640 452805055 af Mac OS X HFS+
3 453067200 535177175 af Mac OS X HFS+
4 537282560 625141759 0b FAT32 (CHS)
*注意每个磁盘的结束数和下一磁盘的开始数不同,说明中间有空闲区.
4.确认分区表一致,装入XP安装盘,重启电脑,可看见rEFIt引导画面,选光盘安装,直至完成.
*XP安装过程会启动几次,rEFIt默认OS X启动,每次要手动选择从win分区启动.
*选择安装盘符C:\BOOTCAMP,FAT32,可以格式化成NTFS.
*因为OS X磁盘工具分区的原因,每个分区间会存在空闲空间,大小不一,原因不明.
*我的ubuntu区和XP BOOTCAMP区之间隔了1.1G,千万不要为了节约,就修改本来分好的C:\大小,去加上这些空闲空间,一定切记不能修改分区表,否则引导出错.
5.插入ubuntu 10.04安装盘,重启电脑,光盘安装.
6.安装过程第4步,选”手动指定分区(高级)”,第5步更改”/dev/sda3 Hfs+”;选择用于:ext4日志文件系统;挂载点:/.
*这一步将为ubuntu准备的/sda3格式化成ext4.
*注意系统会提示没有交换空间,忽略它,因为XP是MBR分区模式,只支持四个分区,这里分别给EFI,OS X,Ubuntu和XP,不能在有多余分区,其实普通应用电脑内存已经足够了,不需要装交换空间.
7.第8步,确认信息,注意有个高级按键,点击,将安装引导程序放在:/dev/sda3,也就是ubuntu的安装区,千万别放到硬盘前端/dev/sda,会破坏EFI引导.
8.安装ubuntu.
9.重启即完成整个安装过程.至此,默认启动电脑,进入rEFIt引导,有OS X(sda2),Ubuntu(sda3),XP(sda4)三个选项;如果按住option键,进入BOOTCAMP引导,有rEFIt(sda2),Windows(sda3)两个选项.
*rEFIt引导ubuntu后,会再次进入GNU GRUB Version 1.98-1 ubuntu 5引导模式,这里有所有系统的启动选项,但只可以启动ubuntu和XP,实践证明启动OS X失败,但这不重要.
*option引导进入Windows,实质是引导到sda3,也就是ubuntu.
无需重装还原单一Macintosh HD分区
1)确保之前只在OS X下用磁盘工具分区,否则会提示分区表错误,无法变更;
2)/sda3 ext4在OS X下无法识别,显示为Untitled,格式化成 Mac OS 扩展(日志式);
3)磁盘工具->整个硬盘->分区->Untitled Mac OS 扩展(日志式)->”-”符号,删除这个分区,将Macintosh HD下拉到底,合并所有空闲空间;
4)BOOTCAMP卸载XP,还原单一Macintosh HD.
一些深入探讨:
一.MAC分区引导模式
*OS X默认固件EFI(sda1)引导,固执地单一导到OS X所在的Macintosh HD(sda2),未发现修改办法;
*BOOTCAMP可以实现两个引导选项,原Macintosh HD(sda2)和Windows(sda3),这里的Windows只是一个符号,实际就是非常固执地指向sda3,所以无论sda3装什么都能引导成功,网上多数OS X+Linux双系统法多基于此,反之,多分区下XP可能不在sda3,早期人们分区导致XP启动出错,多缘于此;
*APPLE固执地以为用户只需要单OS X或者OS X+XP,所以APPLE官方程序固执地没加入任何三个以上引导功能,就好像他们只在safari里装google以为用户都不用bing或yahoo;
*良好实现三系统引导的程序是rEFIt,其实rEFIt并不会破坏原来EFI固件区(sda1),它是装在sda2的,默认EFI启动sda2后,rEFIt激活,可选择导向sda2,sda3,sda4等等,所以rEFIt是理想的macbook引导程序,这种理想是针对APPLE设计的固执而言的.
二.已经BOOTCAMP安装XP后再装ubuntu的可行性
ubuntu官方help里,先BOOTCAMP安装XP后,Macintosh HD分出空间装ubuntu,那么option键下Windows干脆启动ubuntu,rEFIt下XP启动蓝屏死机;
*这是XP根目录下boot.ini造成的,第一次安装XP后boot.ini默认设置 partition(3)(也就是sda3)启动,分区装ubuntu后,变成ubuntu(sda3),XP(sda4),但boot.ini不变,当然XP启动会死机啦.
解决方案:
启动ubuntu 10.04,访问XP分区,这就是新版ubuntu的优势,可以读写NTFS.
打开boot.ini,将启动磁盘改为XP所在的号码,如EFI(sda1),OS X(sda2),Ubuntu(sda3),XP(sda4)的话,则设置成partition(4),如例:
引用:
原来boot.ini:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
修改后boot.ini
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
重启正常.
三.不使用rEFIt的可行性
其实也是可以的.
安装步骤同上,EFI(sda1),OS X(sda2),Ubuntu(sda3),XP(sda4),但不装rEFIt,按option键可选sda2(Macintosh HD)和sda3(Windows),进入sda3实质是ubuntu,安装ubuntu时已将ubuntu的引导方式GNU GRUB Version 1.98-1 ubuntu 5装在sda3,它支持ubuntu和XP启动.
所以option->Windows,可选择ubuntu或XP.
四.几个要点
*XP只支持MBP,只能最多有四个主分区,mac里EFI和 Macintosh HD就占了俩;
*保证GPT-MBR混合格式的一致性,只能用OS X自带的分区工具;
*格式化不会破坏分区表;
*BOOTCAMP其实就是起分区和引导作用,导向sda2和sda3;
*rEFIt不会破坏原有固件(不想破坏mac原生性是很多人不敢装多系统的原因);
*只要GPT-MBR分区表一致,都可以使用磁盘工具还原成单一 Macintosh HD,无需重装OS X.
五.未知问题
是不是引导程序安装在哪个区,就只能引导后面的磁盘?
*因为 EFI(sda1),OS X(sda2),Ubuntu(sda3),XP(sda4),sda3装了GNU GRUB,可以识别到ubuntu,OS X 32,OS X 64,XP,但只能成功启动ubuntu(sda3)和XP(sda4),启动不了OS X(sda2).
请问这是GNU GRUB本身不支持OS X还是引导程序不支持前面的盘符(sda1,sda2)?
后话:其实EFI引导没那么复杂,上述方法经过我一个周期的测试,从安装到还原再安装成功, 希望能对macbook使用者们有点帮助,也希望能有其他人帮忙完善. |