在不受支持的 Mac 上安装 macOS Monterey 12_sysin。org-程序员宅基地

技术标签: Monterey  macOS  不受支持  

请访问原文链接:https://sysin.org/blog/install-macos-12-on-unsupported-mac/,查看最新版。原创作品,转载请保留出处。

作者主页:www.sysin.org

随着 macOS Big Sur 11.5 的发布,macOS Big Sur 可靠性和性能已经大幅提升,Big Sur 更新的使命已经基本完成。是时候体验和准备迎接 macOS Monterey 了!

1. macOS Monterey 简介

2021 年 6 月 8 日,在今天凌晨举行的 Apple WWDC 2021 大会上,苹果公司正式发布了 macOS Monterey。新版操作系统新功能及特性如下:

macOS-Monterey-bg

  • 照片、消息和更多升级共享 iOS 和 iPadOS 15 的功能

  • 通用控制:可以让你用一种惊人的方式从 Mac 控制其他苹果设备

  • 从 iOS 设备 AirPlay 到 Mac

  • 作为 “自动操作” 的替代品引入的快捷方式应用程序

  • Safari 在所有设备上都重新设计了新的 UI、选项卡组和 web 扩展

macOS-Monterey-feature

按照惯例,macOS Monterey 正式版将在今年秋季正式推送。

2. macOS Monterey 硬件要求

对比 macOS Big Sur 的硬件要求,减少的机型,即本文的目标机型。

3. 本文支持的 Mac 机型

Mid 2013 to 2015:支持,运行良好

请注意这个区间的机型,部分是官方支持,不需要补丁。以下是补丁后可以支持 macOS Monterey 的具体机型列表,相对可以完美运行。本文主要针对这些机型。

机型 Big Sur 兼容 Monterey 兼容 本文目标机型
MacBook 2015 年和后续机型 进一步了解> 2016 年初及后续机型 进一步了解 > MacBook(视网膜显示屏,12 英寸,2015 年初)
MacBook Air 2013 年和后续机型 进一步了解> 2015 年初及后续机型 进一步了解 > MacBook Air(13 英寸,2014 年初)MacBook Air(11 英寸,2014 年初)MacBook Air(13 英寸,2013 年中)MacBook Air(11 英寸,2013 年中)
MacBook Pro 2013 年末和后续机型 进一步了解> 2015 年初及后续机型 进一步了解 > MacBook Pro(视网膜显示屏,15 英寸,2014 年中)MacBook Pro(视网膜显示屏,13 英寸,2014 年中)MacBook Pro(视网膜显示屏,15 英寸,2013 年末)MacBook Pro(视网膜显示屏,13 英寸,2013 年末)
Mac mini 2014 年和后续机型 进一步了解> 2014 年末及后续机型 进一步了解 > N/A
iMac 2014 年和后续机型 进一步了解> 2015 年末及后续机型 进一步了解 > iMac(视网膜 5K 显示屏,27 英寸,2014 年末)iMac(21.5 英寸,2014 年中)
iMac Pro 2017 年和后续机型 (所有机型) 2017 年及后续机型 N/A
Mac Pro 2013 年和后续机型 进一步了解> 2013 年末及后续机型 进一步了解 > N/A

Early 2012 to Early 2013:可以运行,功能缺失,不建议使用

这些 Mac 需要修补 kexts(使用 PatchSystem.sh 很简单)才能获得 WiFi、图形加速和睡眠/唤醒。 但是,即使您修补 kexts,蓝牙也不起作用(因此 “连续互通” 将不起作用)。这是一个相当大的妥协,因此请确保在升级到 Monterey 之前了解这一点。以后可能会改变,暂时就是这样。

蓝牙不工作,Apple Continuity连续互通 将不可用,安装 Monterey 没有意义,建议继续 Big Sur,如果是不受支持的机型,参看文章:在不受支持的 Mac 上安装 macOS Big Sur 11

Late 2011 and Below:不用考虑

这些 Mac 目前不受支持,因为它们需要使用 OpenGL 而不是 Metal 的 Legacy Graphics Acceleration,这需要一段时间。没有它,它们会像文字蜗牛一样运行(想象一下等待 14 秒只为 Safari 关闭)。

