如何在 WSL 上使用 dd?
How to use dd on WSL?
如何使用 dd
命令在 WSL 中转储可移动磁盘的内容?
当我运行,
dd if=/mnt/d of=sdDump bs=512 count=1
我收到错误 dd: error reading '/mnt/d': Is a directory
我按照steps shown here挂载了磁盘:
sudo mkdir /mnt/d
sudo mount -t drvfs D: /mnt/d
这样做可以让我通过 ls
查看磁盘上的文件,但是 运行ning dd
会产生上述错误。
这是一个使用类别错误。 dd
不适用于目录,它适用于文件。这些文件可以是 device files(如 /dev/sda
或 Linux 上的 /dev/urandom
)或常规文件(如 echo foo >> myfile.txt
)。您要传递的是已安装文件系统中的目录。
不幸的是,WSL 似乎不支持访问您的块设备文件(即它没有 /dev
)。您可以在他们的问题跟踪器上关注 this 功能请求,看看他们何时会添加支持。
mount命令的典型用法是指定你要挂载什么(a device,在*nix上a device是实际上只是一种特殊类型的文件)和你想挂载它的地方(一个目录)。 dd
命令需要某种类型的文件。在您的示例中,D:
是 设备 ,因此这是您需要传递给 dd
的参数:
dd if=D: of=sdDump bs=512 count=1
免责声明:我没有 WSL 经验,但我已经使用 mount
和 dd
几十年了。
正如@asad-saeeduddin 所说,WSL 没有块级访问权限,但这并不意味着您不能在 Windows!
上使用 dd
我发现 dd 是与 Git 一起为 Windows 安装的工具集的一部分。安装后你可以在 C:\Program Files\Git\usr\bin\dd.exe
中找到它
等同于 /dev/sda 的 Windows 是 \.\PHYSICALDRIVE0 并且您可以使用此命令找到本地机器设备的正确 ID(还有 returns 扇区大小):
Get-WmiObject Win32_diskdrive | select Caption,DeviceID,BytesPerSector,InterfaceType,Size
如何使用 dd
命令在 WSL 中转储可移动磁盘的内容?
当我运行,
dd if=/mnt/d of=sdDump bs=512 count=1
我收到错误 dd: error reading '/mnt/d': Is a directory
我按照steps shown here挂载了磁盘:
sudo mkdir /mnt/d
sudo mount -t drvfs D: /mnt/d
这样做可以让我通过 ls
查看磁盘上的文件,但是 运行ning dd
会产生上述错误。
这是一个使用类别错误。 dd
不适用于目录,它适用于文件。这些文件可以是 device files(如 /dev/sda
或 Linux 上的 /dev/urandom
)或常规文件(如 echo foo >> myfile.txt
)。您要传递的是已安装文件系统中的目录。
不幸的是,WSL 似乎不支持访问您的块设备文件(即它没有 /dev
)。您可以在他们的问题跟踪器上关注 this 功能请求,看看他们何时会添加支持。
mount命令的典型用法是指定你要挂载什么(a device,在*nix上a device是实际上只是一种特殊类型的文件)和你想挂载它的地方(一个目录)。 dd
命令需要某种类型的文件。在您的示例中,D:
是 设备 ,因此这是您需要传递给 dd
的参数:
dd if=D: of=sdDump bs=512 count=1
免责声明:我没有 WSL 经验,但我已经使用 mount
和 dd
几十年了。
正如@asad-saeeduddin 所说,WSL 没有块级访问权限,但这并不意味着您不能在 Windows!
上使用 dd我发现 dd 是与 Git 一起为 Windows 安装的工具集的一部分。安装后你可以在 C:\Program Files\Git\usr\bin\dd.exe
中找到它等同于 /dev/sda 的 Windows 是 \.\PHYSICALDRIVE0 并且您可以使用此命令找到本地机器设备的正确 ID(还有 returns 扇区大小):
Get-WmiObject Win32_diskdrive | select Caption,DeviceID,BytesPerSector,InterfaceType,Size