我可以从以 x 地址开始的磁盘制作图像吗?

我可以从以 x 地址开始的磁盘制作图像吗?

我试图从磁盘中获取从特定地址开始的特定数据(不知道它是否是物理地址,例如:0x00000000DA88FFFF,大小为 0x5776)。实际上,我对磁盘映像器和这些东西还不熟悉,我发现命令适合制作磁盘映像,但我找不到任何与从特定地址以特定大小启动映像相关的内容,有什么办法吗?我想从磁盘中提取特定信息。

答案1

有一个skip参数允许您跳过输入开始时的某个部分。

问题是,dd 一次读取一个块,将一个块读入内存,然后将该块写入输出,然后重复。如果您要跳过的字节数不是默认块大小 (512) 的倍数,则需要设置块大小。以下方法可行:

dd if=/dev/sda1 bs=1 skip=3666411519 count=22390 of=/some/file

在这种情况下,您将块大小设置为单个字节(因为您的跳过值是任意的,而不是任何特定值的倍数)。

使用 1 字节的块大小会相对较慢,但如果您只读取大约 22kB,那就不是什么大问题了。

答案2

dd有一个skip标志:

skip=N skip N ibs-sized blocks at start of input

但地址必须是 N*ibs。但 0x00000000DA88FFFF = 3×1222137173,这似乎不是一个合理的起点。一般来说,你可以这样做:

dd ibs=X start=Y count=Z if=/some/disk

复制Z*X从 开始的字节Y*X

相关内容