如何安全地将磁盘映像写入存储卡?

如何安全地将磁盘映像写入存储卡?

我经常将磁盘映像复制到 SD 卡,以便在 Raspberry Pi 上使用。我执行此操作的常用方法是通过dd if=/tmp/filesystem.img of=/dev/sdb,这与在 上覆盖我计算机的引导驱动器仅差一个小拼写错误/dev/sda

有没有更安全的方法来做到这一点,例如。通过删除对启动驱动器进行原始写入的权限?

答案1

我认为最简单的解决方案是不要以 root 身份执行此操作并强制 SD 卡始终获得相同的字母。您可以使用 udev 来实现这一点。

首先使用 udevinfo 获取足够的属性来唯一标识您的卡(或多张卡),然后创建规则,为内核为您的 SD 卡创建的设备分配特定的字母和访问权限。来自谷歌的第一个链接

现在,如果由于某种原因失败,请为 dd 编写包装器脚本,该脚本将检查设备的属性是否与 SD 卡匹配,并且仅当它们确实运行 dd 时。

答案2

没有什么可以阻止您使用内置目标设备的脚本。

#!/bin/bash
#
# Usage:  <script>  <image>
#
img="$1"
dev=/dev/sdb
echo -n "Copy image $img to $dev..."
sleep 5

echo -n " writing..."
cat "$img" >"$dev"
ss=$?

echo " done"
exit $ss

将其放在您的$PATH某个地方并确保它是可执行的。

相关内容