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…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
