Como retomo uma gravação de DVD 'wodim' abortada com Ctrl + C?

Como retomo uma gravação de DVD 'wodim' abortada com Ctrl + C?

Eu queria gravar um ISO em um DVD+R. Decidi fazer uma gravação fictícia primeiro (onde o laser está desligado, então é basicamente uma simulação), já que nunca havia usado o comando antes e queria ter certeza de que estava fazendo certo. Eu fiz wodim -v dev=/dev/sr0 speed=4 -dummy -eject path/to.isoe parecia que estava funcionando corretamente. Descobrindo que não queria esperar que terminasse de fingir que estava queimando a imagem grande do disco, apertei Ctrl + C e digitei o mesmo comando sem -dummyiniciar a gravação de verdade.

wodim: WARNING: Data may not fit on current disk.
wodim: Notice: Most recorders cannot write CD's >= 90 minutes.
wodim: Notice: Use -ignsize option to allow >= 90 minutes.
wodim: Notice: Use -overburn option to write more than the official disk capacity.
wodim: Notice: Most CD-writers do overburning only on SAO or RAW mode.

Tirei o disco e olhei para baixo, e vi um anel fino com uma diferença de tonalidade, indicando que uma pequena quantidade de dados havia sido gravada no disco. Só posso concluir que por algum motivo a -dummyopção não funcionou, e estava queimando a imagem de verdade, pelo menos até eu abortar.

Acho que a -overburnopção sugerida é usada para gravar uma nova faixa desde o início, o que não é o que eu quero. Preciso inicializar a partir deste disco, para que a estrutura real dos dados seja importante, e não apenas que os arquivos que desejo estejam acessíveis. Como faço para terminar de onde parou para que o disco não seja desperdiçado? Não vejo nenhuma indicação exata de onde parou (apenas "145 de 4177 MB gravados", o que não é exato o suficiente), mas deve ser fácil determinar lendo o disco e a imagem e descobrindo onde eles diferem primeiro .

EDITAR:Eu costumava cmpcomparar /dev/sr0com o ISO e dizia que o primeiro byte diferente é o byte 152307713. Então foi aí que parou. Se eu cortar o início do ISO para que ele comece naquele byte e depois gravar esse arquivo no disco usando o mesmo comando, isso funcionará? Ou haverá um limite de pista ou algo intermediário que causará problemas?

EDITAR 2:Aqui está o resultado dos comandos sugeridos por Thomas Schmitt:

