使用 dd 创建随机 ISO 映像

rob*_*rod 7 iso dd data-cd

我想用这里提到的方法创建一个 ISO 文件来测试光驱。我想创建一个填充随机数据的 ISO 文件,这样我就可以将它刻录到 CD,读回来并与原始 ISO 进行比较。我认为下面的命令会做我想做的。

dd if=/dev/urandom of=cd-rom_test.iso bs=2048 count=333000
Run Code Online (Sandbox Code Playgroud)

但是,我不确定一些事情。

首先,块大小应该是多少?ISO 映像是否包含 CD 上的标题和纠错数据?块大小应该是 2048(没有头部和纠错)还是 2352(有头部和纠错)?

其次,我遇到的一些网站有sync这个conv选项(这里的例子)。据我所知,用 0 填充标题和纠错信息,这肯定是不对的。

Kar*_*son 8

根据您的描述,您应该执行以下操作:

dd if=/dev/urandom of=testfile bs=1M count=699
mkisofs -o test_cdrom.iso testfile
Run Code Online (Sandbox Code Playgroud)

完成后,您可以从光学媒体读取和写入您的内心内容。

我建议的一件事是,不要预先测试光学介质,然后尝试编写实际的 ISO,然后验证您是否还可以编写目标数据 ISO 一次,因为它会给您与您尝试的完全相同的结果无需花费时间即可实现 Write->Read->Verify->Format


Kyl*_*nes 2

由于您正在使用 写入文件dd,因此块大小不会改变结果输出。块大小仅在写入设备时才重要。

您正在从永远不会返回短读取的设备进行读取,因此您不需要使用sync来填充块。

无论如何,dd都没有对纠错数据的读或写访问权限。与磁性介质一样,驱动器管理该数据,您只能看到已纠错的块。