标签: dd

如何使用 DD 命令行工具在 U 盘上创建 MBR

好的,我正在尝试通过运行 Lion 的 Mac 在 USB 密钥上创建一个 BOOTABLE Windows7 映像。我的图像是 .iso 格式。我试过:

sudo dd if=/Users/myusername/Win7.iso of=/dev/disk1 bs=1m
Run Code Online (Sandbox Code Playgroud)

这成功地写入了文件,除了在 mac 上的磁盘实用程序中,它将分区类型显示为 GUID 分区表而不是“主布尔记录”。在我的 Vista 计算机上启动密钥会产生错误“USB 设备上没有引导扇区”

据我所知, DD 命令中的 bs=1m 应该为引导扇区留下 1 兆字节,但由于某种原因,USB Key 的这个区域未正确设置,因此无法引导

我该如何解决这个问题,或者正确地使用 dd 编写一个可启动的 cd 映像,使其现在是一个可启动的 USB 驱动器?

注意:在我阅读的说明中,他们建议在使用 DD 之前将我的 Win7.iso 重命名为 Win7.dmg,这对我来说完全没有意义,所以我没有这样做。我现在可以尝试执行该步骤,但是将图像写入 USB 驱动器需要 1.99 小时,因此这里的反复试验会造成巨大损失。谢谢你。

usb windows-7 mbr dd macos

16
推荐指数
3
解决办法
7万
查看次数

从有坏道的磁盘中更快地恢复

最近我试图dd从一个不健康的硬盘驱动器到一个文件。我用过dd if=/dev/sdb of=somefile bs=4096 conv=noerror,sync。我的问题是dd当它遇到坏块时浪费了很多时间。在我的用例中,我很乐意为更快的结果支付一些数据丢失的费用。

有什么方法可以使错误处理更快?也许是内核调整(告诉 HDD 减少读取块的工作量)?还是其他程序?

linux hard-drive data-recovery dd bad-sectors

16
推荐指数
1
解决办法
3万
查看次数

仅从硬盘克隆正在使用的空间

我可以使用 dd、rsync、clonezilla 或任何工具在 Linux 中仅克隆硬盘中正在使用的空间吗?我需要从 1 TB 硬盘(仅使用 2 GB 空间)备份到 500 GB 硬盘。

linux hard-drive clone dd clonezilla

16
推荐指数
1
解决办法
4万
查看次数

为什么 `dd conv=sparse` 没有像我预期的那样节省空间?

我打算为我的旧 USB 驱动器制作一个图像。我有充分的理由期望设备上有一些填充零的块,因此为了节省一些空间,我使用了以下conv=sparse选项:

dd if=/dev/sdb of=myusb.img conv=sparse bs=32M
Run Code Online (Sandbox Code Playgroud)

然而,它什么也没救我:

$ ls -hls myusb.img
250M -rw-r--r-- 1 root root 250M Oct 18 21:31 myusb.img
Run Code Online (Sandbox Code Playgroud)

我确定设备上有零填充块。为什么不dd conv=sparse节省空间?


注意我已经知道答案(我认为)。我把它贴在下面。问题供以后参考。

dd buffer sparsefile

15
推荐指数
1
解决办法
1万
查看次数

如何判断您是否拥有伪造的 SD 卡

我收到了一些看起来是假的闪存驱动器。丝印显示 64 个演出,它们在操作系统中显示为 64 个演出。

但是,如果您尝试写入任何大于 4 gig 的文件,该文件就会损坏。

如何快速判断闪存驱动器/sd 卡是否是假的,以及实际大小是多少?

旁注
我知道 h2testw,但它是德语的,而且我觉得它极难使用。我正在寻找替代程序,或者从命令行执行此操作的方法。
任何平台都可以。

sd-card dd

13
推荐指数
3
解决办法
5988
查看次数

如何对硬盘的第一条磁道进行十六进制转储?

我将如何在 Ubuntu 中为 HDD 的第一条轨道执行 hexdump?

如果有意义的话,我正在寻找一个 winhex 式的输出。第一个磁道有 63 个扇区,每个扇区长 512 个字节。我试过

