简单的来讲,苹果的产品线可以分为基于IOS + ARM
的移动触屏设备和基于Mac OS + Intel X86
的电脑设备,无疑苹果移动设备的成功帮助苹果坐实了世界市值最高的公司,相比之下其个人电脑产品因与微软具有极高的市场占有率的Windows产品并不能很好的兼容以及较高的售价导致没有像其移动设备那样流行,不过苹果电脑还是依靠其独特的审美设计和畅快的用户体验在市面上有着极高的口碑,经常收获艺术品的称赞,如何廉价的收获台电脑界中的艺术品呢,这个世界上有很多急人所急的hacker
,依靠他们对技术深刻的理解以及热爱分享的热心肠,Hackintosh
应运而生。
顾名思义,所谓的Hackintosh
就是安装了Mac OS
系统的非苹果X86
硬件,了解苹果历史的人应该知道苹果的电脑产品大体可以分为三代:第一代使用Motorola 68K
架构微处理器,称为68K Mac
,大体时间段为1984年到1997年;第二代采用IBM PowerPC
架构微处理器,称为Power Mac
,大体时间段为1994到2006年;第三代则转用Intel
的X86
架构微处理器,称为Intel Mac
,从05年jobs
在WWDC
上宣布抛弃PowerPC
平台转而与Intel
合作开始。我们平时能接触的PC
几乎都是X86
架构的微处理器,该CPU
市场由两大巨头Intel
和AMD
把持,因此可能很多人都不太理解已经完全转向X86
架构的Mac OS
为什么还需要hack
安装,Windows
和Linux/Unix
可没有这种说法,只要选配适配的硬件组装成主机就可以自由安装。
为什么Mac OS不是“方便”安装的
X86
架构系统
1.Mac OS
适配的处理器架构比较窄,或者说Mac OS
本身就不是一款类似于Windows
通用X86
桌面操作系统,设计之初Mac OS
就只适配于为其设计的硬件系统,甚至即使目前转到了X86
架构上,该系统也只兼容Intel
架构的处理器而不适配AMD
架构的CPU
,计算机系统的架构可以简单理解为CPU architecture <-> OS Kernel + Driver <-> Application
,其中微处理器的架构一般指的是指令集架构(instruction set architecture
),并且划分为CISC
和RISC
两类,属于CISC
的架构有68K
和X86
,属于RISC
的架构有PowerPC
以及ARM
,对处理器架构的适配是在系统内核处实现的,但一套系统的运行不仅仅需要对处理器的适配,另外还有许多核心组件需要兼容,而苹果系统绑定硬件的策略使得系统本身就不具备硬件上的兼容性,这也是在普通X86
硬件安装Mac OS
变得极为复杂的本质原因,很多即使能正常的安装系统但有些设备无法正确驱动。
2.目前计算机采用磁盘作为程序和数据主要存储介质,而磁盘作为外围设备不借助内存CPU
无法直接读取数据,因此若要实现系统内核跟CPU
交互这种计算机正常的运行状态,则需要集成在主板上的引导固件(firmware
)将系统内核加载至内存并移交控制权,既要从磁盘加载程序就要识别磁盘采用的分区(partition
)以及各分区采用的文件系统(FileSystem
)方案,即存在motherboard firmware <-> disk partition <-> partition FileSystem
的对应关系,固件方面从广泛使用的BIOS
发展EFI
,对应的磁盘分区也从MBR
分区表发展到了GPT/GUID
分区表,分区文件系统比较多往往对应于操作系统内核的支持,比如Windows
系统下的FAT32
和NTFS
,Linux
系统的EXT4
,以及Mac OS
的Mac OS Extended
,并且当前操作系统内核比较庞大因此一般需要BootLoader
来加载启动,在系统启动(boot
)流程上Mac OS
采用UEFI+GPT
引导和采用BIOS+MBR
的Windows
有很大不同(目前最新的Windows
和Linux
也支持UEFI+GPT
引导),这也是导致当前很多只支持BIOS
固件的主板安装Mac OS
系统比较麻烦的原因,目前的解决办法是使用Chameleon
和Clover
等BootLoader
,先通过BIOS
引导这些BootLoader
,在由它们引导GPT
分区下的Mac OS
内核,即BIOS -> MBR -> BootLoader -> kernel
,如果是EFI
固件主板引导流程为UEFI -> BootLoader/Kernel
,当然即使最新支持UEFI
固件的主板,在安装近乎定制的Mac OS
系统也会出现各种意想不到的情况,针对这些问题给出修复方案或软件工具的hacker
就形成了Hackintosh
圈。
即使网路上有很多现成黑苹果的方案,但如果你不是极度爱折腾的人特别是那些无法从折腾中获取快感的同学们,还是爱护生命远离黑苹果,当你花费不到一天的时间甚至更短完成黑苹果看着那颗被咬一口的苹果可能油然升起的是种幸福感,但这只是属于少数人的幸福,大部分能快速成功搭建黑苹果的人都做过细致的前期工作浏览论坛购买适配硬件,如果你只是临时起意想把你用旧的电脑装上苹果系统,那往往迎接你的是困惑,受挫以及一事无成的空虚感,本人也曾自认为是一个自信并且爱好折腾的人,若干年前曾经尝试搭建,那种知识完全不够用的窘迫至今记忆犹新。
Hackintosh
论坛推荐,其中有很多让人肃然起敬的大牛,有时候确实觉得人比人气死人,心态很重要,学会膜拜就行了…
http://www.insanelymac.com/
https://www.tonymacx86.com/
如何制作Mac OS安装U盘以及使用VMware安装Mac OS
Step 1 制作Mac OS
系统安装U
盘
1.从App Store
里下载最新版本的Mac OS
,下载完成后就可以在Finder - Application
里找到Install macOS xx
程序,从系统文件组织结构上来讲该程序即是存储在/Application
路径下名为Install macOS xx.app
的文件夹。
2.1.在Mac
上插入U
盘,使用Disk Utility
工具进行GPT
分区格式化操作,操作完成后Mac
会自动挂载该U
盘内分区卷到路径/Volumes/<volume_name>
,然后调用Install macOS xx.app
下的createinstallmedia
命令烧写U盘,完整命令如下:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/<volume_name> --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction
该命令执行后先将整个系统安装app
的内容拷入U
盘,然后在拷入boot files
使得该U
盘可以由UEFI
固件引导,一般当有[Done]
字段回显就意味着烧写完成。(详细参考http://www.iplaysoft.com/osx-yosemite-usb-install-drive.html)
2.2.如果使用Windows
下的TransMac
工具烧写U
盘需要首先制作Mac
系统安装镜像dmg
文件,然后在通过TransMac
程序restore
到U
盘。(详细参考https://www.macx.cn/forum.php?mod=viewthread&tid=2169354)
a.在Mac
桌面新建任意命名文件夹作为即将制作dmg
镜像的卷名,在Mac
系统中镜像名和卷名区分比较明显,当你双击dmg
镜像即挂载镜像时系统会挂载卷名到系统/Volumes
路径下,然后使用Disk Utility
程序File - New Image - Image from Folder..
选择桌面上包含系统app
的文件夹,随意填入镜像的名字,默认该文件夹名即为该镜像的卷名,存储类型为read/write disk image
,因为该操作只是为了通过app
文件内容制作一个合适大小的镜像文件,随后还需要使用createinstallmedia
命令烧写该镜像。
b.双击制作的镜像文件,默认挂载卷到/Volumes
路径下,执行下列命令:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/<volume_name> --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction
注意上述命令中的<volume_name>
是dmg
镜像挂载的卷名而非U
盘挂载的卷,执行该命令后镜像中会被写入额外的boot files
由此可以由UEFI
引导启动。
c.随后打开Disk Utility
程序Images - Convert
,将上述镜像从read/write disk image
格式转变为compressed
。
使用工具打开执行命令前的镜像文件可以看出镜像内只包含app
文件夹。
而执行命令后的镜像文件内增加了许多boot files
。
d.随后打开TransMac
软件使用restore disk image
功能将制作的可引导镜像烧写到U盘。
Step 2 使用Unlocker
工具unlock
Mac OS
虚机
Unlocker
工具可以开启VMware
软件Mac OS
选项,本质上设置了虚机Firmware
为EFI
,该工具可以到insanelymac
论坛(http://www.insanelymac.com/forum/files/category/11-miscellaneous/)浏览下载,执行工具脚本后,新建虚机可以看到Mac OS
选项。
Step 3 使用U
盘安装Mac OS
新建Mac OS
类型虚机,在主机上插入Mac OS
安装U
盘,启动虚机设置虚机connect
可移动U
盘设备,同时敲击Esc
键可进入UEFI
固件界面,在固件内设置U
盘为引导设备,经过一段时间的加载就进入系统安装界面。