好的,我正在尝试通过运行 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 小时,因此这里的反复试验会造成巨大损失。谢谢你。
最近我试图dd从一个不健康的硬盘驱动器到一个文件。我用过dd if=/dev/sdb of=somefile bs=4096 conv=noerror,sync。我的问题是dd当它遇到坏块时浪费了很多时间。在我的用例中,我很乐意为更快的结果支付一些数据丢失的费用。
有什么方法可以使错误处理更快?也许是内核调整(告诉 HDD 减少读取块的工作量)?还是其他程序?
我可以使用 dd、rsync、clonezilla 或任何工具在 Linux 中仅克隆硬盘中正在使用的空间吗?我需要从 1 TB 硬盘(仅使用 2 GB 空间)备份到 500 GB 硬盘。
我打算为我的旧 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节省空间?
注意我已经知道答案(我认为)。我把它贴在下面。问题供以后参考。
我收到了一些看起来是假的闪存驱动器。丝印显示 64 个演出,它们在操作系统中显示为 64 个演出。
但是,如果您尝试写入任何大于 4 gig 的文件,该文件就会损坏。
如何快速判断闪存驱动器/sd 卡是否是假的,以及实际大小是多少?
旁注:
我知道 h2testw,但它是德语的,而且我觉得它极难使用。我正在寻找替代程序,或者从命令行执行此操作的方法。
任何平台都可以。
我将如何在 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 的多少倍数?谢谢!
我在互联网上的某个地方读到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 = …
我想创建一个充满零和随机值的大文件 ~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 分钟。但我希望它创建得更快。有人有解决方案吗?
此外,我希望创建多个具有相同(伪)随机模式的文件进行比较。有谁知道这样做的方法吗?谢谢
我正在使用 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 中故意限制以阻止恶意黑客吗?或者是别的什么?有人知道吗?谢谢
dd if=/dev/zero of=/dev/sda bs=1M如果 dd 命令最初在 /dev/sda 上,这个命令会成功吗?这会因为 dd 当时在内存中而完成吗?
dd ×10
linux ×6
hard-drive ×4
bad-blocks ×1
bad-sectors ×1
buffer ×1
clone ×1
clonezilla ×1
head ×1
hexdump ×1
macos ×1
mbr ×1
memory ×1
sd-card ×1
sparsefile ×1
ubuntu ×1
unix ×1
usb ×1
windows-7 ×1