Windowscygwinでdd
コマンドを使用してSDカードをコピーしようとすると、次のエラーが発生します。
_>>> dd if=i:\ of=k:\backup_sd_card.img bs=4M dd: error reading 'i:\': Is a directory 0+0 records in 0+0 records out 0 bytes copied, 0.00629135 s, 0.0 kB/s
_
または私も試してみてください:
_>>> dd if=\\?\Volume{ab627f51-f12b-11e7-bc1b-e277073b2b9d}\ of=k:\backup_sd_card.img bs=1M dd: failed to open '\?Volumeab627f51-f12b-11e7-bc1b-e277073b2b9d\': No such file or directory
_
ドライブsygnatureはmountvol
コマンドから取得されます。
私が使用しているddバージョン:
>>> dd --version dd (coreutils) 8.26 Packaged by Cygwin (8.26-2)
dd
のような画像を使用してコピーを作成し、元に戻す方法は?
DdでDOS構文ディレクトリを使用しないでください!!ディレクトリの構文はLinuxの場合と似ています。そのような構文を使用することをどこで思いついたのですか?少なくともある種のガイドに従うようにしてください!
このコマンドは、たとえば私にとってはうまくいきました。 (管理コマンドプロンプトから実行)、_-b 1M
_を_-b 4M
_に変更できます(4Mあり、おそらく後者の方が高速ですが、1Mで問題ありません)
(私はddrescue(gnuパッケージであり、実際にはddよりも優れています)を使用していますが、パーティションを指定した方法は、現在の方法とは対照的に、ddにも適用されます)
_$ ddrescue -r3 -b 1M -d /dev/sdb /cygdrive/c/crp/fsfwr_.fc
_
Cygwinは、何がどこにマウントされているかを表示する場合、Linuxよりも扱いにくいです。
/ devを見て、_$ cygpath -w sdb1
_のようなことを行うことができます。たとえば、 _\\.\F:
_
そして、Linux wizがcygwinで使用するために私に示したこのクレイジーなコマンドは、cygpath -wコマンドを自動化し、どこで何が口にされているかのリストを提供します
for F in $(gawk '{if (FNR > 2) print "/dev/" $4;}' /proc/partitions) ; do echo "$F $(cygpath -w $F)" ; done
その後、次のように表示されます
_/dev/sda \\.\PhysicalDrive0
/dev/sda1 \\.\Volume{b6ef2ec3-451e-11e2-822b-806e6f6e6963}
/dev/sda2 \\.\C:
/dev/sdb \\.\PhysicalDrive1
/dev/sdb1 \\.\F:
/dev/sdc \\.\PhysicalDrive2
/dev/sdc1 \\.\G:
/dev/sdc2 \\.\Volume{b6ef2ec3-451e-11e2-822b-806e6f6e6963}5
_
したがって、dd行の構文は次のようになりますが、sdb1ではない場合がありますが、上記のコマンドを実行して、使用する/ devを確認できます。
_dd if=/dev/sdb1 of=/cygdrive/k/backup_sd_card.img bs=4M
_