It is my great pleasure to announce a BETA for the upcoming Rufus 3.5. It can be downloaded HERE.
This release has been a long time in coming due to the following exciting feature (and much less exciting bugfixes) being introduced:
- Add a feature to download official retail Windows 8.1 or Windows 10 ISOs
- Add Windows To Go support for MCT generated Windows ISOs
- Add a notice about the WppRecorder.sys Microsoft bug for Windows 10 1809 ISOs
- Add a notice about trying to format a drive larger than 2 TB in MBR mode
- Add a notice about Legacy boot when trying to boot UEFI-only media in Legacy mode
- Report the full PID and command line of detected blocking processes in the log
- Fix a potential silent abort when the drive is in use
- Fix Quick Format option always being active
- Fix some unwanted file system changes occurring after an ISO had been selected
As usual, if you think you have uncovered an issue or are seeing some behaviour that you don't think is expected, you are kindly invited to report it in the GitHub issue tracker.
Now, since this is reboot.pro, I'm going to expand a little bit on some of those:
1. The download feature, which you access through the split button on 'SELECT' is basically accomplished by downloading and running a __signed__ PowerShell script. For those worried about this I am planning to add a blurb about this either in the FAQ or on the Security page to indicate how, even if the server we download the script from is compromised, because we validate its RSA signature before we allow it to run, and our private key obviously does not reside on any remote servers or anywhere in "the cloud", Rufus will never allow a malicious script to run. Also that script is never saved locally, and does not download any remote data except from the Microsoft servers, which makes it very difficult to hijack even if the local machine is compromised. At any rate, if you are paranoid about the idea of running a script, you can just disable the check for updates (which Rufus prompts everyone to accept or reject the first time it runs), as we consider that someone who doesn't want Rufus to contact its servers to check and download new updates probably doesn't want Rufus to download scripts either, and therefore, we use the check for update as a toggle for the download feature.
As to what the feature does, it simply replicates what can be done by visiting https://www.microsof...oad/Windows8ISO or https://www.microsof...ad/Windows10ISO (I would have added Windows 7 as well, if Microsoft weren't such asses about requiring a working serial to get access to the download links), except, unlike what it the case when using a browser, it won't actively prevent you from accessing the retail ISO links if it detects that the platform you are using is the same as the one you are trying to download.
Oh, and for those tempted to say that I could have just use https://tb.rg-adguard.net/public.phpor the Windows download tool from heidoc.net, the problem is that mooching downloading of adguard wouldn't be very nice and I'd be at the mercy of their servers going down (since the heidoc tool also contacts their own servers to get access to the download links) and also, more annoyingly, these guys have taken the approach of concealing how they are accessing the Microsoft download links (closed source, especially for the heidoc tool), whereas I have always made sure that every single thing Rufus does is 100% open and public.
Anyway, for more on this, you can check the script, which is called "Fido" at https://github.com/pbatard/Fido and which I also designed to be run in standalone if you feel like it (though you may want to be aware that the Microsoft servers will enact a temporary ban if they think you request a few too many download links in sequence).
2. I am still super pissed at Microsoft having taken the approach of NOT FRIGGING DOCUMENTING the option that one is supposed to use to get their WIM API to be happy with the MCT ISOs' install.esd's. Basically, if you want to use WIMCreateFile() to work with such images (such as applying them), you need to pass a flag I call WIM_UNDOCUMENTED_BULLSHIT with value 0x20000000. That's really all it takes to get the WIM APIs to work and I am this close to believe that Microsoft merely introduced this bullshit flag to prevent developers from being able to work with their MCT ISOs, because it really makes no sense (if it's a matter of wim/esd version compatibility, it can be gotten from the file itself, so that's definitely not the reason). A huge thank goes to the dism++ developers for apparently figuring out that one (though, since that application is closed source, I had to look at the disassembly in IDA Pro to get that detail). At any rate, Rufus should now be able to produce a Windows To Go drive from pretty much any Windows 10 ISO you throw at it.
3. As you should know, deleting user's document is not the only think Microsoft botched in the Windows 10 1809 release. Apparently, they didn't bother to properly test Windows To Go mode with 1809 either, because it sure will create BSODs for most people due to whatever they decided to introduce in WppRecorder.sys since 1803. Unfortunately, this is not something they picked with the October re-release, so both releases of 1809 are affected. Oh and it doesn't only affect Windows To Go but it also affects trying to run a regular install from SD media (such as trying to run a regular install of Windows 10 ARM64 on a Raspberry Pi3 -- you do know that you can actually run the full UI version of Windows 10 ARM64 on the Rpi3, don't you?). Anyway, for more on this, you can read this entry from the FAQ, which is the same as the one I linked in the ChangeLog.
4. Since I had a bit of extra time, I decided to create an MBR that displays a notice when someone is trying to boot an UEFI-only bootable drive (GPT based), in the protective MBR. Of course this MBR will not be inserted if you are writing in DD image mode, or if you create a non-bootable media, but hopefully it should help people who don't know too much about Legacy vs UEFI and don't pay attention to the type of system they are trying to boot when creating their media in Rufus.