
随着2020年11月M1芯片--一系列基于ARM的系统芯片(SoC)--的推出,苹果已经远离了x86架构。 换句话说,用户将发现很难在新的苹果电脑上运行多个操作系统。
这个库比蒂诺巨头在2006年开始使用英特尔芯片,这使得用户可以在苹果电脑上运行Windows。你可以通过Bootcamp或虚拟化软件在Mac上使用Windows。
自从引入M1芯片后,很多苹果用户都要求实现互操作性。以此为线索,Parallels去年推出了其Parallels Desktop for Mac虚拟化的一个版本,可以在基于M1的苹果电脑上使用。然而,有一个问题。该软件要求你使用为在ARM处理器上运行而设计的Windows版本,称为Windows 10 for ARM64。
另外,像Asahi这样的项目,是第一个可以在基于M1的苹果电脑上原生安装的Linux发行版,提供了一线生机。类似的项目也正在进行中。
历史
微软和苹果有着非常复杂的关系。当苹果在80年代推出其Macintosh电脑时,比尔-盖茨曾说微软在Mac上的工作人员比苹果多。然后,微软与苹果紧密合作,为苹果的个人电脑创建程序。
1994年,苹果公司发布了一款配备英特尔80486 DX2/66处理器的Macintosh,允许其用户在一台电脑上运行其两个操作系统。1996年,苹果公司推出的Power Mac 4400也支持Windows。
一年后,Connectix发布了Virtual PC,让用户在macOS中运行Windows,而不必重新启动。很快,Virtual PC成为在苹果电脑上运行Windows的最流行方式,直到2006年。
是什么让M1上的Windows变得困难?
苹果不提供Windows的驱动程序。另外,由于苹果公司不再使用x86 CPU,开发商就更难介入并提供这些驱动程序了。
苹果在其SoC上实现了一个非标准的中断控制器,称为苹果中断控制器(AIC),这使得在M1芯片驱动的苹果上运行Windows很困难。
ARM64的Windows内核不支持AIC(绝大多数运行Windows的ARM64系统都使用一种叫做通用中断控制器的中断控制器标准)。
另外,苹果的MMU同时支持16K和4K页面,据我们所知,IOMMU只支持16K页面,这给与Windows进行硬件通信带来了挑战。
故障排除
直接的解决方案是微软让Windows 11适用于所有ARM变体。然而,去年,微软表示Windows 11不会为采用M1处理器的苹果电脑提供正式支持。
苹果也可以推出Boot Camp的支持--同样,这种机会仍然很渺茫。
"值得庆幸的是,已经有一个非常轻量级的、开源的苹果硅平台管理程序,效果很好。见过m1n1,朝日集团的人正在使用引导程序在他们的实现上引导UBoot。这个引导程序也是一个非常轻量级的管理程序,我可以对其进行调整,使其可以用于在EL1中启动我们的UEFI固件并使Windows运行。(开发者Arminder Singh说:"现在的工作是在m1n1的自定义分叉中进行的,一旦我验证了UEFI启动成功,我将把这些变化推到主线m1n1中)。
Asahi Linux项目的成功为在苹果M1芯片驱动的计算机上运行Windows打开了大门。
Asahi Linux项目
Asahi Linux项目是在苹果宣布新的M1芯片后不久启动的。"我们的目标不仅仅是让Linux在这些机器上运行,而且要把它打磨到可以作为日常操作系统使用的程度。做到这一点需要大量的工作,因为苹果硅是一个完全没有记录的平台。特别是,我们将对苹果的GPU架构进行逆向工程,并为其开发一个开源驱动程序,"根据他们的网站。
开发人员通过调整现有的驱动程序,并在许多情况下编写自己的驱动程序,工作了几个月。今年早些时候,该团队终于向公众推出了该软件。