Pre

去年买的B+,玩了两天就放下了,今年双十一,买了一堆传感器和扩展板,准备重新玩起来,写一系列的文章。 本文系翻译官网的教程,因为官网的教程写的太好了。

注意

dd工具会覆盖你机器的任何分区,如果你指定了错误的设备,可能会删掉你Linux的主分区,请在下面的步骤中,慎重检查。

  • 运行df -h来查看当前有哪些设备被挂载了。
  • 连接你的tf/sd卡到你的电脑
  • 再次运行df -h,新添加的设备就是你的sd卡。在该命令的结果中,左边一栏是设备的名字,类似/dev/mmcblk0p1或者/dev/sdd1,名字最后的p1(或者1)是分区号,而不是整个sd卡,我们后面应该把系统写到整张sd卡上。因此,你应该记录下来的是/dev/mmcblk0/dev/sdd,这才是你的sd卡。在最后的写系统操作完成后,重新插入sd卡,系统会自动检测出来,而且是多个分区,因为Raspberry Pi SD 的镜像有多个分区。 [Find注:linux的命令规则sd是外置存储,一般硬盘是sda,而新添加的设备一般都从sdb开始,我的就是sdb。这里一定注意是/dev/sdb,而不是像命令行中显示的/dev/sdb1。是写入整个sd卡。如果你写错了,最简单的方法就是插入到windows系统中,系统会提示磁盘未格式化,需要格式化才能访问,那就痛快的格式化,重新写一遍。]
  • 运行umount /dev/sdd1,当然,此处就是在上一步的命令中显示的名字(此时不是sdd,是sdd1)。这是为了防止在运行你的copy命令的时候,sd卡有其他的文件读写事件。
  • 如果你的sd卡有多个分区,在上一步中,你应该把所有的分区都卸载(umount)掉
  • 写镜像到sd卡,if=是你下载的镜像的文件(默认下载是zip文件,需要先解压出来)地址,of=是你要写入的地址,就是一开始让你记录的sd卡的设备地址。一定要明确,是sd卡整个的地址,不是某个分区的地址。
dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdd
  • 块大小设置成4M一般没有问题,如果失败了,设置1M试试,当然会更慢。
  • 如果你不是root用户登录的,那么上面的命令需要加sudo
  • dd命令不会给出任何交互的信息,没有进度条,没有任何提示,如果你读卡器有指示灯,看到它在狂闪就对了。你也可以通过在另外一个命令行窗口中运行pkill -USR1 -n -x dd(当然也需要sudo)来看到执行dd命令的窗口里打印一次结果。执行几次,就打印几次。
  • 你也可以用dcfldd代替dd,这个命令会给出进度。
  • 你可以通过dd命令做sd卡到镜像,然后和下载的镜像做对比(使用diff或者md5sum命令),看它们是否一致。sd卡镜像可能比原生的大,确保下面检测命令中你的参数正确,此时if就成了设备地址,of是你想保存的文件名
dd bs=4M if=/dev/sdd of=from-sd-card.img
truncate --reference 2015-09-24-raspbian-jessie.img from-sd-card.img
diff -s from-sd-card.img 2015-09-24-raspbian-jessie.img

[Find注:我从来没有检测过。一般是没有问题的。] + 最后不要忘了运行sync,确保cache中的数据都被写到了sd卡上。 + 移除sd卡,插到pi是试试吧


文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://findhao.net/easycoding/1494.html

Comments