[原创翻译]在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
工具,unmount
SD卡上的分区(不是 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
- 如果你安装了GNU coreutils ,上面的命令可以产生
替代方法
注意:部分用户反应在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