4. 安装准备

  1. 下载最新的 Mini Monterey Patcher
    备用:百度网盘链接:https://pan.baidu.com/s/1DDKFQDlGMoECRh6DI6yCAg 提取码:rud6
    下载的文件解压备用。
  2. 下载 macOS Monterey 镜像
    下载后打开镜像,将 “安装 macOS Monterey” App 拖拽到 Applications(应用程序)下。
  3. USB 存储设备 16G 及以上
    可以是 U 盘,甚至是 SD 卡,当然最好是 SSD 的移动硬盘,容量 16G 及以上。

5. 操作步骤

(1)创建启动介质

准备一个 16G 或者以上的 U 盘(或者其他 USB 存储设备,以下简称 U 盘),打开 “实用工具 > 磁盘工具”,选择 U 盘,点击 “抹掉”,格式如下:

  • Mac OS X 扩展(日志式);
  • GUID 分区图;
  • 分区名称:sysin(默认为 Untitled,可以自定义,注意下面终端命令中的 sysin 也要改成你自定义的同样的名称)

打开 “终端”,执行如下命令:

sudo /Applications/Install\ macOS\ Monterey\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/sysin

根据提示输入当前用户密码(sudo 密码),按 Y 确认,等待几分钟即可完成。

注意:创建完毕后,分区名称将自动修改为:Install\ macOS\ Monterey\ Beta

(2)运行 PatchUSB.sh

打开 “终端”,将 Mini-Monterey-Patcher 中的 PatchUSB.sh 拖拽到上面,按回车,根据提示输入当前用户密码(sudo 密码)。

过程如下,完成后,该 U 盘可以用来启动安装了。

$ /Volumes/SN550/Mini-Monterey-Patcher-0.1.0/PatchUSB.sh
Password:
Welcome to Mini Monterey's PatchUSB.sh!
This script is in alpha stages right now, but more will come in the future.

Detecting Installer USB at /Volumes/Install macOS [12/Monterey] [Beta]...
[INFO] Using Install macOS Monterey Beta source.
Installer USB Detected!

Mostly unpatching if needed...

Detecting patches at script directory...

/Volumes/Install macOS Monterey Beta found on device /dev/disk2s2
Patching Boot PLIST...
Patched Boot PLIST

Add Patches.
Added Patches.

Adding Installer Override...
Added BarryKN Hax.

Adding PatchSystem.sh...

Setting up trampoline app...
Setup trampoline app.

Confirming script permissions...
Confirmed permissions...

Theming the installer icon...
Themed (or at least tried to) the installer icon

Finishing drive processes...

Finished Patching USB!
Now installing SetVars tool...
Checking read access to necessary directories...
Access check succeeded.

Volume EFI on /dev/disk2s1 mounted
Detected Mac model is: MacBookPro16,1
Early 2013 or Earily Mac detected, so disabling SIP/ARV.
Installing setvars EFI utility.
Adding icons...
Unmounting EFI volume if we can...
umount(/Volumes/EFI): Resource busy -- try 'diskutil unmount'
Volume EFI on disk2s1 unmounted

Mini Monterey PatchUSB.sh has finished. Refer to the README for instruction on how to continue.

(3)自动执行补丁

重启系统,按住 Option 键不放直到出现启动分区选择画面,此时会额外出现两个图标 “Install macOS Monterey Beta” 和 “EFI Boot”,选择 “EFI Boot”,此时将从 “EFI Boot” 分区启动,等待数秒将自动关机(可能瞬间关机),该过程将执行 disable SIP, disable authenticated root 等操作。

monterey-patch-screen

(4)开始安装 macOS Monterey

重新开机,按住 Option 键不放直到出现启动分区选择画面,选择 Install macOS Monterey Beta,启动后,选择 “磁盘工具”,抹掉系统分区(默认名称为 “Macintosh HD”,格式选择 APFS),开始正常安装过程,具体不在赘述。

直接选择原有系统分区可以升级安装(不推荐,可以用于以后新版 Monterey 的升级)。

如果您的 Mac 是属于 Mid 2013 to 2015 机型,此时已经可以正常体验 Monterey 了。以下步骤可以忽略。


