Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Recover data from damaged DVD-RW
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2167

PostPosted: Wed Mar 20, 2024 5:06 pm    Post subject: Recover data from damaged DVD-RW Reply with quote

A friend asked me if I could recover his home movie of a cruise, recorded on a mini DVD-RW (1.4GB) using a Sony handicam. Which he dropped. Which physically damaged the disk...

Side 2 looks OK, except when you squint and notice a nick about half way out, and with more care you can see a bit of delamination around the nick.
ddrescue and photorec between them recovered about 400 MB from this, as mpegs, so that's good.

Side 1 (the one with the maker's label) is worse; opposite the nick there's a large amount of delamination outwards to the edge of the disk. But the inner third looks undamaged. However, all the tools I can find stop as soon as they start, and swear blind the disk is only 2048 bytes long.
dvd+rw+mediainfo says:
Code:
INQUIRY:                [HL-DT-ST][DVDRAM GH15F    ][EG00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         14h, DVD-RW Sequential
 Media ID:              TDK502sakuM3
 Current Write Speed:   2.0x1385=2770KB/s
 Write Speed #0:        2.0x1385=2770KB/s
GET [CURRENT] PERFORMANCE:
 Write Performance:     2.0x1385=2770KB/s@[0 -> 716799]
 Speed Descriptor#0:    02/716799 R@3.3x1385=4584KB/s W@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
 Media Book Type:       00h, DVD-ROM book [revision 0]
 Legacy lead-out at:    716800*2KB=1468006400
READ DVD STRUCTURE[#0h]:
 Media Book Type:       32h, DVD-RW book [revision 2]
 Last border-out at:    2045*2KB=4188160
READ DISC INFORMATION:
 Disc status:           appendable
 Number of Sessions:    1
 State of Last Session: incomplete
 "Next" Track:          0
 Number of Tracks:      0
READ FORMAT CAPACITIES:
 unformatted:           716192*2048=1466761216
 00h(800):              716192*2048=1466761216
 10h(10):               716192*2048=1466761216
 15h(10):               716192*2048=1466761216
READ CAPACITY:          0*2048=0

which IIUC says either it's never been written, though the friend swears he recorded at least 15 minutes on BOTH sides.
My last attempt was to try "spacing over" whatever control guff the disk has, using as root:
Code:
ryzen ~ # ddrescue -n -i32Ki -s300Mi -d /dev/sr0 side2.iso side2.map
ddrescue: Can't start reading at pos 32Ki.
          Input file is only 2Ki bytes long.

Is that a vain hope because the DVD reader hardware cannot be cirumvented, is the friend wrong and the other side has never been used, are there other tools, etc.?

I note with ignorance that the other side has a different media type: 13h, DVD-RW Restricted Overwrite - in full:
Code:
INQUIRY:                [HL-DT-ST][DVDRAM GH15F    ][EG00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         13h, DVD-RW Restricted Overwrite
 Media ID:              TDK502sakuM3
 Current Write Speed:   2.0x1385=2770KB/s
 Write Speed #0:        2.0x1385=2770KB/s
GET [CURRENT] PERFORMANCE:
 Write Performance:     2.0x1385=2770KB/s@[0 -> 716799]
 Speed Descriptor#0:    02/716799 R@3.3x1385=4584KB/s W@2.0x1385=2770KB/s
READ DVD STRUCTURE[#10h]:
 Media Book Type:       00h, DVD-ROM book [revision 0]
 Legacy lead-out at:    716800*2KB=1468006400
READ DVD STRUCTURE[#0h]:
 Media Book Type:       32h, DVD-RW book [revision 2]
 Last border-out at:    2045*2KB=4188160
READ DISC INFORMATION:
 Disc status:           appendable
 Number of Sessions:    1
 State of Last Session: incomplete
 "Next" Track:          1
 Number of Tracks:      1
READ FORMAT CAPACITIES:
 no media:              716192*2048=1466761216
 00h(800):              716192*2048=1466761216
 10h(10):               716192*2048=1466761216
 15h(10):               716192*2048=1466761216
READ TRACK INFORMATION[#1]:
 Track State:           incomplete incremental,damaged
 Track Start Address:   0*2KB
 Next Writable Address: 678672*2KB
 Free Blocks:           37520*2KB
 Fixed Packet Size:     16*2KB
 Track Size:            716192*2KB
READ CAPACITY:          0*2048=0

_________________
Greybeard
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Wed Mar 20, 2024 7:41 pm    Post subject: Reply with quote

Goverp,

Can you share the map file from the recovered side?

The thinking is like this ...
Fake a a mapfile for ddrescue that says that nothing is recovered but describes the space to be recovered.

Feed this fake mapfile to ddrescue so it does not try to read the media to determine anything about the media as its already in the mapfile.
Being lazy, I would make a copy of the mapfile you already have and edit that to describe one disk surface.

My memory of these disks it that they were turned over to use the second side. A bit like 8mm film was 16mm then split down the middle during processing.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2167

PostPosted: Thu Mar 21, 2024 10:56 am    Post subject: Reply with quote

NeddySeagoon wrote:
...
The thinking is like this ...
Fake a a mapfile for ddrescue that says that nothing is recovered but describes the space to be recovered.

Feed this fake mapfile to ddrescue so it does not try to read the media to determine anything about the media as its already in the mapfile.
...

Sneaky! I like that - it's essentially what I was trying to do with the -i -s options, but that didn't work for the reasons above. So I need a fake map that marks out the first say 400 MiB or so, less a bit at the start; should be easy, and as you say, I have the mapfile for the other side for a starter. I'll give it a try.
_________________
Greybeard
Back to top
View user's profile Send private message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2167

PostPosted: Thu Mar 21, 2024 1:55 pm    Post subject: Reply with quote

Tried this:
Code:
# Mapfile. Created by GNU ddrescue version 1.27
# Command line: ddrescue -n -d -b4096 -i8192 /dev/sr0 dvdside2.iso dvdside2.map
# Start time:   2024-03-21 13:45:51
# Current time: 2024-03-21 13:45:51
# Copying non-tried blocks... Pass 1 (forwards)
# current_pos  current_status  current_pass
0x00002000     ?               1
#      pos        size  status
0x00000000  0x00001000  +
0x00001000  0x16CA7000  ?
0x16CA8000  0x7FFFFFFFE9357FFF  +

and with command line:
Code:
ddrescue -n -d -b$b -i$start /dev/sr0 dvdside2.iso dvdside2.map

where b is a blocksize is a multiple of 4 in the range 2000-4096, and start=b+b,
and got consistently
Code:
ddrescue: /dev/sr0: Unaligned read error. Is sector size correct?

(Same result without specifying -i.)

I guess it was a good idea, but the DVD-ROM hardware is too smart to be fooled.
_________________
Greybeard
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54572
Location: 56N 3W

PostPosted: Thu Mar 21, 2024 5:27 pm    Post subject: Reply with quote

Goverp,

I thought the DVD physical block size was 32k. Or maybe 16k?
but the 2k logical block size was faked.

A long time ago I used DVD+RWs as big floppies. They only have a write like of about 1000 cycles, so writing is chunks smaller than the physical block size was a very bad thing.
Mounting RW was to be avoided too as the writing then clearing the dirty bit cost two writes.

Maybe that 32x/16k block size was a property of the UDF filesystem and not the media itself?

Mabe it was just too long ago :)
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2167

PostPosted: Thu Mar 21, 2024 8:09 pm    Post subject: Reply with quote

Neddy, thanks for looking at this. I think we've reached the end of the road on this one:

The ISOBuster web site says the hardware does 32KiB sectors (actually even bigger, containing ECC coded stuff), but the interface maps that into 2KiB sectors, and there is no way to read the raw data.

Looking at that dvd+rw-mediainfo, it's very consistent with nothing ever having been written to this side of the disk - it's in sequential mode, and there are no tracks.
I tried finalizing the session with
Code:
growisofs -M /dev/sr0=/dev/zero

and that told me I had to use "-Z" rather than "-M", which IIUC means no session has ever been written, so again, looks like this side has never been used, and my friend got confused.
_________________
Greybeard
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum