他们最终还是做到了.
世上的聪明人大多都干这种事.narf 和 blanka 二人成功地在Intel Mac上安装了 Windows XP.另外一位仁兄 Clay 也就慢了一拍.在翻译获得1万3千美元奖金的两个幸运儿的安装指南之前,先简单说说,免得有谣传和误解认为他们非常复杂而令人崇敬地hack了XP的内核或者非常简单不过just so so地写了个boot loader.
BIOS在机器boot和OS runtime时候都有自己的角色,或是主角,或是配角.在Apple决定转向Intel平台的时候,他们在Firmware上的决策是转向EFI (同时可看Apple在IDF上的presentation,可是说了不少好话哟,Paul在MacWorld上算没白耍宝哈),这是Intel的下一代--拜托,已经“下一代”好多年了,是改成“现代”的时候了吧--BIOS,Intel制定了先前版本的EFI规范,提供了参考实现,并一直在开发和推广自己的 EFI 实现.新一代OS和PC支持EFI基本只是时间问题而不是要不要的问题.最近UEFI刚刚成立,接手EFI此后的工作.用大白话说,EFI BIOS 与 OS 打交道的地方在交接到boot loader和OS runtime时候都有,如果protocol不同,OS 无法调用BIOS,自然就不能正常工作.像XP这种非EFI aware的系统,如果不在OS或BIOS中动手脚,就如同鸡同鸭讲,无论怎样都不能安装,引导和运行.显然,在没有代码的情况下改动XP是件非常头疼的活路,那么动BIOS的手脚就是自然的了.任何读了 EFI spec 或者 Framework for EFI arch spec --如果你不知道在说什么,那说明功课做的不够哟--的家伙,都能想到,Compatibility Support Module,CSM,这是在EFI实现上的兼容层,让EFI BIOS提供legacyB BIOS的行为,进而能让不支持EFI的系统也能正常工作,这些OS用同legacy BIOS一样的方式和EFI BIOS交互,认为自己看到的也是legacy BIOS.目前除了Mac OS外,只有少量几个Linux发行版支持EFI,而且大多是其面向Server的sub版本,因为目前Intel架构的服务器市场上,特别是 Itanium 的世界中,早就清静到全EFI咯.
获胜的两个神仙和接近获胜的Clay使用的方法都类似.搞定CSM,模拟legacy BIOS,骗过Windows,皆大欢喜.
1 介绍
安装XP到Mac分两步
。创建安装介质
。运行安装程序
每个步骤会再有详细介绍
安装XP到Mac分两步
。创建安装介质
。运行安装程序
每个步骤会再有详细介绍
2 准备XP安装CD
2.1 需要:
。原始XP Pro SP2 CD,可以不是可引导光盘,但根目录下应该有i386目录
。下载 winxponmac0.1.zip
。刻录软件,比如Nero Burning ROM
。刻录盘,有条件的话CD-RW,防止一次失败嘛
。一台已经安装XP的PC
。一点时间,嘿嘿,大约20到30分钟
2.2 & 2.3 步骤:
。解压刚才下载的 winxponmac0.1.zip ,如果是用20寸iMac的有钱的主儿,下载这个xom.efi
。解开后有个xp目录
。把原始XP CD中的所有文件和目录复制,拷贝到刚才说的xp目录的src下
。解压后的xp目录下有个nrb文件,用Nero打开即可,label是XP_PRO_SP2
。在nero中,浏览到刚才复制了原始XP文件的目录xpsrc
。把所有文件添加到项目中,是src中所有内容,不是src自己
。现在,正确样子应该是
* XP_PRO_SP2
+-docs
+-I386
+-SUPPORT
而不是
* XP_PRO_SP2
+-src
+-docs
+-I386
+-SUPPORT
。浏览到xppatch,选中并复制所有内容
。点击左边label,复制
。被问道已有I386目录,是否替换的时候,选“全部替换”
。拿boot.img开刀,从nero的“文件”菜单,选“编译属性Compilation Properties ”,快捷键是F7
。有个属性页“启动boot”,在“映象文件image file ”项中,填写解压出来的xpboot.img
。其他几个设置,
“虚拟类型Kind of emulation”中,选“不虚拟No emulation”,
“加载扇区Load segment”,填写“07C0”,
“已加载扇区数Number of sectors”是“4”。
其实后三项的缺省值就是那些,不用改动。
。到”ISO”属性页,
“数据模式Data mode”:“模式1 Mode 1”
“文件系统Filesystem”:“ISO9660+Joliet”
“文件名长度”:“最多为31个字符(级别2)Max of 31 chars (level 2)”
“字符集”:“ISO9660 (标准ISO CD-ROM) ISO9660”
选中这4项:“允许内含8层以上的文件夹Allow path depth of more than 8
”,“允许路径多于255个字符Allow more than 255 characters in path
”,“不要添加“;1”ISO文件版本扩展Do not add the ‘;1′ ISO file version extension”和“允许Joliet名称多于64个字符Allow more than 64 characters for Joliet names”
同样,这几项的缺省值也就是这些
。保存项目
。刻盘
“结束光盘Finalize CD”项应该选中
。好,到这一步,就是传说中的Mac可用的XP安装光盘了
2.1 需要:
。原始XP Pro SP2 CD,可以不是可引导光盘,但根目录下应该有i386目录
。下载 winxponmac0.1.zip
。刻录软件,比如Nero Burning ROM
。刻录盘,有条件的话CD-RW,防止一次失败嘛
。一台已经安装XP的PC
。一点时间,嘿嘿,大约20到30分钟
2.2 & 2.3 步骤:
。解压刚才下载的 winxponmac0.1.zip ,如果是用20寸iMac的有钱的主儿,下载这个xom.efi
。解开后有个xp目录
。把原始XP CD中的所有文件和目录复制,拷贝到刚才说的xp目录的src下
。解压后的xp目录下有个nrb文件,用Nero打开即可,label是XP_PRO_SP2
。在nero中,浏览到刚才复制了原始XP文件的目录xpsrc
。把所有文件添加到项目中,是src中所有内容,不是src自己
。现在,正确样子应该是
* XP_PRO_SP2
+-docs
+-I386
+-SUPPORT
而不是
* XP_PRO_SP2
+-src
+-docs
+-I386
+-SUPPORT
。浏览到xppatch,选中并复制所有内容
。点击左边label,复制
。被问道已有I386目录,是否替换的时候,选“全部替换”
。拿boot.img开刀,从nero的“文件”菜单,选“编译属性Compilation Properties ”,快捷键是F7
。有个属性页“启动boot”,在“映象文件image file ”项中,填写解压出来的xpboot.img
。其他几个设置,
“虚拟类型Kind of emulation”中,选“不虚拟No emulation”,
“加载扇区Load segment”,填写“07C0”,
“已加载扇区数Number of sectors”是“4”。
其实后三项的缺省值就是那些,不用改动。
。到”ISO”属性页,
“数据模式Data mode”:“模式1 Mode 1”
“文件系统Filesystem”:“ISO9660+Joliet”
“文件名长度”:“最多为31个字符(级别2)Max of 31 chars (level 2)”
“字符集”:“ISO9660 (标准ISO CD-ROM) ISO9660”
选中这4项:“允许内含8层以上的文件夹Allow path depth of more than 8
”,“允许路径多于255个字符Allow more than 255 characters in path
”,“不要添加“;1”ISO文件版本扩展Do not add the ‘;1′ ISO file version extension”和“允许Joliet名称多于64个字符Allow more than 64 characters for Joliet names”
同样,这几项的缺省值也就是这些
。保存项目
。刻盘
“结束光盘Finalize CD”项应该选中
。好,到这一步,就是传说中的Mac可用的XP安装光盘了
上述Nero中中文为Nero中文版之显示,非本人翻译,为保证准确或照顾未使用中文版的哥们,保留了双语。
2.4 Possible Mac-Only Solution 意思不大,就不翻了
3. 安装XP
Intel Mac需要重新分区才能安装,虽然我们相信在玩儿XP on Mac的哥们儿都不是菜鸟,还是保险起见,说明一声,你得知道分区意味着什么。
3.1 需要:
。Intel Mac
。前面制作的XP光盘
这两点很像废话
Intel Mac需要重新分区才能安装,虽然我们相信在玩儿XP on Mac的哥们儿都不是菜鸟,还是保险起见,说明一声,你得知道分区意味着什么。
3.1 需要:
。Intel Mac
。前面制作的XP光盘
这两点很像废话
3.2 & 3.3 步骤
。亮出用OSX安装CD
。按住C键启动,直到看到灰色的apple logo,在语言选择对话框回车,菜单选中Utilities->Disk Utility
。创建两个大小相同的分区,不妨大小一样
Partition *1 - Name: xp. Type: MS-DOS
Partition *2 - Name: osx. Type: Mac OS extended Journal
。太详细的操作好像没啥说的,完了后,左边的disk entry 下会出现XP和OSX两个子entry
。分区完毕,退出disk utility
。把OSX安装到刚创建的OS X分区上,无非是continue几次,agree一下,再continue和等待即可,最后是重启
。启动进入OSX,完成注册等过程
。在桌面,从Go -> Utilities -> Terminal进入命令行
。复制xom.efi到自己的主目录,然后:
sudo cp xom.efi /System/Library/CoreServices < -- sudo 自然要密码啦
cd /System/Library/CoreServices
sudo bless --folder . --file xom.efi --setBoot
。插入刚才制作的XP光盘,重启
。重启后 ,晶莹的Apple logo会出现在屏幕中间,用上下键选择OSX或者Windows,只要那张XP光盘在光驱中就好,这儿我们自然是选Windows了
。...... 就要进入XP安装咯
。从选择菜单选中Windows后,可能会有一段时间(2.5分钟大约)屏幕没有任何反馈,不要着急
。然后就出现显示分区的界面,大概示意为
E: Partition1 (EFI) [FAT32] 200 MB ( 196 MB free)
C: Partition2 [Unknown] 78160 MB ( 78159 MB free)
F: Partition3 [Unknown] 77839 MB ( 77839 MB free)
大小不是问题,记得选中Partition 2,这最关键--当然,你不会傻到用Windows的安装程序再分区。
。后面的装XP的时候都遇到过,比如选格式化成NTFS/FAT,这一步非常重要,如果没有出现询问文件系统的界面,前面的工作可能搞砸了
。装XP大家总会的吧
。XP安装中有一次重启,记得不要再从CD启动了--这和PC一样的,没什么神秘,在选OSX还是Windows的界面中自然还是Windows了
。在完成XP安装后,安装程序可能会呈现挂掉的样子,等,耐心地等,然后,知道确认系统真的frozen 了,长按电源键关机即可
。开机,完成安装
。大功告成
。亮出用OSX安装CD
。按住C键启动,直到看到灰色的apple logo,在语言选择对话框回车,菜单选中Utilities->Disk Utility
。创建两个大小相同的分区,不妨大小一样
Partition *1 - Name: xp. Type: MS-DOS
Partition *2 - Name: osx. Type: Mac OS extended Journal
。太详细的操作好像没啥说的,完了后,左边的disk entry 下会出现XP和OSX两个子entry
。分区完毕,退出disk utility
。把OSX安装到刚创建的OS X分区上,无非是continue几次,agree一下,再continue和等待即可,最后是重启
。启动进入OSX,完成注册等过程
。在桌面,从Go -> Utilities -> Terminal进入命令行
。复制xom.efi到自己的主目录,然后:
sudo cp xom.efi /System/Library/CoreServices < -- sudo 自然要密码啦
cd /System/Library/CoreServices
sudo bless --folder . --file xom.efi --setBoot
。插入刚才制作的XP光盘,重启
。重启后 ,晶莹的Apple logo会出现在屏幕中间,用上下键选择OSX或者Windows,只要那张XP光盘在光驱中就好,这儿我们自然是选Windows了
。...... 就要进入XP安装咯
。从选择菜单选中Windows后,可能会有一段时间(2.5分钟大约)屏幕没有任何反馈,不要着急
。然后就出现显示分区的界面,大概示意为
E: Partition1 (EFI) [FAT32] 200 MB ( 196 MB free)
C: Partition2 [Unknown] 78160 MB ( 78159 MB free)
F: Partition3 [Unknown] 77839 MB ( 77839 MB free)
大小不是问题,记得选中Partition 2,这最关键--当然,你不会傻到用Windows的安装程序再分区。
。后面的装XP的时候都遇到过,比如选格式化成NTFS/FAT,这一步非常重要,如果没有出现询问文件系统的界面,前面的工作可能搞砸了
。装XP大家总会的吧
。XP安装中有一次重启,记得不要再从CD启动了--这和PC一样的,没什么神秘,在选OSX还是Windows的界面中自然还是Windows了
。在完成XP安装后,安装程序可能会呈现挂掉的样子,等,耐心地等,然后,知道确认系统真的frozen 了,长按电源键关机即可
。开机,完成安装
。大功告成
目前,安装好的XP下可以工作的硬件有光驱,以太网,Airport Extreme 无线(MacBook Pro 和 iMac可以,Mac Mini不行),USB,1394和声音。MacBook Pro上的电池状态也可以识别。不能工作的:所有型号的iSight摄像头,遥控器,video驱动(除非跳到不要硬件加速),蓝牙;MacBook Pro不能工作的有屏幕亮度调节(总是记住上次OSX回话里设置的亮度),numlock,delete,还有键盘背光。
记住,此法只能让XP SP2工作,即便SP1都不行。目前,Media Center Edition 和 Tablet PC Edition 也不行,不过有哥们已经说只要把MCE 2005 的两张光盘合并到一块,比如一张DVD上,也可以。
关于OSX所在的分区和Windows的分区。Windows只能读写FAT,FAT32和NTFS(那些第三方程序就不要提了,扯远了点),OSX可以支持FAT32的读写。不过只能mount NTFS为只读。要从Windows读/写HFS+,只有用第三方程序了,比如MacDrive 。
有哥们在FAQ上问,能不能玩 Half-Life 2,强。答案是,不能。目前还没有可以工作的video driver 。不要灰心,可能会快会有解决办法。
今天(UPDATED:头晕了,已经是凌晨,该是今天了)可能没空,明天我继续写下更多说明,包括Clay的blog,有更多关于实现的技术内容,欢迎阅读。
(转载当日删除的段落,再次向刀枪Blue道歉!)

新闻来源:刀枪Blue