O growisofs ou o dd podem ser forçados a apagar um CD-R?

1

Eu preciso apagar com segurança um CD sem marcas de perda de dados intencional (não posso riscar ou quebrar), então eu estava pensando: como eu poderia usar o growisofs ou dd para gravar todos os espaços não gravados no disco para torná-lo em branco?

    
por cabo 06.08.2017 / 16:21

1 resposta

1
O

growisofs funciona apenas com mídia de DVD ou BD. dd não pode escrever para não formatado CD (somente o CD-RW, mas não o CD-R, pode ser formatado).

Um meio de CD-R pode ainda ser gravável (também conhecido como "acrescentável") no seu tamanho não utilizado. área. Mas não pode ser apagado de forma alguma. Você só pode sobrescrever o área não utilizada por alguns bytes inofensivos. (Pergunta é por que você quer fazer isso.)

Para isso, você precisa de um programa de gravação compatível com CD, como cdrecord, wodim, cdrskin, ou xorriso. Primeiro verifique se o CD-R ainda é gravável:


prog=cdrskin

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

Você pode usar "cdrecord", "wodim", "xorrecord" ou "xorriso -as cdrecord" em vez de "cdrskin".

Se o CD-R ainda estiver gravável, você receberá dois números separados por vírgula na saída padrão. Se não for mais gravável (também conhecido como "fechado"), você não receberá saída no stdout mas sim alguma mensagem de erro como:


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.

Se você obtiver os números, poderá gravar no meio com bytes aleatórios até que o gravador envie um erro porque está cheio:


prog=cdrskin

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

ou se todos os zeros forem bons o suficiente para o seu propósito:


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

Mas como disse, por que você quer fazer isso?

Tenha um bom dia :)

Thomas

    
por 07.08.2017 / 12:20