使用 `asr restore` 命令进行 macOS 数据迁移:从 `/Volumes/Data` 到新磁盘 作者: Shine 时间: 2025-06-23 分类: macOS 评论 在日常使用 Mac 的过程中,我们可能会遇到以下几种场景: - 更换硬盘或 SSD,希望把现有系统完整迁移过去 - 制作可引导的 Hackintosh 安装磁盘 - 备份系统到另一块磁盘作为镜像 - 将 macOS 环境复制到另一台设备进行快速部署 这些场景都有一个共性:**希望高效、准确地迁移整个磁盘内容(包括系统文件、权限、引导信息等)**。而 macOS 自带的 `asr`(Apple Software Restore)命令,正是为此而生的。 --- ## 为什么不用拖文件的方式迁移? 虽然可以手动拖动文件、使用 `rsync` 或 `ditto` 等命令来迁移数据,但这些方法存在局限: - 无法迁移隐藏的系统文件和符号链接 - 权限和 ACL 可能丢失 - 文件级拷贝在大量小文件场景下效率低 - 无法制作可引导的系统盘 相比之下,`asr` 提供了**块级恢复(block-level restore)**,效率高、还原精准,是迁移系统盘或完整磁盘的首选工具。 --- ## 什么是 `asr restore`? `asr` 是 macOS 自带的命令行工具,全称 Apple Software Restore。常用来从磁盘镜像或另一个卷中恢复内容到目标磁盘。 基本语法如下: ```bash sudo asr restore --source /Volumes/源卷名 --target /Volumes/目标卷名 --erase ```` 参数说明: * `--source`:源卷路径(可以是挂载的磁盘或 `.dmg` 镜像) * `--target`:目标卷路径 * `--erase`:表示**清空目标卷**,使用块级恢复(更快、更精准) --- ## 实战命令 假设我有一个名为 `Data` 的卷(已安装好 macOS),现在我想把它完整迁移到另一块磁盘(挂载名为 `New-Hcakintosh`),可以使用以下命令: ```bash sudo asr restore --source /Volumes/Data --target /Volumes/New-Hcakintosh --erase ``` 执行后,系统会提示确认清除目标磁盘,并将 `Data` 的全部内容(包括隐藏文件、系统文件、EFI 引导等)克隆到目标磁盘。 > ⚠️ 注意:`--erase` 会清空目标磁盘,请确保没有重要数据! 整个迁移过程非常顺利,没有啥卡壳的  --- ## 常见用途场景 | 用途 | 是否推荐使用 asr | | ----------------- | ------------ | | 克隆 macOS 系统盘 | ✅ 是 | | Hackintosh 安装盘制作 | ✅ 是 | | 文件夹/用户数据拷贝 | ❌ 否(用 rsync) | | 制作 USB 安装盘(带完整系统) | ✅ 是 | | 定期增量备份 | ❌ 否(用 CCC) | --- ## 和其他工具对比 | 工具 | 是否支持系统迁移 | 支持块级克隆 | 是否免费 | 使用复杂度 | | ----------- | -------- | ------- | ---- | ----- | | asr | ✅ | ✅ | ✅ | 中 | | rsync/ditto | ❌(文件迁移) | ❌ | ✅ | 低 | | CCC | ✅ | ✅(增强功能) | ❌ | 低 | | SuperDuper! | ✅ | ✅ | 部分免费 | 低 | --- ## 总结 使用 `asr restore` 命令,是进行 macOS 磁盘数据迁移的专业方法之一。相比图形界面的 Time Machine 或第三方工具,`asr` 更加轻量、精准,特别适合以下用户: * 高级用户或开发者 * Hackintosh 爱好者 * 需要批量部署系统的技术人员 记得在执行命令前做好数据备份,确保目标磁盘的正确性。祝迁移顺利 🚀! --- ## 参考资料 * Apple 官方文档:`man asr`
使用 MacPorts 替代 brew / 解决低版本 macOS 系统使用 brew 安装软件包慢的问题 作者: Shine 时间: 2025-05-13 分类: macOS 评论 ## 背景 根据官方的介绍,brew 仅适合 macOS 13 及更高的版本上使用了:https://docs.brew.sh/Installation#macos-requirements 对于我还在用黑苹果 macOS Big Sur 确实不友好(公司电脑 3、4 年都没更新硬件了 😓)  ## brew 替代品 - MacPorts 通过在网络搜索,很多人推荐使用 [MacPorts](https://macports.org/ "MacPorts") 替代 brew。 安装方法也很简单,下载一个安装包就可以用了,具体安装教程看这个:https://www.macports.org/install.php 以我的系统 Big Sur 为例,我就下载对应的版本安装就好了  ### 使用方法 使用方法也很简单,访问这个网站 https://ports.macports.org/ 搜索你要的软件,比如 PHP84  找到对应的版本,点击进入详情,然后就会提示你用什么命令安装,点击 Copy 返回到终端执行即可: | - | - | | ------------ | ------------ | |  |  | | |  | 网络环境好的情况下,安装速度挺快的
brew 设置代理 作者: Shine 时间: 2023-07-04 分类: macOS 评论 ## 1. 查找 `brew` 所在位置 一般路径都在 `/usr/local/bin/brew`,请记录好,后续需要使用 ```shell ➜ ~ which brew /usr/local/bin/brew ``` ## 2. 移动 `brew` 命令位置 ```shell mv /usr/local/bin/brew /usr/local/bin/brew_orig ``` ## 3. 新建一个如 `.proxy` 文件置代理 执行命令 `vim ~/.proxy.sh`,文件内容为: > 以下代理服务器地址根据自己实际情况调整 ```shell #!/bin/bash export https_proxy=http://127.0.0.1:7890 export http_proxy=http://127.0.0.1:7890 export all_proxy=socks5://127.0.0.1:7890 ``` ## 4. 新建 `/usr/local/bin/brew` 文件 执行命令 `vim /usr/local/bin/brew` 文件内容为: ```shell #!/bin/bash source ~/.proxy.sh /usr/local/bin/brew_orig "$@" ``` 并赋予可执行权限 `chmod +x /usr/local/bin/brew` ## 5. 测试使用 ```shell ➜ ~ cat $(which brew) #!/bin/bash source ~/.proxy.sh /usr/local/bin/brew_orig "$@" ➜ ~ brew --version Homebrew 4.0.26 Homebrew/homebrew-core (git revision 3112e690293; last commit 2022-07-12) Homebrew/homebrew-cask (git revision 2ae6e86efe; last commit 2023-02-16) ```
macOS 使用命令(networksetup)设置 PAC 代理 作者: Shine 时间: 2022-10-14 分类: macOS 评论 因为手动在网络设置里,设置的 PAC  可能会因为其它软件给关掉,如 ClashX 设置为系统代理替换掉  然后自己手动替换又比较麻烦,所以想着用命令去替换一下 ## 解决方案 所以在网上找到了一篇问答 [https://apple.stackexchange.com/a/166443](https://apple.stackexchange.com/a/166443 "https://apple.stackexchange.com/a/166443"),使用 `networksetup -setautoproxyurl` 命令即可 ### networksetup -setautoproxyurl 语法如下 ```shell networksetup -setautoproxyurl ``` #### 问题 1:怎么拿到 `` ? 可以通过 `networksetup -listallnetworkservices` 命令拿到(只是猜测,因为我的是黑苹果,并且是有以太网网卡)  #### 示例 1 给以太网网卡设置 PAC 地址 ```shell networksetup -setautoproxyurl "Ethernet" "http://192.168.30.87/autoproxy.pac" ``` 然后检查下设置状态 : ```shell networksetup -getautoproxyurl "Ethernet" ``` 
macOS 桌面不能操作、无文件 解决办法 作者: Shine 时间: 2021-05-13 分类: macOS 评论 执行以下命令即可: ```shell defaults write com.apple.finder CreateDesktop true;killall Finder ```