如果您的 Mac 是属于 Early 2012 to Early 2013 机型,需要执行以下额外步骤让 Wi-Fi 和图形加速等功能工作正常。

(5)解决网卡驱动等问题

再次使用 U 盘启动到 “Install macOS Monterey Beta” 分区,启动后,选择 “Utilities (实用工具) -> Terminal(终端)”,执行如下命令(三种格式都可以支持,任选一个,“Macintosh HD” 是默认名称,根据实际名称修改):

/Volumes/Image\ Volume/PatchSystem.sh /Volumes/Macintosh\ HD
'/Volumes/Image Volume/PatchSystem.sh' '/Volumes/Macintosh HD'
"/Volumes/Image Volume/PatchSystem.sh" "/Volumes/Macintosh HD"

(6)重启

重启后正常登录 macOS Monterey,此时 Wi-Fi 修复成功,macOS Monterey 已经基本可以正常运行。但是蓝牙是无法工作的,这将导致 连续互通 功能无法工作。

后续补丁有可能更新来解决此问题,请关注相关项目和本文更新。

6. 常见问题解答

  1. 是否支持 SIP(系统完整性保护) 和 FileVault(文件保险箱)?

    这两项功能都需要关闭,SIP 将在执行脚本过程中自动关闭,FileVault 默认是关闭的,请不要开启。

  2. 无法检测到软件更新,这是正常的,硬件仍然不符合要求,如果需要更新参看下一章节描述。

  3. Recovery Mode(恢复模式)将不可用,这是正常的,可以使用启动 U 盘替代恢复模式,后续版本可能会修复这个问题。

  4. 是否可以重置 NVRAM/PRAM?答案是可以。

  5. 蓝牙和 “连续互通” 功能无法使用,如前所述,请确认已经了解这种情况(后续版本可能会解决)。

7. 如何升级

在 “系统偏好设置” - “软件更新” 中并检测不到最新的系统版本,因为该 Mac 仍然不符合新的系统要求。

如果需要更新,我们需要重复上述步骤,使用新版的 macOS Monterey 镜像重新安装,只是在操作步骤(4)中,不要抹掉分区,直接选择原来的分区进行安装,将自动进行系统升级。

未尽事宜请访问项目主页:Mini Monterey Patcher

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/netgc/article/details/119032083

智能推荐

【Centos 7】---vim环境配色(colorscheme)配置_centos7 vim 加颜色-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏6次。【Centos 7】—vim环境配色引言:elflordbluedarkbluedefault_centos7 vim 加颜色

关于NIST随机数测试软件报错问题的补充_nist测试报错error: log files could not be opened. max -程序员宅基地

文章浏览阅读1.2k次,点赞8次,收藏13次。关于NIST随机数测试软件报错问题的补充待测试文件的格式与内容关于文件格式关于文件内容运行算法时的参数选择bit流大小和数量选择测试项NIST随机数测试算法相关测试软件的下载、安装、Cygwin环境配置等等已经有很多博客反复讲述过了,这里不再多说。但是我发现在我的实际使用过程中遇到了很多意想不到的bug,我也留意到,在相关博客的评论区里,有很多朋友提到了相似的报错内容、相同的困惑。可问题在于CSDN甚至全网都无法找到详细的关于这个算法报错内容的解析。所以这里我尝试总结一下避免错误使用NIST测试软件的T_nist测试报错error: log files could not be opened. max # of opened files has

程序员的各种表情_代码有bug但是能跑表情包-程序员宅基地

文章浏览阅读4.5k次。前段时间发现了一篇很有意思的文章,很形象地说明了程序员日常工作中遇到某些事情时的反应。按原作者的话来说,那就是:只要是程序员,看到下面这些表情图都会产生共鸣。注意:有的图片比较大,加载较慢的话请稍等一会儿。当你发现一个完美的库,可以完成你之前花大量时间从头开发的功能时:当你在开发一个较为复杂的算法时:当你的代码没有正常执行,你却不知道原因时:_代码有bug但是能跑表情包

String.replace() 替换字符串中指定的字符_string中替换字符串中的某个字符-程序员宅基地