dd if=/dev/sda bs=1 count=512 | hexdump -C
Run Code Online (Sandbox Code Playgroud)

但这只是给了我看起来是 MBR 或 HDD 的第一个扇区的东西。我想我对 bs 和 count 应该是什么感到困惑。bs 表示要显示多少字节,count 是 bs 的多少倍数?谢谢!

linux hard-drive dd ubuntu

12
推荐指数
1
解决办法
2万
查看次数

拯救坏扇区的硬盘:dd vs gddrescue

我在互联网上的某个地方读到gddrescue优于dd 至少在能够区分在有问题的扇区上执行的磁盘读取量方面。真的是这样吗?

时间 dd if=/dev/sda skip=900343967 of=a.bin count=4 iflag=direct conv=noerror,sync

dd: 读取`/dev/sda': 输入/输出错误
2+0 记录中的
2+0 记录
复制了1024 字节 (1.0 kB),18.6057 秒,0.1 KB/s 4+0 记录中的
3+1
记录输出
2048复制的字节 (2.0 kB),18.6707 s,0.1 kB/s

真实 0m18.672s
用户 0m0.000s
系统 0m0.004s

顺便说一句,直接标志真的很有帮助,没有它我只能读取 4 个扇区中的 1 个(与 3/4 相比)。然而,这明显降低了传输速度——对我来说至少慢了大约 5 倍:5MB/s vs 25MB/s没有这个标志。无论如何,现在对于gddrescue (ddrescue) 部分..

时间 ddrescue -b512 -c1 -s4b -dnvD -i900343967b -o0b /dev/sda b.bin

即将从 /dev/sda 复制 2048 字节到 b.bin
起始位置:infile = …

linux hard-drive dd bad-blocks

11
推荐指数
1
解决办法
3万
查看次数

快速创建随机字节的大文件

我想创建一个充满零和随机值的大文件 ~10G。我试过使用:

dd if=/dev/urandom of=10Gfile bs=5G count=10
Run Code Online (Sandbox Code Playgroud)

它创建了一个大约 2Gb 的文件并以退出状态 0 退出。我不明白为什么?

我还尝试使用以下方法创建文件:

head -c 10G </dev/urandom >myfile
Run Code Online (Sandbox Code Playgroud)

但创建它大约需要 28-30 分钟。但我希望它创建得更快。有人有解决方案吗?

此外,我希望创建多个具有相同(伪)随机模式的文件进行比较。有谁知道这样做的方法吗?谢谢

unix dd head random-number-generator

11
推荐指数
3
解决办法
2万
查看次数

尝试访问 RAM /dev/mem... 说“不允许操作”

我正在使用 Ubuntu 12.04

我阅读了以下有关如何在 Linux 中访问 RAM 内容的教程....

http://www.rootninja.com/using-dd-to-search-for-strings-in-memory-or-devices/

代码:

dd if=/dev/mem | hexdump -C | grep “string to search for”

所以,我运行代码...

代码:

sudo dd if=/dev/mem | hexdump -C > NAMEOFOUTPUTFILEHERE.txt

而且……它开始输出十六进制代码,直到几秒钟后,它说:

dd: reading `/dev/mem': Operation not permitted
2056+0 records in 
2056+0 records out
1052672 bytes (1.1 MB) copied, 0.44834 s, 2.3 MB/s
Run Code Online (Sandbox Code Playgroud)

所以基本上..我能够获得大约 3.3 MB 的 RAM 转储内容——直到程序停止,说“不允许操作”

所以我想知道为什么我不能转储 RAM 的全部内容?这是在 Ubuntu 中故意限制以阻止恶意黑客吗?或者是别的什么?有人知道吗?谢谢

memory linux dd hexdump

10
推荐指数
1
解决办法
1万
查看次数

如果我将零添加到 dd 所在的驱动器会发生什么?

dd if=/dev/zero of=/dev/sda bs=1M如果 dd 命令最初在 /dev/sda 上,这个命令会成功吗?这会因为 dd 当时在内存中而完成吗?

linux dd

10
推荐指数
2
解决办法
1884
查看次数