$ dvd+rw-mediainfo /dev/sr0
INQUIRY:                [MATSHITA][DVD+-RW UJ8C7   ][1.00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         1Bh, DVD+R
 Media ID:              CMC MAG/M01
 Current Write Speed:   8.0x1385=11080KB/s
 Write Speed #0:        8.0x1385=11080KB/s
 Write Speed #1:        2.4x1385=3324KB/s
 Speed Descriptor#0:    01/2295103 [email protected]=4294967040KB/s [email protected]=11080KB/s
 Speed Descriptor#1:    01/2295103 [email protected]=4294967040KB/s [email protected]=3324KB/s
READ DVD STRUCTURE[#0h]:
 Media Book Type:       00h, DVD-ROM book [revision 0]
 Legacy lead-out at:    2295104*2KB=4700372992
READ DISC INFORMATION:
 Disc status:           appendable
 Number of Sessions:    1
 State of Last Session: incomplete
 "Next" Track:          1
 Number of Tracks:      2
READ TRACK INFORMATION[#1]:
 Track State:           partial/complete
 Track Start Address:   0*2KB
 Next Writable Address: 74384*2KB
 Free Blocks:           2064480*2KB
 Track Size:            2138864*2KB
READ TRACK INFORMATION[#2]:
 Track State:           blank
 Track Start Address:   2138880*2KB
 Next Writable Address: 2138880*2KB
 Free Blocks:           156224*2KB
 Track Size:            156224*2KB
 ROM Compatibility LBA: 265696
READ CAPACITY:          0*2048=0
$ cdrskin -v dev=/dev/sr0 -minfo
cdrskin 1.4.2 : limited cdrecord compatibility wrapper for libburn
cdrskin: verbosity level : 1
cdrskin: NOTE : greying out all drives besides given dev='/dev/sr0'
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: pseudo-atip on drive 0
cdrskin: status 3 BURN_DISC_APPENDABLE "There is an incomplete disc in the drive"
scsidev: '/dev/sr0'
Device type    : Removable CD-ROM
Vendor_info    : 'MATSHITA'
Identifikation : 'DVD+-RW UJ8C7'
Revision       : '1.00'
Drive id       : 'WQ36  064543'
Driver flags   : BURNFREE
Supported modes: TAO SAO
cdrskin: burn_drive_get_write_speed = 11080  (8.0x)
Current: DVD+R
Profile: 0x0012 (DVD-RAM)
Profile: 0x002B (DVD+R/DL)
Profile: 0x001B (DVD+R) (current)
Profile: 0x001A (DVD+RW)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0011 (DVD-R sequential recording)
Profile: 0x0010 (DVD-ROM)
Profile: 0x000A (CD-RW)
Profile: 0x0009 (CD-R)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
book type:     DVD+R (emulated booktype)
Product Id:    CMC_MAG/M01/48
Producer:      CMC Magnetics Corporation
Manufacturer:    'CMC MAG'
Media type:      'M01'

Mounted media class:      DVD
Mounted media type:       DVD+R
Disk Is not erasable
disk status:              incomplete/appendable
session status:           empty
first track:              1
number of sessions:       1
first track in last sess: 1
last track in last sess:  2
Disk Is unrestricted
Disk type: DVD, HD-DVD or BD

Track  Sess Type   Start Addr End Addr   Size
==============================================
    1     1 Apdbl  0          2138863    2138864   
    2     1 Blank  2138880    2295103    156224    

Next writable address:              2138880   
Remaining writable size:            156224    

Warning: Incomplete session encountered !
$ xorriso -outdev /dev/sr0 -toc
xorriso 1.4.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev '/dev/sr0'
Media current: DVD+R
Media status : is written , is appendable
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
xorriso : WARNING : Incomplete session encountered !
Drive current: -outdev '/dev/sr0'
Drive type   : vendor 'MATSHITA' product 'DVD+-RW UJ8C7' revision '1.00'
Drive id     : 'WQ36  064543'
Media current: DVD+R
Media product: CMC_MAG/M01/48 , CMC Magnetics Corporation
Media status : is written , is appendable
Media blocks : 1 readable , 156224 writable , 2295104 overall
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
Incmp session:   1 ,         0 ,         0s , 
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
Media nwa    : 2138880s
xorriso : WARNING : Incomplete session encountered !
$ cdrecord -v dev=/dev/sr0 -minfo
wodim: Bad Option: -minfo.
Usage: wodim [options] track1...trackn

Use wodim -help
to get a list of valid options.

Use wodim blank=help
to get a list of valid blanking options.

Use wodim dev=b,t,l driveropts=help -checkdrive
to get a list of drive specific options.

Use wodim dev=help
to get a list of possible SCSI transport specifiers.

Responder1

Provavelmente você terá que desistir deste meio parcialmente escrito e começar com um novo DVD (em branco).

Teoricamente, não é impossível retomar uma execução de gravação em uma trilha de DVD+R gravada de forma incompleta. Mas não tenho conhecimento de nenhum programa de gravação que faça isso. Posso estar errado, no entanto. Então tente o que acontece se você deixar um programa de gravação atuar nessa mídia.

Eu esperaria que os programas de gravação reclamassem sobre uma trilha aberta e abortassem, ou que tentassem iniciar uma nova trilha na área ainda não reivindicada do DVD. Ambos não produzirão uma cópia perfeita do seu ISO no DVD.

Outras opiniões e informações:

wodimnão é realmente adequado para DVD. Use growisofs, cdrskin, xorrecordou cdrecord.

Unidades com mídia DVD+R não oferecem gravação simulada. O que quer que wodimtenha acontecido quando você o executou com option -dummy, não foi o mesmo que você vê com CD-R[W], DVD-R ou DVD-RW não formatado. Considere o início da gravação real como uma indicação de que wodimnão tem ideia de mídia DVD+R, DVD+RW, DVD-RAM, DVD-RW formatado ou BD. (Pode ser suficiente para DVD-R e DVD-RW não formatados, porque eles se comportam de maneira bastante semelhante ao CD-R.)

Você pode inspecionar o estado atual do DVD+R por meio de um dos seguintes comandos:

dvd+rw-mediainfo /dev/sr0

cdrskin -v dev=/dev/sr0 -minfo

xorriso -outdev /dev/sr0 -toc

cdrecord -v dev=/dev/sr0 -minfo

Atualização após "Editar 2" na pergunta:

wodim: Bad Option: -minfoindica que você não tentou o original, cdrecord mas sim um clone bastante órfão wodim. Lá a opção seria o mais antigo -tocem vez de -minfo. A saída é mais difícil de interpretar. Seja como for, o resultado dvd+rw-mediainfoconta a história com os melhores detalhes.

wodimfaixa reservada número 1 com tamanho de 2138864 blocos =~ 4177 MiB. Esta faixa ainda seria gravável começando no bloco 74384 =~ 145 MiB.

Mas esta capacidade de gravação de faixas existentes é uma característica especial do DVD+R (e talvez do BD-R) que não se enquadra bem no modelo de utilização de programas de gravação. Então, eles tentarão usar a faixa número 2 não reservada restante, que começa no bloco 2138880. Se eles aceitarem esse estado médio.

Pelo menos cdrskine xorrisoanunciar que tentariam escrever lá suas declarações Next writable address:e Media nwa. growisofso código-fonte parece que fará a mesma escolha. Sobre (original) cdrecordsó posso adivinhar.

É claro que uma tentativa de gravação do ISO restante na trilha 2 falhará porque ela tem apenas 300 MB livres. (De qualquer forma, isso criaria uma lacuna gigante de setores ilegíveis.)


O que um programa de gravação possivelmente teria que fazer:

Trata-se principalmente de determinar o próximo endereço gravável a partir da trilha existente, e não da próxima trilha que está por vir.

Isso pode ser substituído em libburnfunction burn_disc_track_lba_nwa() ou depois de cdrskinser chamado em sua function Cdrskin_obtain_nwa(). No final, cdrskina variável *nwaprecisaria obter o valor 74384.

Na growisofsfunção para determinar o NWA está plusminus_r_C_parm(). A variável next_sessionprecisaria obter o valor 74384. Provavelmente será necessário fornecer ao programa uma opção adicional de execução -use-the-force-luke=seek=74384e usar a opção -Zem vez de -M.

Outro problema potencial é que os programas após tal hack ainda podem emitir comandos SCSI RESERVE TRACK. Isto deve ser evitado.

Parece que growisofsenvia o comando apenas para DVD-R, DVD-R DL e DVD-RW não formatado. cdrskinnão o enviará se sua opção -taoestiver presente.

É de temer que este esboço não seja totalmente suficiente e que as experiências estraguem o DVD+R parcialmente escrito, irreparavelmente. Mesmo assim, se você quiser ousar, o ponto de partida seria obter o código-fonte dodvd+rw-tools(para growisofs) ou de link estaticamentecdrskin. Então poderíamos começar a discutir por correio qual alteração de código proporcionará melhores chances de sucesso na primeira e única tentativa. O resultado seria então relatado aqui.

(Caso não seja óbvio: sou desenvolvedor de libburne cdrskin.)

informação relacionada