文章浏览阅读10w+次,点赞16次,收藏85次。String.replace() 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串语法: stringObject.replace(regexp/substr,replacement)参数:regexp/substr 必需。规定子字符串或要替换的模式的 RegExp 对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不..._string中替换字符串中的某个字符

netcore将StyleCop.Analyzers自定义规则应用到整个解决方案_netcore ruleset-程序员宅基地

文章浏览阅读3.3k次。概述编码中会用一些基于Roslyn的编码规范工具 如:StyleCop.Analyzers,但不是每一项规则都是适合自己或团队,所以都会对规则进行微调,但是StyleCop.Analyzers规则默认针对单个项目,我们肯定希望规则统一管理,防止项目间配置不同导致约束不一致。本文将介绍如何将自定义规则应用到整个解决方案。利用Nuget安装StyleCop.Analyzers安装成功后能在..._netcore ruleset

新手前后端分离:vue配置跨域_vue跨域 后端配置-程序员宅基地

文章浏览阅读797次。新手前后端分离:vue配置跨域完成在config->index.js中配置在组件中发起ajax请求,根据你的路径编写得到接口数据:以上的测试用例在 [免费测试接口](http://www.bejson.com/knownjson/webInterface/)遇到的问题:因为我用的是Chrome浏览器,存在缓存干扰,如果更换自己的域,需要清除浏览器的缓存在刷新完成在config->in..._vue跨域 后端配置

随便推点

Java读取本地文件(图片),并显示在JSP文件中_已有图片信息,java加js怎么使图加载到jsp中-程序员宅基地

文章浏览阅读3.9k次。转载:http://genuinecx.blog.51cto.com/2890523/1282451当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片。其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相对路径,还可以是网络上的图片路径。在存取少量图片的情况下,采用相对路径存储图片的情况下最方便,也最实用。但是当图片数量过多时,这种方式就显的有_已有图片信息,java加js怎么使图加载到jsp中

k8s的容器存储空间资源限制ephemeral-storage-程序员宅基地

文章浏览阅读2.2w次,点赞8次,收藏29次。k8s1.8引入的特性,限制容器存储空间的使用;对于容器资源隔离来说,非常有用,万一应用程序失控,写大量日志把node空间写满,影响就大了。使用很简单,和cpu\memcache一样,如:resources: requests: cpu: 1 memory: 2048Mi ephemeral-storage: 2Gi limits: cpu: 2..._ephemeral-storage

C++中将string按照空白字符分割的新方法_c++ string按空格分割-程序员宅基地

文章浏览阅读1.7k次。https://blog.csdn.net/onever_say_love/article/details/49123935#include<iostream>#include<string>#include<sstream>#include<vector>using namespace std;int main(){ //用..._c++ string按空格分割

iOS 音频转码 使用lame转为MP3格式_ios mp3 lame转码-程序员宅基地

文章浏览阅读1.4k次。由于AVAudioRecorder不能录制编码为MP3,所以就需要我们将录音后的音频文件格式进行转换(注意:AV Foundation和Core Audio提供对MP3数据解码的支持,但是不提供对其进行编码。所以我们要借助第三方库进行MP3编码)。如何转换?lame无疑是一个很好的选择,lame是一个开源音频压缩软件,目前是公认有损质量MP3中压缩效果最好的编码器。接下来直奔主题,介绍一下如何使用_ios mp3 lame转码

dom属性和JS中的dom操作_js dom filter-程序员宅基地

文章浏览阅读264次。DOM 操作1.创建新节点createDocumentFragment() //创建一个 DOM 片段createElement() //创建一个具体的元素createTextNode() //创建一个文本节点2.添加、移除、替换、插入appendChild() //把节点插入到父节点的末尾removeChild() //删除dom节点replaceChild() //替换dom节点insertBefore() //在已有的子节点前插入一个新的子节点3.比较isSameNod_js dom filter

商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。_3.商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在-程序员宅基地

文章浏览阅读5.8k次,点赞9次,收藏25次。题目描述:***商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。具体销货情况如下:具体要求及题目提示:代码如下:#include <iostream>using namespace std;class Sale{ float num = 0;..._3.商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在

推荐文章

热门文章

相关标签