Rufus gets interrupted by explorer.exe almost every time
Recently I've got a problem with making bootable USB sticks. When i want to write some OS (Windows or CentOS) image on USB stick with Rufus sometimes i get this kind of error:
Chosen device is being used by another process. Please, close the process before using this device.
[006880] C:\Windows\Explorer.EXE (r)
It's seems that Windows thinks that my device is ready to play at some point and tries to mount it or something. Why Rufus can't block this device while using it? It is really annoying to close explorer.exe every time i need a bootable usb stick.
Rufus developer here.
Why Rufus can't block this device while using it?
Well, we try to do just that, with exclusive access, but Windows doesn't exactly play nice.
For instance, what most people don't know is that Windows (e.g. VDS) won't let you clean up the existing partitions of a physical disk unless you have unlocked that disk first... which is very counter-intuitive and means that, during that time, there's no way of preventing other applications from accessing that disk.
In short, Rufus very much tries to lock both the physical disk and logical volumes as required, but it isn't always as logical as one expects. Another example of it is that, to get a newly formatted volume recognized, Windows also forces you to dismount the volume (as per the notes here), which means that, even if you acquired a lock on the volume, you have no choice but to relinquish it to keep Windows happy. Therefore, whereas there are many instances where Rufus would like nothing more but to keep a lock to the drive to prevent external interferences, Microsoft have designed their OS in such a manner that we can't do that, which of course opens the door for the kind of problem you observed.
Just note however that, according to your message, it is unlikely that it is actually explorer.exe
itself that is the issue, as the (r)
you see means it's only requesting read access, which shouldn't prevent Rufus from getting exclusive access to the volume. Most likely the actual conflict comes from one of the internal Windows processes or services, that are high level enough that they can't be listed (while Rufus tries to help by listing the processes accessing the drive, there's only so much it can do against Windows privileged processes, which are incredibly hard to enumerate). Most likely, you'll want to check that you aren't using one the the applications that is listed at the end of the Rufus FAQ, as some of these are known to be a bit too trigger happy with accessing volumes that they shouldn't be accessing when they have no business to do so.
Alternatively, since ironically your issue is likely the result of Rufus not being able to "block this device while using it" (by not being able to obtain the exclusive lock it requests to keep other applications at bay), you may want to press Alt-, (that's the Alt and comma keys) in Rufus, so that it won't try to lock drives.
Of course, if you do so, then there is always a risk that whatever other process is also trying to access said drive might modify it at the same time as Rufus is performing its operations, which could result in corrupted data or an unbootable drive (which is the precise reason why Rufus requests an exclusive lock by default)...
Hope that helps.