macos 下载 macOS 系统安装程序及安装U盘制作方法
01 下载 macOS 系统安装程序的方法
本文来自: https://discussionschinese.apple.com/docs/DOC-250004259
简介
Mac 用户时不时会需要下载 macOS 的安装程序,目的不同,或者升级或者降级,或者研究或者收藏。为了方便不同用户,除了使用最“正统”的在系统偏好设置中的“软件更新”更能,这个小技巧文介绍目前可用的一些方法,共分5类,读者可以根据自己的爱好和使用场景选择适合自己的方式。
[1] Apple的官方方法
也就是从 App Store 下载 macOS 安装程序,主要参考它的官文【如何获取旧版 macOS】
下面列出接个常用的连接:
1 – macOS Monterey 12: https://apps.apple.com/us/app/macos-monterey/id1576738294
2 – macOS Big Sur 11: https://apps.apple.com/us/app/macos-big-sur/id1526878132
3 – macOS Catalina 10.15: https://apps.apple.com/us/app/macos-catalina/id1466841314
4 – macOS Mojave 10.14 https://apps.apple.com/us/app/macos-mojave/id1398502828
5 – macOS High Sierra 10.13 https://itunes.apple.com/us/app/macos-high-sierra/id1246284741
更旧的版本:
-
- Mac OS X Mountain Lion 10.8
-
- Mac OS X Lion 10.7
优点:Apple 支持的;当更新或者变更时,Apple 的也是最及时的;保证下载该版本的最新版本
缺点:不灵活;没有旧版;不支持选择低次版本,比如11.5.2等
[2] macOS的内置命令
这个也是 macOS 系统官方支持的方法,与 App Store 的方法类似。
下面这个命令下载当前硬件支持的最新的 macOS 系统到根目录中的应用文件夹中:
/usr/sbin/softwareupdate --fetch-full-installer
还可以使用它列出所有可用的 macOS 版本:
/usr/sbin/softwareupdate --list-full-installers
然后,使用上面的结果,可以下载指定的 macOS 版本,比如 11.6.7 的命令是:
/usr/sbin/softwareupdate --fetch-full-installer --full-installer-version 11.6.7
优点:可以指定版本
缺点:与 App Store 下载类似。不是所有的版本都能搜索得到,有些旧的或者某些小版本更新可能找不到。不适合不熟悉命令行的用户。
[3] 管理员脚本
Github中Monki项目中有一个叫installinstallmacos.py的脚本,它也是目前比较活跃和持续更新的。
可以从网址获得:https://github.com/munki/macadmin-scripts/blob/main/installinstallmacos.py
英文说明:https://github.com/munki/macadmin-scripts
它的主要功能是:从 Apple 官方的网站获得当前看下载 macOS 系统,根据用户选择,下载并打包在一个 dmg 文件中。
更新(2022-07-01) :因为 macOS 12.3 之后已经不再内置 Python (版本 2),解决这个问题的途径有多种,比如自己安装Python的发布版本2,或者使用Homebrew,或者其他人使用的定制版本,比如macadmins的,relocatable-python等。然后根据自己的需要和选择,再把脚本中的第一行做相应的改变,即可顺利运行。
很多方式使用这个脚本,各有优缺点,最直接的是把这个脚本下载下来保存后,可以随时运行。
使用方式:
这里介绍个简单的运行方式:
1> 打开一个新的终端窗口,然后复制粘贴下面的命令(命令较长,注意复制完整)到这个窗口中,按 enter 键运行:
[ ! -d ~/macOS-Scripts/ ] && mkdir ~/macOS-Scripts; cd ~/macOS-Scripts; curl -O https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py; sudo python installinstallmacos.py --workdir /tmp/

