My dad has owned an ancient Panasonic DMR-EX71S Digital Video Recorder for quite a while now, and in the last few months, I grew increasingly fearful of losing the old recordings (due to hard drive failure) that are stored on there. After a bit of reading online, I had a plan to put into practice.
Dumping the hard disk with dd
The first step of the recovery was creating a hard drive image, and my old Dell D630 Notebook seemed like a good choice as the process could possibly take a while and I didn’t want to occupy a device which I might would have wanted to use during that time.
I put a blank 320GB hard disk inside, onto which we will write the dump. It will be easy to transfer the files onto my computer that way. After burning Lubuntu 18.04 onto a DVD and booting it up, it was time to do the actual dumping.
dd if=/dev/sdb of=/media/lubuntu/Volume/out/Panasonic.dd status=progress
The speed was painfully slow, about 4.5 MB/s. It took about ten whole hours to dump the 160 Gigabyte hard disk. Maybe a different USB port would have been quicker on that one, but it didn’t matter too much in the end.
A picture of the extraction setup.
Extraction & Post-Processing
Luckily, someone before me already had the same problem and wrote an utility for extracting. Otherwise, it wouldn’t have been possible for me. They were kind enough to provide source and binaries. The program took quite a while to run, but it was a lot of data after all, so that’s fine.
After the tool had finished the extraction process, I was left with a big folder full of files.
2010-10-17 22:35:01 40k 0016.IFO
2010-12-24 02:58:00 51k 0038.IFO
2011-10-03 13:10:00 3k 0126.IFO
2010-10-17 22:35:02 40k 0016.BUP
2010-12-29 09:15:08 429M 0051.VRO
2011-05-05 02:55:02 46k 0147.IFO
and so on ...
You can check the full console dump here.
Obviously, there were some rather old videos on there (about 14 years at this point). But nothing was named, and I wasn’t gonna do that all manually. So a quick snippet of powershell did at least some of the work for me.
foreach ($f in Get-ChildItem | Where-Object Extension -EQ '.IFO'){
Write-Output $f.Name
C:\Users\Simon\Downloads\meihdfs\dvd-vr.exe $($f.Name) | Out-File -Append -FilePath "$outfile\$($f.Name.Replace('.IFO','')).txt" -Encoding ascii
}
Conclusion
After extracting the information for each recording, I went over everything and decided what to keep and what to throw away. In the end, I was left with about 100GB of old MPEG2 videos.
I am quite happy with the result, as with the acquired disk image, it would even be possible to replace the hard drive, should it fail. And one last thing: For those that are interested in the media properties, here is a dump of the ffprobe output.