The problem:
The past couple of days I have been working on a scene in blender, every now and then for half an hour or so inbetween other activities. While doing so I didn't save the scene, because I mostly save scenes on exit.
Yesterday when I wanted to continue and opened my laptop, I was greeted with a blue screen of dead (error message UNEXPECTED KERNEL MODE TRAP). I do not know if this crash was related to blender. When I restarted my laptop, everything worked fine again.
However, when I tried to open the last auto save, I could not open the file and got the error "missing DNA block".
As far as I could find, the DNA block is a long string of text in a .blend that represents the structure of the data in the .blend file.
The auto save is said to be edited last on the exact moment when I opened my laptop and got the blue screen. It is considerably larger then the old saves. I figured that it might be saved wrongly, so I opened the .blend file in notepad. The file is not empty and still contains data. However, the last 5% of the file seems to be blank space. I had a file a long time ago that was also wrongly saved and then overwritten entirely by NULL data. It might thus be possible that only the last part is not saved properly because my laptop crashed mid-save.
Is it still possible to recover (a part of) this scene? Can a DNA block be generated from the data in the blend file?
What I have already tried:
I have tried to see if there where other files as well. If I tried recover last session it opens the scene without the progress of the past days. There is a .blend1 file in the folder with the original scene, but this one is also outdated.
I have also tried to append the contents of the auto save to a new .blend file, but the auto save is completely empty.
Update I have done Some research, and it seems that the DNA block is indeed located at the end of the file. I think that blender was writing to the file when the crash happened (or even caused the crash) and thus did not write out the DNA block. As far as I can find, that means that even though all the data is still there (I could find the names of all meshes followed by data in the file in notepad) one can not let blender read it.
I do find putting the DNA block at the end a very questionable decision, as this could mean that no matter when blender fails to write data to a file, the entire file becomes useless.
RIP files.