我刚刚将Windows 8.1的还原保存到 U 盘上;现在,我一直在通过执行以下命令在我的硬盘上创建它的低级副本:
sudo dd if=/dev/sdf of=/disk2/Archive/windows8.1-restore.img bs=4M oflag=direct
我想仔细检查我的“dd”命令是否正常,所以我重新运行了两次,同时指定了bs=8M和bs=16M;我检查了大小,它完全相同,但是md5sum为三个文件提供了不同的输出:
c38a2b07b3d473d3f1876331edc2647b windows8.1-restore.img.4M 568e382844431eef63d4ba6dc4c2c5ac windows8.1-restore.img.8M 568e382844431eef63d4ba6dc4c2c5ac windows8.1-restore.img.16M
我相信我已经第二次和第三次卸载了 U 盘。
我应该担心什么吗?
编辑
31024349184在所有情况下,总文件大小都是字节,我的理解bs=xxx是控制速度以防万一有人想转储整个 USB 设备/驱动器。
该/data文件夹保存在磁带上
dar -R /data/ -c - | mbuffer -R 110M -P 90 -m 1G | dd of=/dev/nst0 bs=256k\nRun Code Online (Sandbox Code Playgroud)\n\n我如何测试、列出并提取它?
\n\n我尝试了以下方法来测试存档,但没有运气:
\n\n# mt -f /dev/nst0 status\nSCSI 2 tape drive:\nFile number=0, block number=0, partition=0.\nTape block size 0 bytes. Density code 0x58 (no translation).\nSoft error count since last status=0\nGeneral status bits on (41010000):\n BOT ONLINE IM_REP_EN\n\n# dd if=/dev/nst0 bs=256k | dar -t -\ndd: error reading \xe2\x80\x98/dev/nst0\xe2\x80\x99: Cannot allocate memory\n0+0 records in\n0+0 records out\n0 bytes (0 B) copied, …Run Code Online (Sandbox Code Playgroud) 我有一个我想要的文件,其中起始字节偏移量为 3020852,结束字节偏移量为 13973824。
这个命令有一些变化:dd ibs=X obs=Y skip=1 count=1我还没有开始工作。
我必须安全地擦除硬盘上的所有数据,因为我要把它放弃。我计划使用ddLinux 下的实用程序来执行此操作,经过一些研究,我发现了两种方法:
dd if=/dev/zero of=/dev/sde将用 0 个字符覆盖整个硬盘驱动器,这种技术显然使数据更容易恢复,尽管仍然很难提取。dd if=/dev/urandom of=/dev/sde将用随机数据覆盖整个硬盘。这两种技术中哪一种最好?用随机数据覆盖整个硬盘会给它带来很大的压力吗?
这是我遇到问题的命令
username@computer /current/working/directory
$ dd if="$filename" bs=1 seek=10 count=10 conv=notrunc status=progress^C
0+0 records in
0+0 records out
0 bytes copied, 1.70242 s, 0.0 kB/s
Run Code Online (Sandbox Code Playgroud)
测试输出到文件审判(为了理智?)
username@computer /current/working/directory
$ dd if="$filename" bs=1 seek=10 count=10 conv=notrunc status=progress of=test
22+0 records in
22+0 records out
22 bytes copied, 0.0115305 s, 1.9 kB/s
Run Code Online (Sandbox Code Playgroud)
环境
username@computer /current/working/directory
$ echo $filename
somefile.ext
username@computer /current/working/directory
$ dd --version
dd (coreutils) 8.26
Packaged by Cygwin (8.26-1)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version …Run Code Online (Sandbox Code Playgroud) 这相当于:
dd if=/dev/sda ...
dd if=/dev/sda1 ...
Run Code Online (Sandbox Code Playgroud)
Chrysocome语法适用吗?
假设我想将某个命令的输出通过管道传输到一个文件中。简单地……好吧,将它传送到一个文件,例如
some-command > file
Run Code Online (Sandbox Code Playgroud)
和管道它通过dd像
some-command | dd $MAYBE_SOME_OPTIONS_LIKE_BS of=file
Run Code Online (Sandbox Code Playgroud)
这个问题主要是为了满足我的好奇心,除非后一种形式有一些不可忽视的好处或用例,否则在实践中我会省去练习并选择前者。
我以大约 28 美元的价格从AliExpress购买了一张 256 GB 的 SD 卡,起初以为它是垃圾,但评论似乎很好。
我使用 f3write 和 f3read 来验证它确实包含 256GB,并显示平均速度为 60 MB/s。
黑盘魔术表演结果:
我想知道为什么它的价格如此便宜以及我可以做哪些其他测试?难道它不支持任何其他格式?有什么办法可以绕过f3write吗?一般来说,这里给出了什么?
我目前正在尝试使用dd备份和复制外部硬盘驱动器中的 Backups.db 文件夹(其中包含 Mac OS 的所有 Time Machine 备份)。问题是我的硬盘不仅包含 Backups.db 文件夹,还包含其他顶级文件夹和文件。如果我dd在设备上使用,它也会复制其他文件夹和文件。我需要使用类似的东西,dd因为 Backups.db 文件夹中存在硬链接,这使得类似cp或tar不起作用的东西。
此时,我是否应该复制其他顶级文件夹,以便外部驱动器仅包含 Backups.db 文件夹?或者有更有效的方法吗?我问的是,据我所知dd,卸载后只能在设备上使用。
典型的linux机器挂载atmpfs来存储临时文件:
$ df
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 953M 702M 203M 78% /
tmpfs 1.5G 111M 1.5G 0% /tmp
...
Run Code Online (Sandbox Code Playgroud)
在实时计算机上,如何将底层内存作为tmpfs块设备访问,以便将其映像用于dd文件恢复/取证/入侵检测目的?没有设备可以/dev正确地将所使用的内存隔离并映射tmpfs到块设备。
此处已提出此问题,但没有一个答案有帮助:https://www.linuxquestions.org/questions/linux-general-1/how-to-backup-ramfs-or-tmpfs-using-dd-4175422520 /