Linux中使用苹果USB吸入式光驱

我在尝试解决 MacBook Air 11" Late 2010安装Alpine Linux 无法从U盘启动问题时,准备通过刻录CDROM来绕过古早Macbook系统不支持最新Linux iso-hybrid 格式镜像的问题。我最初想在macOS 15上使用我以前购买的苹果USB吸入式光驱来刻录光盘。但是我发现macOS不能读取Linux的 iso-hybrid 格式ISO,提示

../../_images/macos_not_support_linux_iso.png

那么我想反过来在Linux上刻录这个ISO总可以吧

然而,我发现在Linux上,这个吸入式光驱不能自动吸入光盘:

gemini解释是:

Apple SuperDrive 在插入非 Mac 设备时,默认处于“低功耗/休眠模式”,不会给内部的吸入式机械结构供电,因此光盘塞不进去,或者塞进去后不会自动吸入。

激活吸入式光驱

Linux社区通过逆向工程解决了Apple SuperDrive的激活协议问题,只需要在Linux下向刻录机的USB原始设备发送特定的SCSI/USB初始化指令,就可以解锁供电,使其恢复正常的自动吸入和读写功能。

最轻量级、最直接的方式使使用开源工具 sg3_utils 发送激活指令。

  • 安装工具包:

安装sg3_utils
sudo apt update
sudo apt install sg3-utils
  • 执行 lsblk 找到光驱节点(通常是 /dev/sr0 或 /dev/sgX )

lsblk 可以看到光驱设备
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0                        11:0    1 1024M  0 rom 
...
  • 发送解锁指令:

解锁苹果专有的SuperDrive供电
sudo sg_raw /dev/sr0 EA 00 00 00 00 00 01

这里 EA 00 00 00 00 00 01 是苹果专有的 SuperDrive 供电激活魔数。

现在将光盘推入光驱就会听到光驱光驱发出机械响声,随后即可正常吸入光盘。

刻录ISO文件

在Linux环境下有以下光盘刻录软件(gemini对比)

wodim, xorriso, growisofs

对比维度

wodim (cdrecord 派生)

xorriso

growisofs

主要定位

传统 CD/DVD 刻录工具

现代 ISO9660 处理与 CD/DVD/BD 刻录全能工具

专为 DVD/BD 大容量介质设计的刻录工具

支持介质

CD-R/RW, DVD-R/RW

CD, DVD, BD (蓝光)

DVD-R/RW, DVD+R/RW, BD

ISO 镜像生成

否(需配合 genisoimage / mkisofs)

是(内置完整 ISO9660/Joliet/RockRidge 操作引擎)

否(需配合 mkisofs)

Isohybrid 兼容性

一般(对现代混合引导 ISO 容易抛错)

极佳(原生支持 UEFI/El Torito 引导轨处理)

良好

维护状态

停止维护(Fork 自老版 cdrecord,Bug 较多)

高度活跃(GNU 项目,现代发行版默认推荐)

维护度低(属于 dvd+rw-tools 包,偶有补丁)

特点

主要针对标准的 CD-R / CD-RW 刻录

全能型:兼具 ISO 镜像生成、提取、修改以及 CD/DVD/BD 物理刻录功能,能完美处理 isohybrid(融合 MBR/GPT 分区表和 EFI 引导轨)的镜像写入

可以直接将文件系统“边生成边写入”到 DVD 或 BD 介质中,无需先生成临时 ISO 文件,写入大文件和 DVD 镜像时非常稳定

注意

架构老旧,对大于 4.7GB 的介质支持不佳,且完全停止了积极开发

最推荐的现代 Linux 刻录工具

适合大容量数据备份、将大型文件直接打包刻录到 DVD 或蓝光光盘中

刻录

  • 执行以下命令刻录 Alpine Linux 安装启动光盘(对现代引导格式的兼容性最好)

刻录启动光盘
sudo xorriso -as cdrecord -v dev=/dev/sr0 -eject alpine-standard-3.24.1-x86_64.iso

参考

  • gemini