I have a install.esd based Windows 8 ISO, I using wimlib-imagex.exe to extract from it, wimlib-imagex.exe fails:
E:\wimlib-1.7.1-BETA-windows-i686-bin>wimlib-imagex.exe extract I:\sources\install.esd 1 --dest-dir=j:\ [ERROR] Failed to decompress data! MiB (42%) done
ERROR: Exiting with error code 2:
Failed to decompress compressed data.
Last edit: Json B 2014-07-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Are you able to provide an example file that has the problem?
If not, can you check whether you are able to extract any individual files from the image using 'wimlib-imagex extract'? Try several different files in different directories.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I downloaded the ISO file for testing, so you can remove or hide it now.
There's a bad compressed data chunk about halfway through the install.esd file. About 2 megabytes into the chunk, the data starts decompressing into garbage. Have you verified that DISM is able to extract it successfully...?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wimlib can't successfully extract it.
F:\wimlib-1.7.1-BETA-windows-x86_64-bin>wimlib-imagex.exe extract E:\sources\install.esd 7 --dest-dir=G:\ [ERROR] The stream is corrupted!96 MiB (37%) done
(Expected SHA1=153bc23b01fb4c4a9d46bce07e098e1c8fab8212,
got SHA1=2747738da1a41df226fee21ab955b81448f420a3)
ERROR: Exiting with error code 28:
The SHA1 message digest of a WIM resource did not match the expected value.
I had already successfully extracted it using dism.exe.
C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools>dism /Apply-Image /ImageFile:E:\sources
\install.esd /index:7 /ApplyDir:G:\
Deployment Image Servicing and Management tool
Version: 6.3.9600.17029
Applying image [==========================100.0%==========================]
The operation completed successfully.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't think DISM even checks SHA-1 message digests by default. Try passing the /Verify option to DISM and seeing if it still works. Also I generally wouldn't trust a file you download from a torrent.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't want to torrent that entire file. Can you post the output of 'wimlib-imagex info' and 'wimlib-imagex info --lookup-table' when passed the WIM file as an argument?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have done it. like this:
wimlib-imagex.exe info e:\sources\install.esd > info.txt
wimlib-imagex.exe info --lookup-table e:\sources\install.esd > lookup-table.txt
Thanks. I've made a special build of the library to help debug the problem. Try to extract an image from your install.esd using wimlib-imagex.exe inside the testing.zip file attached to this post. It should dump compressed chunks to the files "chunk51" and "chunk52". It's completely untested, but if it works then upload the two chunk files to somewhere where I can access them.
I've fixed the problem and uploaded updated v1.7.1-BETA files. There was a very slight difference (just one byte!) in how chunk52 was being decompressed, due to a quirk in how Microsoft implemented pre- and post-processing of x86 machine code with LZMS compression. Thanks for reporting the problem!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Also, funnily enough, the /verify option to DISM doesn't actually do anything. With ImageX it would check file checksums. Of course, wimlib does this by default so that problems like what you reported don't go undetected...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Eric,
I have a install.esd based Windows 8 ISO, I using wimlib-imagex.exe to extract from it, wimlib-imagex.exe fails:
E:\wimlib-1.7.1-BETA-windows-i686-bin>wimlib-imagex.exe extract I:\sources\install.esd 1 --dest-dir=j:\
[ERROR] Failed to decompress data! MiB (42%) done
ERROR: Exiting with error code 2:
Failed to decompress compressed data.
Last edit: Json B 2014-07-20
Are you able to provide an example file that has the problem?
If not, can you check whether you are able to extract any individual files from the image using 'wimlib-imagex extract'? Try several different files in different directories.
Here is my ISO:
https://drive.google.com/file/d/0Bx0KvOFxfoTvUkE0dkhITlloYkE/edit?usp=sharing
I downloaded the ISO file for testing, so you can remove or hide it now.
There's a bad compressed data chunk about halfway through the install.esd file. About 2 megabytes into the chunk, the data starts decompressing into garbage. Have you verified that DISM is able to extract it successfully...?
Here's what I got with DISM...
So it looks like the file really does contain garbage. I can't do anything about it then.
I downloaded an ISO file from:
http://suprbay.net/torrent/10426142/Windows_8.1_AIO_24in1_with_Update_x64_v2_en-US_Jun2014
wimlib can't successfully extract it.
F:\wimlib-1.7.1-BETA-windows-x86_64-bin>wimlib-imagex.exe extract E:\sources\install.esd 7 --dest-dir=G:\
[ERROR] The stream is corrupted!96 MiB (37%) done
(Expected SHA1=153bc23b01fb4c4a9d46bce07e098e1c8fab8212,
got SHA1=2747738da1a41df226fee21ab955b81448f420a3)
ERROR: Exiting with error code 28:
The SHA1 message digest of a WIM resource did not match the expected value.
I had already successfully extracted it using dism.exe.
C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools>dism /Apply-Image /ImageFile:E:\sources
\install.esd /index:7 /ApplyDir:G:\
Deployment Image Servicing and Management tool
Version: 6.3.9600.17029
Applying image
[==========================100.0%==========================]
The operation completed successfully.
I don't think DISM even checks SHA-1 message digests by default. Try passing the /Verify option to DISM and seeing if it still works. Also I generally wouldn't trust a file you download from a torrent.
Dism.exe worked perfectly with /Verify and /CheckIntegrity options.
C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools>dism /Apply-Image /Verify /CheckIntegrity
/ImageFile:E:\sources\install.esd /index:7 /ApplyDir:G:\
Deployment Image Servicing and Management tool
Version: 6.3.9600.17029
Applying image
[==========================100.0%==========================]
The operation completed successfully.
I don't want to torrent that entire file. Can you post the output of 'wimlib-imagex info' and 'wimlib-imagex info --lookup-table' when passed the WIM file as an argument?
Also, this won't make a difference for this problem but you really should be using 'wimlib-imagex apply', not 'wimlib-imagex extract'.
I have done it. like this:
wimlib-imagex.exe info e:\sources\install.esd > info.txt
wimlib-imagex.exe info --lookup-table e:\sources\install.esd > lookup-table.txt
Please see the attached file.
Thanks. I've made a special build of the library to help debug the problem. Try to extract an image from your install.esd using wimlib-imagex.exe inside the testing.zip file attached to this post. It should dump compressed chunks to the files "chunk51" and "chunk52". It's completely untested, but if it works then upload the two chunk files to somewhere where I can access them.
It worked perfectly, please see the attached file.
I've fixed the problem and uploaded updated v1.7.1-BETA files. There was a very slight difference (just one byte!) in how chunk52 was being decompressed, due to a quirk in how Microsoft implemented pre- and post-processing of x86 machine code with LZMS compression. Thanks for reporting the problem!
Also, funnily enough, the /verify option to DISM doesn't actually do anything. With ImageX it would check file checksums. Of course, wimlib does this by default so that problems like what you reported don't go undetected...
It worked perfectly now! Thanks for all your hard working.