Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to automatically split install.wim if needed #265

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

depau
Copy link

@depau depau commented May 11, 2019

Relevant information:

We know FAT32 filesystem have a very low file size limit, but apparently Windows has supported this condition for very long.

WIM images can be split with Dism on Windows; for everyone else wimlib can replace it.

I added the code to split the image only if it's too large. Let me know if I should change anything :)
I also added wimtools as a dependency for the Debian package.

@JonnyTech
Copy link
Contributor

Does wimsplit create temporary files? If so then warn the user that additional hard disk space is required and check that it is available before performing the operation. Also if the process consumes a lot of time then the user should be advised of that too. Maybe provide an option to abort if the user does not want to continue with the split.

@depau
Copy link
Author

depau commented May 11, 2019

Not that I know of, but I haven't read the source code. I'm pretty sure it writes the output files directly.

Sadly wimsplit does not report progress and install.wim is usually the largest file, implementing it would require patching wimsplit or using wimlib directly somehow (i.e. another implementation of wimsplit)

The process takes a little bit more than the time of a regular copy.

@brlin-tw
Copy link
Collaborator

Apologies for the ignorance. Very sorry.

I like the change, however, I kinda worry about the compatibility of the wimlib software and the WIMs distributed from Microsoft. If the format is compatible even with the oldest supported wimlib releases shipped by the distribution I will be more than happy to merge it.

@depau
Copy link
Author

depau commented Sep 30, 2020

@Lin-Buo-Ren I checked wimlib's git shortlog from 1.9 (4 years old, version that ships with Ubuntu Xenial) and the current release, it seems like they did some bug fixing and added support for a fuzzer. It doesn't seem like they added support for any new image formats.

It also doesn't look like Microsoft updated their image format (specs from MS) - the last update to their document is 3 years old on the website, but then if you open it it looks like it has been last modified in 2007.

As far as I know Microsoft has been using WIM for their installers at least since Windows XP, and Microsoft is well known for their awesome forward/backward compatibility and not breaking APIs overnight.

What needs to be tested if new images are compatible "bug-wise" with old releases, in practice test a new Win10 image on Xenial and see if there are bugs preventing it from operating.

With that being said, my idea is that users will still be able to use NTFS-3G instead, which doesn't require splitting since it can handle files > 4GB. They can use wimlib if they really need to stuff a recent Win10 image into a FAT32 filesystem.

@depau
Copy link
Author

depau commented Sep 30, 2020

One thing I forgot to mention in the first comment: wimsplit does not report progress, and there doesn't seem to find a way to enable progress reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants