¿Cómo puedo reanudar una grabación de DVD 'wodim' cancelada con Ctrl+C?

¿Cómo puedo reanudar una grabación de DVD 'wodim' cancelada con Ctrl+C?

Quería grabar un ISO en un DVD+R. Decidí hacer una escritura ficticia primero (donde el láser está apagado, por lo que es básicamente un ensayo) ya que nunca antes había usado el comando y quería asegurarme de que lo estaba haciendo bien. Lo hice wodim -v dev=/dev/sr0 speed=4 -dummy -eject path/to.isoy parecía que estaba funcionando correctamente. Pensando que no quería esperar a que terminara de simular quemar la imagen del disco grande, presioné Ctrl+C y escribí el mismo comando sin -dummyiniciar la grabación de verdad.

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.

Saqué el disco, miré la parte inferior y vi un anillo delgado con una diferencia de tono, lo que indicaba que se había grabado una pequeña cantidad de datos en el disco. Sólo puedo concluir que por alguna razón la -dummyopción no funcionó y estaba quemando la imagen de verdad, al menos hasta que la aborté.

Supongo que la -overburnopción que sugiere se usa para grabar una nueva pista desde el principio, que no es lo que quiero. Necesito arrancar desde este disco, por lo que la estructura real de los datos importa, no solo que los archivos que quiero sean accesibles. ¿Cómo hago para que termine donde lo dejó para que el disco no se desperdicie? No veo ninguna indicación exacta de dónde quedó (sólo "145 de 4177 MB escritos", lo cual no es lo suficientemente exacto), pero debería ser fácil de determinar leyendo el disco y la imagen y encontrando en qué se diferencian por primera vez. .

EDITAR:Solía cmp​​​​comparar /dev/sr0con el ISO y decía que el primer byte diferente es el byte 152307713. Ahí es donde lo dejamos. Si corto el comienzo del ISO para que comience en ese byte y luego grabo ese archivo en el disco usando el mismo comando, ¿funcionará? ¿O habrá un límite de pista o algo intermedio que causará problemas?

EDITAR 2:Aquí está el resultado de los 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.

Respuesta1

Probablemente tendrás que abandonar este medio parcialmente escrito y empezar con un DVD nuevo (en blanco).

En teoría, no es imposible reanudar una ejecución de escritura en una pista DVD+R escrita de forma incompleta. Pero no conozco ningún programa de grabación que pueda hacerlo. Yo podría, sin embargo, estar equivocado. Así que prueba lo que sucede si dejas que un programa de grabación actúe en ese medio.

Yo esperaría que los programas de grabación se quejen de una pista abierta y la cancelen, o que intenten iniciar una nueva pista en el área aún no reclamada del DVD. Ninguno de los dos producirá una copia impecable de su ISO en el DVD.

Más opiniones e información:

wodimNo es realmente adecuado para DVD. Utilice growisofs, cdrskin, xorrecordo cdrecord.

Las unidades que contienen medios DVD+R no ofrecen escritura simulada. Independientemente de lo que wodimhizo cuando lo ejecutó con la opción -dummy, no fue lo mismo que vio con CD-R[W], DVD-R o DVD-RW sin formato. Tome el inicio de la grabación real como una indicación de que wodimno tiene ni idea de los medios DVD+R, DVD+RW, DVD-RAM, DVD-RW formateado o BD. (Podría ser suficiente para DVD-R y DVD-RW sin formato, porque se comportan de manera bastante similar a los CD-R).

Puede inspeccionar el estado actual del DVD+R mediante uno de los siguientes comandos:

dvd+rw-mediainfo /dev/sr0

cdrskin -v dev=/dev/sr0 -minfo

xorriso -outdev /dev/sr0 -toc

cdrecord -v dev=/dev/sr0 -minfo

Actualización después de "Editar 2" en la pregunta:

wodim: Bad Option: -minfoindica que no probaste el original cdrecord sino que, mientras tanto, es un clon bastante huérfano wodim. Allí la opción sería la más antigua -tocen lugar de -minfo. El resultado es más difícil de interpretar. Sea lo que sea, el resultado de dvd+rw-mediainfocuenta la historia con el mejor detalle.

wodimpista reservada número 1 con un tamaño de 2138864 bloques =~ 4177 MiB. Esta pista aún se podría escribir a partir del bloque 74384 =~ 145 MiB.

Pero esta capacidad de escritura de pistas existentes es una característica especial del DVD+R (y tal vez del BD-R) que no encaja bien en el modelo de uso de los programas de grabación. Por lo tanto, preferirán intentar utilizar la pista número 2 restante sin reservas, que comienza en el bloque 2138880. Si es que aceptan este estado medio.

Al menos cdrskiny xorrisoanuncian que intentarían escribir allí por sus declaraciones Next writable address:y Media nwa. growisofsParece que el código fuente tomará la misma decisión. Sobre (original) cdrecordsólo puedo adivinar.

Por supuesto, un intento de escritura del ISO restante en la pista 2 fallará porque solo tiene 300 MB libres. (De todos modos, crearía una brecha gigante de sectores ilegibles).


Lo que posiblemente tendría que hacer un programa de grabación:

Se trata principalmente de determinar la próxima dirección de escritura a partir de la pista existente en lugar de la siguiente pista por venir.

Esto podría anularse en libburnla función burn_disc_track_lba_nwa() o después de cdrskinhaberlo llamado en su función Cdrskin_obtain_nwa(). Al final, cdrskinla variable *nwanecesitaría obtener el valor 74384.

En growisofsla función para determinar el NWA es plusminus_r_C_parm(). La variable next_sessionnecesitaría obtener el valor 74384. Probablemente uno tendrá que darle al programa una opción adicional de ejecución -use-the-force-luke=seek=74384y usar la opción -Zen lugar de -M.

Otro problema potencial es que los programas después de tal pirateo aún podrían emitir comandos SCSI RESERVE TRACK. Esto debe evitarse.

Parece que growisofsenvía el comando sólo a DVD-R, DVD-R DL y DVD-RW sin formato. cdrskinNo lo enviará si su opción -taoestá presente.

Hay que temer que este boceto no sea del todo suficiente y que los experimentos estropeen irremediablemente el DVD+R parcialmente escrito. Si quieres atreverte de todos modos, el punto de partida sería obtener el código fuente dedvd+rw-tools(para growisofs) o de vinculado estáticamentecdrskin. Luego podríamos comenzar a discutir por correo qué cambio de código brindará mejores posibilidades de éxito en el primer y único intento. El resultado se informará aquí.

(En caso de que no sea obvio: soy desarrollador de libburny cdrskin).

información relacionada