How to use dd on WSL?

Jet Blue picture Jet Blue · May 21, 2018 · Viewed 14.8k times · Source

How can I used the dd command to dump the contents of a removable disk in WSL?

When I run,

dd if=/mnt/d of=sdDump bs=512 count=1

I get the error dd: error reading '/mnt/d': Is a directory

I followed the steps shown here to mount the disk:

sudo mkdir /mnt/d
sudo mount -t drvfs D: /mnt/d

Doing this allows me to see the files on the disk via ls, but running dd yields the above error.

Answer

Asad Saeeduddin picture Asad Saeeduddin · May 26, 2018

This is a category error in usage. dd doesn't work with directories, it works with files. The files can be device files (like /dev/sda or /dev/urandom on Linux), or regular files (like echo foo >> myfile.txt). What you're trying to pass is a directory in a mounted filesystem.

Unfortunately, WSL doesn't seem to support accessing your block device files (i.e. it doesn't have /dev). You can follow this feature request on their issue tracker to see when they will add support.