web-dev-qa-db-ja.com

Cygwinを使用してSDメモリーカードから画像をコピーする方法

一言で言えば、私はWindows 7マシンで作業していて、イメージを SDカード から取り除きたい Raspberry Pi からカードをバックアップする) 。 Cygwin を使用しようとしていますが、あまり成功していません。

/devディレクトリを確認すると、SDカードがsddおよびsdd1として表示されているようです。ただし、次のコマンドを実行すると、

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

私は以下を得ます:

dd:「/ dev/sdd」を開く:権限が拒否されました

同様の構文を使用して、MacおよびLinuxで dd を問題なく使用しました。 Cygwinには何が欠けていますか?

30
GrandAdmiral

Permission deniedエラー、あなたは root ではないため。 Cygwinのコンテキストではこれは奇妙に聞こえますが、思いがけないことです。

通常起動されるCygwin Shellでステータス(id)をクエリすると、次のような結果が得られます。

$ 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になる秘訣は、セッションを開始するelevatedです。つまり、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
28
mpy

最近、WindowsでUSBドライブを別のUSBドライブに複製する必要がありました。私のドライブは追加のソフトウェアを備えたマルチブートなので、FS上のすべてのファイルをコピーしたくありませんでした。 DDは明らかな選択でしたが、私はLinuxを使用していなかったので、DDを機能させるために実行しなければならないことがいくつかありました。

Cygwinをインストールして、次のようにしました。

最初に、私のf:ボリュームが/ dev/sdXデバイスであるかを理解する必要がありました。そのためには、このコマンドをcygwinで実行します。 (ヒント:cygwinは必ずadmin privsで起動してください。* 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:\

etc ...ここで、F:ドライブをE:ドライブに複製することがはっきりとわかります。次のコマンドを発行します。

実際にはもう1つのステップがあります。デバイスのルートを見つける必要があります。デバイスのサイズを持つ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

お役に立てれば

12
Jaime

私は Windowsの場合はdd で成功しましたが、これはポートではなく書き換えだと思います。これはオープンソースであり、Cygwinに依存していません。

私は特にdd --listコマンド。すべてのディスクデバイスと、必要な情報を特定するのに十分な情報を一覧表示します。

2
RomanSt

SB Image Tool のようなものはありますか?
または、Cygwinの使用を主張しますか? ...

2
nik

HDD Rawコピーツール SDカードのコピーを作成できます。保存ダイアログで「生画像(dd画像)」を選択すると、ddで作成したものと同じになります。画像も復元できます。

私はそれがcygwin経由で行われていないことを知っていますが、個人的にはrawデバイスへのアクセスを信用しません。

1
yuikonnu

RaspberryPi.org がSDメモリーカードに画像を書き込むために Win32 Disk Imager を推奨していることがわかります。カードからも画像を読み取るので、今試してみます。

0
GrandAdmiral