[该图片来自:https://discussionschinese.apple.com/docs/DOC-250004259]
2> 根据窗口中的提示选择要下载的版本的序号,输入 0 则退出
3> 下载完毕后,运行下面命令,它会装载下载的 dmg,并弹出一个 Finder 窗口,
open *.dmg
清理缓存:
这个脚本的运行可能产生一个比较大的缓存,清理方法也简单,使用上面说的方法的话,删除运行脚本目录下的 content 目录,或者在运行脚本的目录下运行下面命令:
sudo rm /fr content
如果其它运行方式没有更新,那么尝试命令:
sudo python installinstallmacos.py --ignore-cache
优点:可供选择的版本多;下载版本适合于保存和传输
缺点:如果出错误,错误一般用户不好理解,拍错需要有一定知识的人员;需自己保持脚本的更新。不适合不熟悉命令行的用户。
[4] 其它下载应用
开源的有图形界面的第三方下载工具“Download Full Installer”:
下载它的最新发布版本:https://github.com/scriptingosx/DownloadFullInstaller/releases
英文 Github 主页:https://github.com/scriptingosx/DownloadFullInstaller
总结
随着 macOS 的发展,这些方法可能会更新,甚至失效。而且,随着 Apple 对于可供下载的系统版本的逐步更新,旧版可能会不容易从 App Store 找到了,所以,最好是自己保留一份常用版本的备份。
02 制作macos 启动安装u盘
# 正式版的安装程序,不要启动安装。
# 打开 “应用程序 → 实用工具 → 磁盘工具”,
# 将U盘「抹掉」(格式化) 成「Mac OS扩展(日志式)」格式、GUID 分区图,并将 U盘命名为「upan」(下图序号4处)。
#(注意:这个盘符名称可以随意起,但是盘符名称必须与后面的命令里的名称一致)# 10.10 Yosemite:
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/upan --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction# 10.11 Capitan:
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/upan --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app# 10.12 Sierra
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/upan --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction# 10.13 High Sierra:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/upan# 10.14 Mojave:
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/upan# 10.15 Catalina:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/upan# 11 Big Sur:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/upan# 12 Monterey:
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/upan# 13 Ventura
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/upan
VMWare Tools 安装时,出现:
正在运行脚本,提示剩余不到一分钟,可能是因为磁盘格式化的问题
硬盘格式化为MacOS扩展(日志式)
APFS格式可能需要在一分钟处等很久
相关文章:
macos 下载 macOS 系统安装程序及安装U盘制作方法
01 下载 macOS 系统安装程序的方法 本文来自: https://discussionschinese.apple.com/docs/DOC-250004259 简介 Mac 用户时不时会需要下载 macOS 的安装程序,目的不同,或者升级或者降级,或者研究或者收藏。为了方便不同用户,除…...
c++动态内存分布以及和C语言的比较
文章目录 前言一.c/c内存分布 C语言的动态内存管理方式 C内存管理方式 operator new和operator delete函数 malloc/free和new/delete的区别 定位new 内存泄漏的危害总结前言 c是在c的基础上开发出来的,所以关于内存管理这一方面是兼容c的&…...
软考高级信息系统项目管理师系列之三十一:项目变更管理
软考高级信息系统项目管理师系列之三十一:项目变更管理 一、项目变更管理内容二、项目变更管理基本概念1.项目变更管理定义2.项目变更产生的原因3.项目变更的分类三、项目变更管理的原则和工作流程1.项目变更管理的原则2.变更管理的组织机构3.变更管理的工作程序四、项目变更管…...
【Vue3源码】第二章 effect功能的完善补充
【Vue3源码】第二章 effect功能的完善补充 前言 上一章节我们实现了effect函数的功能stop和onstop,这次来优化下stop功能。 优化stop功能 之前我们的单元测试中,stop已经可以成功停止了响应式更新(清空了收集到的dep依赖) st…...
CHAPTER 2 Web Server - apache(httpd)
Web Server - httpd2.1 http2.1.1 协议版本2.1.2 http报文2.1.3 web资源(web resource)2.1.4 一次完整的http请求处理过程2.1.5 接收请求的模型2.2 httpd配置2.2.1 MPM(多进程处理模块)1. 工作模式2. 切换MPM3. MPM参数配置2.2.2 主配置文件1. 基本配置2. 站点访问控制常见机制…...
【Vagrant】下载安装与基本操作
文章目录概述软件安装安装VirtualBox安装Vagrant配置环境用Vagrant创建一个VMVagrantfile文件配置常用命令概述 Vagrant是一个创建虚拟机的技术,是用来创建和管理虚拟机的工具,本身自己并不能创建管理虚拟机。创建和管理虚拟机必须依赖于其他的虚拟化技…...
常用类(五)System类
(1)System类常见方法和案例: (1)exit:退出当前程序 我们设计的代码如下所示: package com.ypl.System_;public class System_ {public static void main(String[] args) {//exit: 退出当前程序System.out.println("ok1"…...
Navicat Premium 安装 注册
Navicat Premium 一.Navicat Premium的安装 1.暂时关闭windows的病毒与威胁防护弄完再开,之后安装打开过程中弹窗所有警告全部允许,不然会被拦住 2.下载安装包,解压 链接:https://pan.baidu.com/s/1X24VPC4xq586YdsnasE5JA?pwdu4vi 提取码…...
回溯算法总结
首先回溯算法本身还是一个纯暴力的算法,只是回溯过程可能比较抽象,导致大家总是感觉看到的相关题目做的不是很顺畅,回溯算法一般来说解决的题目有以下几类:组合问题:lq77、lq17、lq39、lq40、lq216、切割问题ÿ…...
ccc-pytorch-基础操作(2)
文章目录1.类型判断isinstance2.Dimension实例3.Tensor常用操作4.索引和切片5.Tensor维度变换6.Broadcast自动扩展7.合并与分割8.基本运算9.统计属性10.高阶OP大伙都这么聪明,注释就只写最关键的咯1.类型判断isinstance 常见类型如下: a torch.randn(…...
独居老人一键式报警器
盾王居家养老一键式报警系统,居家养老一键式报警设备 ,一键通紧急呼救设备,一键通紧急呼救系统,一键通紧急呼救器 ,一键通紧急呼救终端,一键通紧急呼救主机终端产品简介: 老人呼叫系统主要应用于…...
软考案例分析题精选
试题一:阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。某公司中标了一个软件开发项目,项目经理根据以往的经验估算了开发过程中各项任务需要的工期及预算成本,如下表所示:任务紧前任务工期PV…...
基于SpringBoot+vue的无偿献血后台管理系统
基于SpringBootvue的无偿献血后台管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背…...
详解js在事件中,如何传递复杂数据类型(数组,对象,函数)
文章目录 前言一、何谓预编译,变量提升?二、复杂数据类型的传递 1.数组2.对象3.函数总结前言 在JavaScript这门编程语言学习中,如何传参,什么是变量提升,js代码预编译等等。要想成为一名优秀的js高手,这些内…...
高并发架构 第一章大型网站数据演化——核心解释与说明。大型网站技术架构——核心原理与案例分析
大型网站架构烟花发展历程1.1.1初始阶段的网站构架1.1.2应用服务和数据服务分离1.1.3使用缓存改善网络性能1.1.4使用应用服务器集群改善网站的并发处理能力1.1.5数据库读写分离1.1.6使用反向代理和cdn加速网站相应1.1.1初始阶段的网站构架 大型网站都是由小型网站一步步发展而…...
VPP接口INPUT节点运行数据
在设置virtio接口接收/发送队列函数的最后,更新接口的运行数据。 void virtio_vring_set_rx_queues (vlib_main_t *vm, virtio_if_t *vif) { ...vnet_hw_if_update_runtime_data (vnm, vif->hw_if_index); } void virtio_vring_set_tx_queues (vlib_main_t *vm,…...
RabbitMQ学习(九):延迟队列
一、延迟队列概念延时队列中,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理。简单来说,延时队列就是用来存放需要在指定时间内被处理的 元素的队列。其实延迟…...
TCP并发服务器(多进程与多线程)
欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 TCP并发服务器(多进程与多线程)1. 多进程并发服务器(1)…...
第1章 Memcached 教程
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素…...
【2022.12.9】Lammps+Python 在计算g6(r)时遇到的问题
目录写在前面绘制g6( r )执行步骤【updated】如何检查图像的正确性:不是编程问题,而是数学问题的一个小bug废稿2则:写在前面 全部log: 【2022.11.16】LammpsPythonMATLAB在绘制维诺图时遇到的问题 绘制g6( r )执行步骤【updated…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
