[原创翻译]在Mac OS上安装树莓派镜像

原文:Installing Operating System Images on Mac OS

在Mac上你可以选择dd命令,也可以使用图形化的 ImageWriter 来写入镜像。

图形化方法(大部分)

  • 连接SD读卡器内的SD卡。注意:SD卡需是 FAT32 格式。
  • 从苹果菜单中选择 About This Mac,然后点击 More info;如果你使用 Mac OS X 10.8.x Mountain Lion 或更新版本,点击 System Report。
  • 点击 USB 标签(如果你使用内建SD读卡器,点击Card Reader)在窗口右边的区域中找到SD卡,点击选择SD卡并查找BSD name字段,你将会看到类似diskn这样的值(例如:disk4)。
> 译者注:经测试, Mac OS X 10.10.4 上应该点击`Storage`标签来查看SD卡信息。

- 打开Disk Utility工具,unmountSD卡上的分区(不是 eject,否则你需要重新拔插SD卡)。注意:在 Mac OS X 10.8.x 以及之后的版本,点击"Verify Disk"(umount之前)可以看到形如 "/dev/disk1s1" 的 BSD name,这样你可以省去前面的两个步骤。

  • 在控制台中输入:
sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskn

注意替换`n`为你自己的SD卡设备名。
如果上面的命令失败,可尝试使用`disk`替换`rdisk`:

sudo dd bs=1m if=path_of_your_image.img of=/dev/diskn

## 命令行方法

  • 如果你更习惯使用命令行,你可以不使用任何额外的工具写入SD卡。运行:
diskutil list

- 确认SD卡的设备号,例如:disk4(不是disk4s1)

  • 用下面的命令 umount SD卡:
diskutil unmountDisk /dev/disk<disk# from diskutil>

例如:`diskutil unmountDisk /dev/disk4`

- 往SD卡写入镜像

sudo dd bs=1m if=image.img of=/dev/rdisk<disk# from diskutil>

例如:`sudo dd bs=1m if=2015-05-05-raspbian-wheezy.img of=/dev/rdisk4`

- 如果你安装了GNU coreutils ,上面的命令可以产生`dd: invalid number '1m'`这样的错误。这时候你需要使用`1M`:

sudo dd bs=1M if=image.img of=/dev/rdisk<disk# from diskutil>

根据镜像文件的大小,整个过程需要持续几分钟。你可以使用**Ctrl+T**向控制台发送`SIGINFO`指令来查看写入进度。

- 如果上的命令依然不成功,尝试使用`disk`来替代`rdisk`:

sudo dd bs=1m if=2015-05-05-raspbian-wheezy.img of=/dev/disk4

或

sudo dd bs=1M if=2015-05-05-raspbian-wheezy.img of=/dev/disk4

## 替代方法

注意:部分用户反应在Mac OS X上写入SD卡遇到困难。

下面的命令需要使用管理员身份运行

  • 在控制台输入df -h
  • 连接插入SD卡的读卡器。
  • 再次运行df -h查看新出现的设备。记录下设备的文件系统分区名称,例如:/dev/disk3s1
  • 卸载分区以便可以覆盖磁盘
sudo diskutil unmount /dev/disk3s1

或者打开`Disk Utility`工具,`unmount`SD卡(**不是 eject,否则你需要重新拔插SD卡**)

- 从分区名称中分离出设备名:去掉末尾的s1,并用"rdisk"替换"disk"。这非常重要,如果你提供了错误的设备名,你将丢失硬盘上的所有数据。确保设备名描述整个SD卡,而不是其中的一个分区(例如:rdisk3,而不是rdisk3s1)。相似地,你的另一张SD卡设备名可能是rdisk2 或 rdisk4;在插入SD之前以及插入之后使用df -h命令,找出新增加的设备,分离出设备名。例如:/dev/disk3s1变为/dev/rdisk3

  • 在控制台使用下面的命令来向SD卡写入镜像,记住使用刚才获取的设备名。请咨询检查上面的步骤以确保设备名正确。
sudo dd bs=1m if=2015-05-05-raspbian-wheezy.img of=/dev/rdisk3

如果命令出现错误:`dd: bs: illegal numeric value`,请用`bs=1M`替换`bs=1m`。

如果命令出现错误:`dd: /dev/rdisk3: Permission denied`,表明SD卡上的分区被MacOS保护,你需要使用下面的命令来抹掉分区:

sudo diskutil partitionDisk /dev/disk3 1 MBR "Free Space" "%noformat%" 100%

这个命令同时为设备添加了可写权限。现在你可以使用`dd`命令了。

注意:`dd`不会有任何的反馈,除非遇到错误或写入完成;一旦完成,dd会显示信息而SD卡将被重新加载。当然你也可以使用ctrl-T来查看进度;它发送SIGINFO信号到tty,然后进度信息将显示出来。

- 当dd执行完成,推出SD卡:

sudo diskutil eject /dev/rdisk3

(或者打开 Disk Utilit 来推出 SD卡)

本文由u0u0翻译于2015.7.25

标签: 树莓派, dd

添加新评论