如何使用 Cygwin 从 SD 存储卡复制图像

如何使用 Cygwin 从 SD 存储卡复制图像

长话短说,我在一台 Windows 7 机器上工作,我想从SD卡(从树莓派)我正在尝试使用赛格威,但没有取得太大的成功。

检查/dev目录,我的 SD 卡似乎显示为sddsdd1。但是,当我运行以下命令时:

dd if=/dev/sdd of=RPi.img

我得到以下信息:

dd:打开‘/dev/sdd’:权限被拒绝

我用过在 Mac 和 Linux 上都没有任何问题,使用类似的语法。我在 Cygwin 上遗漏了什么?

答案1

你得到Permission denied错误,因为你没有root。这在 Cygwin 的环境下听起来有些奇怪,但却很有说服力。

id当你在正常启动的 Cygwin shell 中查询状态( )时,你会得到类似这样的信息:

$ id
uid=1001(user) gid=545(Users) groups=545(Users),555(Remote Desktop Users),513(None)
$ dd if=/dev/sda bs=1000 count=1 | wc -c
dd: opening `/dev/sda': Permission denied
0

在 Windows 7 下,进入 Cygwin 的诀窍root是启动会话升高即右键单击 Cygwin 图标并选择以管理员身份运行。现在你的还不是root它自己,但至少在root的组中:

$ id
uid=1001(user) gid=545(Users) groups=545(Users),0(root),544(Administrators),555(Remote Desktop Users),513(None)

现在,dd它就可以像你在 Un*x 中习惯的那样工作了:

$ dd if=/dev/sda bs=1000 count=1 | wc -c
1+0 records in
1+0 records out
1000 bytes (1.0 kB) copied, 0.00104424 s, 958 kB/s
1000

答案2

我最近不得不在 Windows 上将一个 USB 驱动器克隆到另一个。我的驱动器是带有附加软件的多重引导驱动器,所以我不想只复制 FS 上的所有文件。DD 是一个明显的选择,但我没有使用 Linux,所以我必须做一些事情才能让它正常工作。

我安装了 cygwin 并执行以下操作。

首先我必须弄清楚我的 f: 卷是什么 /dev/sdX 设备。为此,请在 cygwin 中运行此命令。(提示:确保以管理员权限启动 cygwin。*右键单击 cygwin 并“以管理员身份运行”)

    cat /proc/partitions
which should output:
   8 0 3813383838 sda
   8 1       4031 sda3 C:\
   8 15  30588303 sdb 
   8 15  30588303 sdb1 E:\
   8 21  30530020 sdc
   8 22  30530020 sdc1 F:\

等等...在这里您可以清楚地看到,要将我的 F:驱动器克隆到我的 E:驱动器,我会发出以下命令。

实际上还有一个步骤,你必须找到设备的根目录。查找具有设备大小的 sd*。这应该很容易,因为大小应该是众所周知的,例如 8GB、16GB、32GB,以字节为单位展开,如上所示。

dd if=/dev/sdc of=/dev/sdb bs=8M

我的图像是 32gb..我不想只是坐着等待闪烁的光标..我想看到进度,所以我在 cygwin 中安装了“pv”。

dd if=/dev/sdc | pv | dd of=/dev/sdb bs=8M

现在,如果您想将拇指驱动器复制到图像,请执行以下操作。

dd if=/dev/sdX | pv | dd of=/cygdrive/c/Users/Myname/Desktop/mythumbdrive.img bs=8M

希望这可以帮助

答案3

我曾成功dd(适用于 Windows),我相信这是重写而不是移植。它是开源的,不依赖于 Cygwin。

我特别喜欢这个dd --list命令,它列出了所有磁盘设备以及足够的信息来识别我想要的设备。

答案4

HDD 原始复制工具可以复制 SD 卡。如果您在保存对话框中选择“原始图像(dd 图像)”,则它将与使用 dd 制作的图像相同。您也可以恢复图像。

我知道这不是通过 cygwin 完成的,但我个人不相信它访问原始设备。

相关内容