[资源发布] “修复” 的 Longhorn 版本 4048

Longhorn 4048 is probably one of the most boring builds of Longhorn and even worse, the leaked copy is actually incomplete. The ISO got truncated (cut off) and we only have the first 436273152 bytes. The Windows image install.wim is incomplete as a result of that, and only the first 425633792 bytes survived. This means the last 226239579 bytes of install.wim are gone for good.

A truncated WIM is not something good. The metadata resource for the third index and the lookup table for the entire WIM are all located at the end of the WIM so they are all gone. Metadata resource contains information such as the filename, path, timestamp, attribute and security information of files in that index. Without metadata resource you will not know which file is which. The lookup table contains information such as the size and location of the compressed data and the checksum, so without that files cannot even be extracted.

I do know a bit about the WIM format and I actually got a copy of 4048 before everyone else so I managed to manually extract a few interesting files from it, namely the kernel, desksrv.dll and the shell. I have posted 4048’s ntoskrnl.exe and some other random files before and you can use them to make 4051 report 4048, but obviously you can’t call that a fixed build 4048.

In order to actually fix the build, all recoverable files must be extracted and obviously it isn’t something easy to do. The entire lookup table and the metadata resource for index 3 needs to be reconstructed. I have attempted that in the past but I gave up after recovering the first index which is the WinPE image. Lukas Marsik, an experienced programmer and a renowned Windows expert actually spent almost 2 years on this and he succeeded. He found out that build 4051 is very similar to build 4048 in terms of directory structure so he borrowed some of the 4051 stuff and got all recoverable files to extract.

Now with only the recovered files there is no way to make it boot, as almost exactly a third of the system files are missing (gone completely) and the registry hives are gone as well. The .NET-related part of registry changes massively between builds so editing 4051’s registry hives to work for 4048 isn’t doable. Since the IBS registry INFs survived, they can be combined to form hivewin.inf so an I386 repack is perhaps the best way of installing 4048. I spent a week and a half to reconstruct all those deleted registry INFs and CAB files and now I have an installable copy of 4048. Don’t ask me how I did the I386 repack, I did not follow any of the guides on the internet because they are trash and it is super hard to write a proper guide.

You can download the I386 repack here. Since we are missing about a third of the files, I’ve borrowed them from build 4051. Considering that this is now a frankenbuild (“Frankenstein” build; Victor Frankenstein from the novel Frankenstein created a monster by sewing various body parts together), you will see errors during the installation (mainly due to signature mismatches). I have patched setupapi.dll and syssetup.dll to get rid of those fatal certificate/catalog errors but the nonfatal ones are still there.

After completing text mode setup, you’ll see various message boxes and dialog boxes, please make sure you do what the description below says when you encounter them.

[资源发布] “修复” 的 Longhorn 版本 4048》上有6个想法

    • Well… The person who did the translation is a native Chinese speaker and he said he didn’t use things like Google Translate. Looks like either his Chinese is crap… or he lied to me. Articles like this does include technical terms so it probably isn’t something easy to translate.

      Unfortunately there isn’t much I can do about it… so feel free to edit my articles if you think you can improve them.

发表评论