我该如何在Ubuntu上将Raspberry Pi镜像烧录到SD卡?

我确定这一定很简单,但在这里找不到答案。
怎样才能从一个空白的SD卡变成一个可以启动Raspi的SD卡呢?

12015年:NOOBS使所有这些变得简单易懂。 - Thorbjørn Ravn Andersen
请点击以下链接,并在安装之前不要忘记使用FAT32格式化您的SD卡:https://www.raspberrypi.org/documentation/installation/installing-images/linux.md - Sumanta
12个回答

你也可以通过命令行来完成。无需安装任何东西。

  1. 找到插入的SD卡设备的名称。例如,我之前和之后输入了ls -la /dev/sd*,然后插入了SD卡。我看到/dev/sdc的日期发生了变化,因此确定那就是它。

  2. 找到解压后的映像文件所在的位置,对我来说是/home/username/Downloads/2012-10-28-wheezy-raspbian.img

按照以下方式输入(适当修改):

sudo dd if=/home/username/Downloads/2012-10-28-wheezy-raspbian.img of=/dev/sdc

或者根据其他用户的建议进行改进:
sudo dd if=/home/username/Downloads/2012-10-28-wheezy-raspbian.img of=/dev/sdc status=progress bs=4M

等待命令返回。可能需要一段时间,特别是通过usb2。
可以在树莓派上使用raspi-config程序进行调整大小,该程序在首次启动时会自动启动。
要小心。务必确保设备名称是SD卡的名称。如果您用硬盘的设备名称替换它,您的硬盘将被覆盖。

19我更倾向于通过使用 sudo fdisk -l 命令来识别驱动器名称。 - Rafał Cieślak
9dd命令中添加bs=4M可以显著提高性能。 - Boris Brodski
通常我会使用df -h命令,一旦在右侧看到驱动器的名称,你就可以通过左侧的sda、b或c来判断它是哪个驱动器。 - onaclov2000
2在这里得到最佳答案,除了基本的Linux命令外,不需要额外工具。 - user2082382
1七年过去了,我仍然试图使用这个答案,但是无法成功,因为我找不到我的SD卡在dev下的名字。希望能有一种更简便的方法来确定dev中的设备对应关系。 - scribe
2你也可以使用lsblk -p命令获取设备及其路径的简短列表(树莓派官方安装文档推荐使用)。 - Arman yaraee
您可以通过流式传输未压缩文件来避免一步和临时解压缩文件:unzip -p 20xx-xx-xx-raspios-xxxxx.zip |sudo dd of=/dev/sdx bs=4M conv=fsync status=progress - bitinerant
在命令行中添加&& sync,以确保复制完全完成。 - undefined

在Ubuntu 14.04、16.04和18.04版本上,右键点击安装程序镜像,选择“使用磁盘映像写入器打开”。选择您的SD卡单元并点击开始。

12这些中的第一个应该是标记的答案。在我看来,使用dd可能会比使用那个图形界面工具更容易破坏某个分区或磁盘。 - erikbstack
无法使用brasero来处理.img格式的文件,因为它不支持该扩展名。 - Chinmaya B
5迄今为止,在Ubuntu上最简单的解决方案。 - brunofitas
这种方法的优点是它也适用于15.10版本,但缺点是对于许多用户感兴趣的NOOBS安装程序来说无法使用,因为NOOBS不使用.img文件。 - TenLeftFingers
在Ubuntu Xenial上,它被有些不太清楚地称为“镜像磁盘创建”,尽管它也可以用来写回。非常巧妙!:D - Andrea Lazzarotto
当我在xubuntu 16.04中尝试这个操作时,遇到了权限错误。我从命令行中运行了sudo gnome-disks,然后从菜单中选择了"恢复磁盘镜像",并浏览到我的镜像文件。它顺利地完成了任务。 - Jon Bentley

轻松在Ubuntu上安装和调整Raspberry Pi的SD卡。
首先,打开终端并使用apt-get安装ImageWriter和GParted工具:
sudo apt-get install usb-imagewriter gparted
假设您是从新安装开始的,请从Raspberry Pi下载站点下载最新版本。
解压下载的存档,然后在控制台中键入sudo imagewriter打开ImageWriter。
选择所需的.img文件和目标设备,例如debian6-19-04-2012.img和/dev/mmcblk0。
完成图像写入后,下一个任务是重新分区SD卡。注意:此过程可以在任何时候进行,不仅限于初始设置期间!
对于13.04版本,你可以在这里找到软件包here
如果你对调整SD卡大小感兴趣,请查看此答案的来源。 Source

