对应于dd的windows
我需要读写各种闪存卡图像。在linux中,我总是用dd来完成这个任务。有什么好的windows系统的同类软件?
简单地说,我需要能够将整个卡读入一个文件,反之亦然。我试过 WinDD ,但它似乎是在分区上操作,而不是在整个设备上操作,但我需要能够转储整个磁盘/卡和它的分区表,而不管它的内容如何。
使用Windows 7 64bit,读卡器在USB3接口上。
我需要读写各种闪存卡图像。在linux中,我总是用dd来完成这个任务。有什么好的windows系统的同类软件?
简单地说,我需要能够将整个卡读入一个文件,反之亦然。我试过 WinDD ,但它似乎是在分区上操作,而不是在整个设备上操作,但我需要能够转储整个磁盘/卡和它的分区表,而不管它的内容如何。
使用Windows 7 64bit,读卡器在USB3接口上。
只要使用dd for WIndows……就能完美地工作,尽管它是一个相当老的项目。
(https://rufus.akeo.ie/)工作如期进行。选择 “DD Image "来创建可启动磁盘。
源码发布在GitHub上。 https://github.com/pbatard/rufus . balenaEtcher 是另一个Windows兼容的工具,用于向U盘写入镜像。它的速度也很快,而且比Rufus更容易使用。
我的经验。Win32DiskImager无法通过USB-3读卡器检测到u-SD;dd for Windows、MinGW编译的dd、Unix Utils dd和Linux dd VIA VirtualBox虚拟机USB3通过速度都慢得让人无法接受;我还没有找到一个Windows命令行的等效工具,可以击败我看到的Rufus 50MB/s的写入速度。
首先我还尝试了Win32DiskImager,我以为它只是根据显示进行分区拷贝(不是,它可以备份整个SD卡),所以我继续搜索。
我目前最喜欢的是 HDDRawCopy 。它可以将整个磁盘映像复制到/从文件中,但不是单独的分区。它在飞行过程中创建dd兼容或压缩的图像–不像7zip那么高效(甚至达不到ZIP的性能),但你不需要再次接触图像。
很惊讶没有人提到GNU core utils for Windows,我已经使用它们多年了。它们是32位的二进制文件,但显然,除了less
,它们在Windows 7 64位下仍然可以工作。
使用实例。
C:\Windows\Temp>dd if="\.\s:" of=sdrive.dat bs=4096
25599+0 records in
25599+0 records out
104853504 bytes (105 MB) copied, 30.3147 seconds, -56145186608800624000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000 MB/s
C:\Windows\Temp>dd if="\.\physicaldrive0" of=mbr.dat bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0210012 seconds, -891479495977528 kB/s
报告的时间有点奇怪,但除此之外,似乎工作得很好。
我只是想验证一个驱动器是否被擦除,所以我关心的只是阅读,但如果你像我一样不信任那些可执行文件的话,这个python脚本可以被修改成任何这样。打开Windows分区管理器,得到你关心的驱动器的盘号是多少,把那个2改成这个数就可以了。然后你就可以把这个写出来,如果你做的是wb而不是rb,你也可以写。祝你好运
import sys
f = open('\\.\PhysicalDrive2','rb')
a = f.read(1)
i = 1
kb = 1024
mb = kb*1024
while a == b'\x00':
i+=1
if i % mb == 0:
sys.stdout.write('\r{} MB scanned'.format(i/mb))
a = f.read(1)
print('done')
```。
哇,所有这些反应和DISM已经存在了多久? 很确定它是内置在Windows 7从开始。
DISM /capture-image /imag-file:d:\backup.wim /capturedir:c:\ /name:simpleback
有很多设置你可以调整。
如果要在 Windows 上使用真正的 dd
,不要寻找半成品的替代品,只要安装真正的 GNU dd
。最好的方法可能是 Cygwin ,一个非常完整的 GNU 和其他 FOSS 工具的发行版。把它想象成在Windows之上安装 “Linux”(或者说,一个(GNU)Linux发行版),没有任何仿真层,也没有像Windows Subsystem for Linux那样的有限黑盒。它是原生的,因为它得到了。
为了使用它,你需要: 1:
1、安装一个基本的Cygwin环境。这样做按照网站上的指示,如果你只需要dd
,只需留下默认值–但你也可以找点乐子,并得到它所提供的提示。
2. 打开Cygwin终端以管理员身份_,然后用cat /proc/partitions
检查你想在哪个设备/分区上工作。
3. 使用 dd
,就像在任何 (GNU) Linux 上一样。
在尝试了这里推荐的一些工具后,我最终在Windows 10上使用了 balena Etcher 。Rufus给我的结果是一个不正确的校验和。HDDRawCopy给了我一个写入错误)。)
rawcopy
来自 http://www.ltr-data.se/opencode.html/ 。rawcopy -h
显示的是手册。
如果你需要/dev/zero
和/dev/random
,有 “Zero and Random device driver "从同一个网站。