可以强制groveisofs 或dd 擦除CD-R 吗?

可以强制groveisofs 或dd 擦除CD-R 吗?

我需要安全地擦除 CD,而不留下故意数据丢失的痕迹(不能划伤或损坏它),所以我想知道:如何使用 Growthisofs 或 dd 刻录磁盘中所有未刻录的空间,使其不可读?

答案1

Growthisofs 仅适用于 DVD 或 BD 媒体。 dd 无法写入未格式化的 CD(只能格式化 CD-RW,不能格式化 CD-R)。

CD-R 介质在其未使用的区域上可能仍然可写(也称为“可追加”)。但它不能以任何方式被抹去。您只能用一些无害的字节覆盖未使用的区域。 (问题是你为什么要这样做。)

为此,您需要一个支持 CD 的刻录程序,例如 cdrecord、wodim、cdrskin 或 xorriso。首先检查CD-R是否仍然可写:


prog=cdrskin

$prog -v dev=/dev/sr0 -msinfo

您可以使用“cdrecord”、“wodim”、“xorrecord”或“xorriso -as cdrecord”代替“cdrskin”。

如果 CD-R 仍然可写,您将在标准输出上得到两个逗号分隔的数字。如果它不再可写(又名“关闭”),那么您将不会在标准输出上得到任何输出,而是得到一些错误消息,例如:


cdrskin: FATAL : -msinfo can only operate on appendable (i.e. -multi) discs

cdrecord: Cannot get next writable address for 'invisible' track.

wodim: Cannot get next writable address for 'invisible' track.

xorriso : FAILURE : Output medium is not appendable. Cannot obtain -msinfo.

如果你得到这些数字,你可以用随机字节刻录到介质上,直到刻录机因已满而抛出错误:


prog=cdrskin

dd if=/dev/urandom bs=1M | $prog -v dev=/dev/sr0 -eject -

或者如果全零足以满足您的目的:


dd if=/dev/zero bs=1M | $prog -v dev=/dev/sr0 -eject -

但正如我所说,你为什么要这么做?

祝你今天过得愉快 :)

托马斯

相关内容