Powershell 如何在wsl2上使用linux dd命令刻录可引导usb?

Powershell 如何在wsl2上使用linux dd命令刻录可引导usb?,powershell,windows-subsystem-for-linux,dd,wsl-2,Powershell,Windows Subsystem For Linux,Dd,Wsl 2,我是一个狂热的Linux用户,被要求在工作中使用Windows。我被允许在工作计算机上安装WSL2和Ubuntu。我想在WSL2中使用dd刻录一个可引导的USB,但由于lsblk不提供连接到计算机的外部块设备,因此我无法确定如何获取该设备。我知道我可以用鲁弗斯这样的东西来做,但因为它是一台工作电脑,我不允许在电脑上得到这样的东西 在StackOverflow上只有一个类似的问题,但它是关闭的,没有给出答案。然而,它确实给了我一个开始寻找物理设备名称的线索。利用这条线索,我找到了这个问题的答案,并

我是一个狂热的Linux用户,被要求在工作中使用Windows。我被允许在工作计算机上安装WSL2和Ubuntu。我想在WSL2中使用dd刻录一个可引导的USB,但由于lsblk不提供连接到计算机的外部块设备,因此我无法确定如何获取该设备。我知道我可以用鲁弗斯这样的东西来做,但因为它是一台工作电脑,我不允许在电脑上得到这样的东西

在StackOverflow上只有一个类似的问题,但它是关闭的,没有给出答案。然而,它确实给了我一个开始寻找物理设备名称的线索。利用这条线索,我找到了这个问题的答案,并想与大家分享,因为我不仅在StackOverflow上,而且在internet上的任何其他地方都找不到答案。

PowerShell:

# I ran this command to get the DeviceID of my USB Thumbdrive (Mine came out to be
# \.\\PHYSICALDRIVE 5, but yours may vary)
Get-WmiObject Win32_diskdrive | Select Caption,DeviceID,InterfaceType,Size | Where-Object {$_.InterfaceType -eq "USB"}
Ubuntu 20.04终端:

# After I got the physical drive number from powershell (as I would do using lsblk in Linux) I
# formatted the drive using mkfs to ensure it would work before trying to use dd.
sudo mkfs.vfat -I \\.\PHYSICALDRIVE5

# After a successful format, I was able to run dd as normal
sudo dd if=path/to/my/file.iso of=\\.\PHYSICALDRIVE5 status=progress

mkfs.vfat问题的答案是,我有一个习惯,即确保我使用的usb格式化为FAT32。我想这不是必须的,但肯定是我一直采取的步骤


谢谢你,@rowman,我不知道它被弃用了。从现在起,我将使用Get-CimInstance Win32_DiskDrive。使用Where对象调用格式化Get WmiObject要容易得多。

我有debian/wsl2,但出现错误:mkfs.vfat:无法打开\.\\PHYSICALDRIVE2:没有这样的文件或目录由于输入错误,我更新了答案。如果您使用\\.\PHYSICALDRIVE2而不是\.\\PHYSICALDRIVE2,这将起作用。谢谢您的回复!一个问题:
dd
命令应该清除整个物理驱动器5,为什么需要
mkfs.vfat
Get Wmiobject
不推荐使用。使用
et CimInstance Win32\u DiskDrive
如果您打算在下一步对文件系统进行重写,那么创建文件系统似乎毫无意义