Closed lichforever1995 closed 4 years ago
Not seeing this issue, be it with Rufus 3.11 or 3.12.
Your assumption about what this mode does is correct, but where you are assuming wrong is that Windows won't let you write to an ESP. If you have the drive GUID (which is what WaitForLogical()
waits on) and you are running elevated (which we are), you can write to an ESP even if it doesn't have a drive letter assigned. In other words, it's not because Windows was designed by Microsoft not to assign a drive letter to an ESP that it makes the ESP unavailable or that you can't write to it.
I know however that, for reasons that only Microsoft knows, Windows can sometime decide to be a pain in the ass when trying to access a logical drive that was just created, so I would advise you to try the following:
If all this fails, then I will need to check your ISO, because I am not seeing an issue with the ones I use.
For the record, here's an example of ISO → ESP mode with the latest debian-testing-arm64-netinst.iso
from https://cdimage.debian.org/cdimage/weekly-builds/arm64/iso-cd/ (which is something I and others test regularly as this the method that's advocated to install vanilla Debian 11 on a Raspberry Pi 4):
Hello, thanks for the reply!
I did some more testing and it appears that this mode does not work with the micro sd card reader I was using. Partitions don't get refreshed until unplug and plug in again (only in this mode though, never had any issue when using iso image mode).
Swapped it for a generic usb thumb drive and it works great!
The model is SanDisk MobileMate USB 3.0 microSD Card Reader.
Oh welp...Tried on another computer and same thing happens again even on the generic usb drive. Seems like the card reader is not the only one to blame.
How I managed to make it works:
rufus 3.11
the debian-testing-arm64-netinst.iso
However, once I unplug and plug in again, it won't work anymore, not even if I use Alt +Z
and reformat it to original state. Anyway, it seem to be a Windows problem instead of rufus's issue.
Yeah, the problem is Microsoft appears making it really really hard to work on removable drive with system partitions such as ESPs (see #1637 for an example), but unlike the issue in #1637, I have not been able to reproduce your issue so far.
I'll see if I can play with some more devices, but yeah, I'm afraid that this is fundamentally a Windows issue, as Microsoft are doing their darnedest to forcibly prevent access to system partitions, which can dramatically interfere with Rufus' ability to create a drive...
Just a quick update. After I updated rufus to 3.12.1710 release, and windows to 20H2(19042.746), this issue has been resolved. I can now reliably create boot drive with ESP mode with no problem! Great job!
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query.
Checklist
<FULL LOG>
below.Rufus version: x.y.z
- I have NOT removed any part of it.Additionally (if applicable):
(✓)
button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.Issue description
I was trying out the Write in ISO → ESP mode feature of Rufus version 3.11 and this message popped up a while after I clicked start:
And the installation failed.
After checking the log and read through the source code, I was confused how this mode is supposed to work. I first assumed this mode allows writting iso file contents into a ESP partition while left the rest of the drive unpartitioned. However, it fails after repartitioning the drive because the newly created ESP partition is not recognized by WaitForLogical() and eventually times out. The drive is left with a empty ESP partition and does not show up in Explorer. So how does this mode actually works?
PS: The image i used is a custom iso using grub2 efi mode, works just fine with ISO image mode
PS: I did a sketchy patch to create a normal data partition instead of ESP partition (by not assign the ESP GUID to that partition), and force convert it to ESP partition ( via the ToggleEsp()) after installation. And it works as how I assumed it would.
Log