1我在这方面遇到了麻烦,最终发现我需要使用sudo imagewriter才能将其写入我的SD卡。 - Eric Wilson
6很遗憾,usb-imagewriter在Ubuntu 13.04或更高版本中已不再可用,因为某些傻瓜认为它“太慢”,并将其从软件包仓库中移除了。我一直在尝试其他解决方案,dd工具有点吓人,但应该能够使用。 - Milimetric
1@Milimetric 你可以在这里找到13.04的软件包:https://launchpad.net/ubuntu/raring/+package/usb-imagewriter - LnxSlck
1谢谢你的链接,LnxSlck。不过我有点放弃那条路了。我试着从launchpad下载,但Ubuntu软件中心显示“无法满足依赖:hal”。我本来可以深入研究,但我已经从Linux中吸取了教训:在第一个错误处停下来。否则,你会后悔到第十个错误 :) https://xkcd.com/349/ - Milimetric
@Milimetric 记住,在Linux中的乐趣就是学习,即使你通过错误来学习。 - LnxSlck
不适合我,也不必要。 - erikbstack

13.10那天,我无法安装usb-imagewriter。出现了“E: 无法找到软件包usb-imagewriter”的错误提示。
后来我发现,在桌面上使用普通的gnome-disks命令Disks可以解决问题。你可以选择USB驱动器,并选择“恢复磁盘映像”的选项。

使用Xubuntu 14.04。这对我有效。 - clyde

使用启动盘创建器。它应该默认安装在Ubuntu上。 对我来说效果非常好。

那些都是非常好的答案...
我喜欢在dd命令中添加status=progress。
sudo dd if=rasidiskimg.img of=/dev/mmcbl.. status=progress bs=4M

#it reports like so:
2037383168 bytes (2.0 GB, 1.9 GiB) copied, 198.548 s, 10.3 MB/s

一些答案提到了usb-imagewriter,但这个已经不存在了(至少在Ubuntu 16.04上)。
我使用了usb-creator-gtk,对我来说这很有效。

是的,在文件选择菜单中选择“磁盘映像”而不是“光盘映像”,以打开.img文件而不是.iso文件。 - Serge Stroobandt

除了Wilbert的出色回答之外,为了经常这样做,以下方法还具有在运行时压缩和解压图像的附加好处,并使用pv显示进度(您可能需要apt-get install pv):
我使用以下命令进行备份:
sudo dd if=/dev/mmcblk0p7 | pv -c -N filesystem | \
gzip -c | pv -c -N compressed > backup/mmcblk0p7.img.gz

并且使用以下内容进行恢复:
cat mmcblk0p7.img.gz | pv -c -N compressed | \
gunzip | pv -c -N filesystem | sudo dd of=/dev/mmcblk0p7

确保将mmcblk0p7替换为您要备份/恢复的分区。

启动盘创建工具

使用以下命令安装usb-creator-gtk软件包:

$ sudo apt install usb-creator-gtk

安装完成后,新工具可以在“启动盘创建器”下找到。

Startup Disk Creator desktop item

启动盘创建器非常简单易用:

Startup Disk Creator use


通过克隆(有时称为刷新、烧录、恢复),将图像安装到树莓派。如果图像被压缩,克隆之前需要解压缩,或者使用能够提取和克隆的工具。

dd(以及cp和cat)

克隆的基本工具是dd。您还可以使用cpcat来达到相同的目的。但是这三个工具在用于克隆、写入大容量存储设备时存在风险,因为它们会无条件地执行您要求它们执行的操作。所以,如果您要求它们擦除家庭照片... 一个次要的输入错误就可能导致灾难。 dd有时被称为“数据销毁器”。

  • 是的,您可以使用dd(或cp或cat)来达到这个目的,但在按下Enter键之前,请仔细检查多次,确保您知道自己在做什么,并且一切都符合要求。

更安全的工具

有几个工具可以帮助你从镜像文件或压缩的镜像文件中克隆,并提供更多的安全性。有一个“最终检查点”,并且目标设备会以一种易于识别和确保正确的方式被“看到”(而不是存储家庭照片的驱动器)。
磁盘别名gnome-disks有一个内置的克隆工具,用于将iso文件或镜像文件恢复到大容量存储设备,例如树莓派的SD卡。磁盘是Ubuntu内置的,因此不需要安装它。在使用磁盘之前,需要先单独提取压缩的镜像文件(某些版本存在错误,详见bug #1571255)。
mkusb使用dd进行克隆,并为dd提供了额外的安全措施。如果镜像文件使用gzip或xz进行压缩('file.img.gz'或'file.img.xz'),mkusb还可以直接安装。请按照以下链接安装和使用mkusb: help.ubuntu.com/community/mkusb Expansion and imaging from a compressed image file sudo add-apt-repository universe # 仅适用于标准版Ubuntu sudo add-apt-repository ppa:mkusb/ppa # 然后按Enter键 sudo apt-get update sudo apt-get install mkusb mkusb-nox usb-pack-efi