I don’t fucking know why I can’t eject USB hard drives. I installed the SysInternals apps, and best they can tell me is that Dropbox is fucking with the drives. I explicitly told Dropbox to not fuck with USB drives. I don’t know who’s lying, I just want whoever is fucking with the drives to stop fucking with the drives, OK??? OK.
Force close Explorer.exeand you’ll be able to ejectThe USB drives are effectively perma-mounted and the eject command does not work, if even one instance of Explorer is open.
Then you stick a usb key in and invariably get the “windroze has detected a problem with the drive, scan or format?”
Do nothing and the drive works perfectly well.
There is a dirty bit indicating the disk was not ejected properly. It stays there until you use the “scan and fix” action. It doesn’t indicate corruption directly.
There can be corrupted files. I run chkdsk from the command prompt to verify.
Not sure why you’re downvoted.
Operating systems often cache disk writes and flush them to underlying devices once in a while. Dismounting (or “ejecting” in Windows terms) forces the writes to be flushed.
See
man 2 fsync.
This is Microsoft we’re talking about here. 🤮
Honestly, i have the same on XFCE. But if i press the button to force eject, i get some dbus-black-magic-that-failed error and jank it out anyway.
just yank it
fuck whoever is using the drive
I used to do this, because it didn’t seem to cause any issues — until it did, and I lost a lot of data.
People who say this I’ll tell you what actually happens so you can know. When you tell it to safely eject all the volatile memory saved in RAM actually write it to the permenant storage memory instead of holding it in volatile storage. Every time you yank you’re betting that its not in volatile storage anymore and was written to storage. That’s what safely eject does, forces the CPU to write to permenant storage.
Edit: the problem comes from whats doing what at what time and you will see why you can lose everything.
Windows:
Someone else potentially has this file open, would you like to open a read only copy?
Linux:
Someone else potentially has this file open and they may have a newer version than you, would you like to save anyways?
Such a small difference but enough to make Linux superior.
To be relevant to the post:
Windows
Someone is using the drive, you can't ejectLinux
$ umount /mnt unmount failed: device in use $ umount -f /mnt $I often get situations where umount -f doesn’t even work :( Especially on a full desktop (not server) where some stuff is probably crawling the drive to make thumbnails or whatever.
The equivalent long option is --fuck-you

Restart to find out.
“Couldn’t reboot because these programs”
9 of them
“Restart anyway?”
Windows has that button, but only if you right-click the drive in file explorer and select “eject”. The dialog is very similar, but has the option to continue anyways. That option doesn’t appear when ejecting from the taskbar.
Which is weird, because it means that Microsoft went out of their way to make two different, almost identical dialogs. And they made the better one harder to reach.
Microsoft are giving brilliant at having both a million different equally useless errors and duplicate functionality
Either that or they were added at different times by two different teams with two different design philosophies.
It’s definitely that one
Might have been at the same time even
Incredible intel. Thanks!
I use AMD, but thank you.
This is why nobody likes computer nerds.
Puns? Puns are why nobody likes nerds? Of all the things to complain about in the world, puns are such an issue for non-nerds?
Weakness, get gud scrubs.
I guess I’m nobody, then. /s
deleted by creator
Not 99%. Windows has many usability issues. I’d vote for “dont steal focus and stick windows in front of where I’m typing” and “don’t move things just as I go to click on them” for a start, and also “don’t somehow take an hour to delete 50 files.”
Shift-Del to delete files is usually much faster, though obviously this skips the recycle bin.
Moving files to the recycle bin and deleting files should take the same amount of time, both are essentially just a rewrite of the pointer to the data and don’t copy any data at all.
Not on Windows, it actually moves your files to a special directory.
I take it you don’t filesystem much do you?
Moving a file is literally just changing a pointer in the filesystem table to basically say ‘hey, these file contents are now stored in this other folder’. Moving a file on the same drive literally never requires rewriting the actual file contents.
I’m practically certain that what’s slowing Windows down when sending something to the Recycle Bin is the background processing and data compression being performed by System Restore.
“Fun” fact: if you think it’s slow normally (and to be fair, it is), NTFS seems to have a pathological performance regression when a directory contains more than 10,000 children, any operations on files in that directory slow down by around 95%.
I discovered this on our CCTV system at work (that runs on Windows Server 2022), which creates an inordinate number of small files (each containing at most a few seconds of video). It was causing some of its periodic maintenance tasks to fail, as they’d take longer to run than than the configured interval between them.
Windows also really doesn’t like dealing with half-petabyte filesystems, just like… at all.
I can also tell you that if you are working with file numbers in the 10,000, windows will notoriously interfere with their built-in services. When copying or moving, msdefender might delay every file copy because it marks the action as suspicious and begins scanning the files beforehand. And also the trkwrks or however that drive observation service is called may block actions on specific files just because.
In short, you are not only fighting drive formats at that point, you are also fighting your built-in system services. Source: I wanna die.
And yet they use that fs for their little winsxs trick with 10’000’s of child dirs.
NewTechnology File SystemIt’s new compared to FAT!
(of 1995)
Deleting files was an amazing one already. Then I recently discovered the joy of deleting 30k emails from Outlook… T-T
I literally cannot understand how Outlook is so awful and unpleasant to use. Constant pauses, regular freezes and a search that will show a document I sent to myself five years ago regardless of search terms but won’t surface the perfect match I received yesterday, in the world’s most prominent email client.
The only worse software I have to interact with on a daily basis is Adobe’s PDF reader, which gives me five popups within one minute of opening it and takes over a minute to do a text search in a five page document.
I literally cannot understand how Outlook is so awful and unpleasant to use.
Years of hü and hott between different teams, with different goals, not knowing what the other teams did.
I typically use my browser for PDFs. Firefox actually has some basic PDF edit functionality now.
But better disable javascript use for pdfjs.
I copied 400GB of assorted files in an RDP session today and Windows had to think for a minute or two, then copy them ever so slowly, then stop at 99% done, then crash Explorer and disable the start menu and taskbar and CTRL-ALT-DEL and all ways of getting to the Task Manager, and then freeze the whole machine so that I had to travel to the physical machine and hold down the power button, since when it has been unusably slow because Windows now wants to rebuild the RAID array, which takes days. This was a pretty average Windows session.
Try Robocopy. It’s built-in and allows using multiple threads.
That thinking is so very annoying. This is all time that could be used to copy files.
The best bit is that if you lose patience and cancel, the “Cancelling…” takes even longer than finishing the job would have done. I really have no idea what’s going on. Journalling file systems in Linux don’t have to do this.
It’s even more fun when you’re trying to do something with a file on a network share. There have been so many times where a user goes “it’s telling me i can’t save this because Suzie is using it”, i close Suzie’s abandoned session, and the file is still magically in use by Suzie. Why? Because the dialogue is broken and the file is actually open on John’s machine. I fucking hate windows.
My favorite is “Location Not Found”. It’s amazing that both Mac and Linux seem to do a better job on SMB than Windows.
99% of the time the “other program” is a minimized file browser window open to the drive.
How is linux handle such situations, i’m new using it and haven’t looked that up yet, well i didn’t got in such a situation yet, but i only used a handful of time a external hard drive
Linux doesn’t care if you have a file open in multiple places. In fact, if you edit it in one place, it might even prompt you to overwrite with the new data, or save-as to a different file, in the other place
Real answer: it depends.
- Deleting a file in use: no problemo. File is removed from the directory immediately, but exists on disk until last program who had the file open closes. Everyone wins! (Unless you’re trying to free up space by deleting a huge file that’s being held open by a program and not understanding why the filesystem usage didn’t go down)
- Unmounting a hard drive in use: Will error out similarly to Windows.
lsofcan tell you which process has which files open. There’s nuance with lazy unmounts and whatnot but that should not be used in most cases.
Now in practice you should be wary of one very important thing that changes compared to Windows: Writes are asynchronous on Linux. First the kernel writes to RAM, then it flushes to disk at a later time for performance reasons (this is one of the reasons why writing a bunch of small files is many times faster on Linux than Windows). The upshot is that just because your file copy is “done” doesn’t mean you can just yank the USB cable. Always safely unmount before unplugging a storage device on Linux.
Writes are asynchronous on Linux.
Unless I mount it with
sync, which I wish would be default for non-system drives (which are going to be in fstab anyway). I didn’t notice any difference, aside from the lack of guessing when the magic is over. 2GiB goes into black hole, now what?Strongly disagreed. A lot of removable storage benefits very strongly from async writes. The performance benefits are night-and-day and worth the hassle of explicitly unmounting.
I think a better compromise would be to mount non-journaled + removable storage (e.g. vfat USB keys) as sync.
You can also use the
synccommand to flush cached writes and wait for completion, but I agree that it is a bit cumbersome.
Basically, if you, as a regular user, cannot unmount a device, you can usually just go to root shell (
sudo -i), see where the thing is mounted (just usemount) and then unmount it (umount /media/blah/floop). If it says the device is still busy, as root you can remount it as read-only and then unmount it (seeking documentation left as an exericise to the reader, as I’m sitting at a Windows system now).There’s also
lsof(“list open files”) tool, which can be used to see which exact programs are using files on that device, which you can then use to kill those sneaky processes (ps,kill).So a complicated set of terminal commands and alternatives you need to have memorized ahead of time. That’s definitely the linux solution. You can do it, but no average user would ever be able to when they need it.
Windows probably has some equally complicated way of finding what is locking a file/folder… or you can just install File Locksmith which is a Microsoft PowerToys tool, and just have it in the context menu everywhere.
complicated
Stop with the learned helplessness. It’s like 3 words.
It’s nothing about learned helplessness, it’s about what the average user experience is for new and inexperienced users. And terminal commands are just not new user friendly. If Linux ever wants to consider being true competition for a Windows replacement with the average user, it has to provide easy to use GUI options for most commands, and it needs to do all basic functionality without a terminal ever being needed.
Like @[email protected] posted elsewhere in the thread, KDE has a good GUI for an end user experience for this exact situation. It shows files are open from the device, and what has them open, in the same interface an end user would use to eject the drive.
Maybe it’s just because I’m old and remember DOS, but I just don’t see having to type such simple words into a terminal as complicated. 🤷♂️
It is. And so do I. The terminal isn’t hard, it’s just for the average user, it feels intimidating and/or extremely old and thus inherently bad. They rely on the GUI as the user experience. And to be honest, they’re right. A modern system should not require terminal interaction for every day use cases, or even infrequent use cases. It’s just not a user-friendly interface for a consumer.
And that doesn’t even get into the youngest generations that have grown up with touchscreens, where many can barely use a mouse. Even those most would probably consider to be more tech-literate, like gamers. PirateSoftware (I know, I know, but it is a real world interaction versus theoretical) brought a demo to one of the conventions, with 2 stations for a game, 1 KB&M and 1 controller. For the few kids that tried to use the KB&M stations, they moved the keyboard out of the way and tried to touch the screen to interact, because they didn’t know how to interact with it like that, they knew how to use a controller and a touchscreen. That was how they played games. Their tablets, and controllers probably on consoles. Youtube Shorts video explaining. That’s the average user. No one anywhere near a place like lemmy is an average user.
No average user would be able to look up what commands to run? Because newsflash: unlike Windows, searching for a common problem on Linux normally turns up a solution written by a human who knows what they’re talking about.
“Windows doesn’t even have basic package management like every Unix-like OS does so you don’t have to individually update applications and go find them on the Internet, but this one edge case on Linux requires like two terminal commands (the
sudo -iis totally superfluous if you just putsudoin front of commands) instead of installing an entire separate tool you’ll ever use one time like on Windows and which an average user wouldn’t even know exists. Therefore Linux is more complicated.”Incidentally, here’s what Microsoft officially recommends for the “average user” regarding PowerToys:

It’s insane how nose-blind Windows users are to how user-unfriendly their OS is.
Windows doesn’t even have basic package management like every Unix-like OS does so you don’t have to individually update applications and go find them on the Internet
Funny thing is that it does (
winget), but it’s a terminal app. Windows users who look down on Linux users for “needing” to use a terminal don’t want to bring it up, so Linux users also aren’t aware of it and never point to it as a counter example.It’s insane how nose-blind Windows users are to how user-unfriendly their OS is.
Oh the irony. You clearly don’t work with any sort of end user.
For 99% of computer users, if the GUI doesn’t have an option, it doesn’t exist. They aren’t searching past a basic Google of the issue showing them step by step instructions of how to use the GUI to fix the problem. If there is no way to do so in the GUI, it’s not getting fixed by them, they’ll take it to the Geek Squad if they even decide to fix it at all. They’re must more likely to just ignore an issue. In this case, just removing the USB drive and complaining about something being corrupt later on. The idea of the terminal scares the average person.
Windows doesn’t even have basic package management like every Unix-like OS does Well that’s simply wrong.
winget upgrade --allI just upgraded 44 apps I definitely didn’t install via winget, they were all installed via individually downloaded installers at some point in the past, but all upgrade with a single package manager command in a terminal. Certainly seems similar to me. It may not be everything, but it’s certainly the majority of things on this system other than the games.Alright, so others went over the “easy” way to see which program is being the offender. But I feel like the average Lemmy user just skips GUI at this point.
Say hello to KDE:

KDE also does automatic fsck before mounting, which is why it may take some 2 seconds to mount a drive.
HDDs it properly spins down and unpowers as well.
For 99% of computer users, if the GUI doesn’t have an option, it doesn’t exist.
Literally 99% of Windows tech support is
Have you right clicked on Windows menu, selected
Terminal (Admin), then enteredsfc /scannowand thenDISM /Online /Cleanup-Image /CheckHealthandDISM /Online /Cleanup-Image /ScanHealthandDISM /Online /Cleanup-Image /RestoreHealth? …ohhh shit you’re still fucked up - well, maybe you need to completely reinstall windows, well, here’s the page on how to do it.That’s the difference with Linux. Your average user never uses terminal, and when they do, they find the tools suck.
They aren’t searching past a basic Google of the issue showing them step by step instructions
Your users are searching for their problems???
Most wouldn’t even do that.
If the button isn’t right there to fix everything automatically, the problem just stays that way until they (maybe) restart
If there is no way to do so in the GUI, it’s not getting fixed by them, they’ll take it to the Geek Squad if they even decide to fix it at all.
The best part is that Geek Squad probably won’t even fix it.
With the amount of time allocated to tasks and the lack of autonomy retail workers are given, the solution to anything not explicitly written in an employee runbook is going to be “we need to reinstall windows” or “it can’t be fixed, but we have a new computer you can buy”
Well, the commands that I presented (
sudo,mount,umount,ps,kill, evenlsof) are actually just normal commands that you use to do ordinary things on your system to manage account elevation, mounted disk volumes, processes, and running processes. You need to “memorise” them just as much as you need to memorise their counterparts in a Windows system (Run As/Explorer/Explorer Eject/taskmgr) (…what kind of nerd memorises Ctrl+Alt+Esc anyway?).…except you don’t have
lsof, you literally need to install SysInternals Process Explorer.In KDE I just hit meta+esc and it opens up system monitor
Hi, I am that nerd, it’s Ctrl+Shift+Esc to open taskmgr, actually.
…I hope to be able to develop a similar level of nerd when I switch to Linux soon
I found learning Linux much more fun, because I didn’t have to fight with the computer on every damned thing.
You can also just pull the USB drive out, if you have waited a reasonable time after last writing to it, no harm will be done.
Also, terminal commands have the advantage that they are the same over the course of 20something years and across all desktop environments, while the tinyfloppy windows moves critical functions around with every second patch so you have to relocate stuff you had just memorized.
And if you’re not sure whether the cache has been fully flushed, run
syncand it’ll return once it’s done!
Just sudo umount /mnt -l that mf
So a complicated set of terminal commands and alternatives you need to have memorized ahead of time. That’s definitely the linux solution. You can do it, but no average user would ever be able to when they need it.
As a point of contrast. In Linux Mint you press the eject button. That’s it.
The other guy was getting into more detail for people who want it.
And the same works 99% of the time in Windows. We’re talking about the small fraction where pressing eject doesn’t work for whatever reason.
I don’t think an average user is going to know how to interpret the output of
mountorfindmtsound a lot better than on windows, at least for power user.
It generally does not care about files being read/open. If there’s a write operation pending, it just shows that and then ejects.
Idk how Linux handles it but today on Mac I accidentally sent a folder to trash that was in use by four programs at once.
Mac OS did not give a shit. It nuked it.
Linux Mint has an eject button that allows any cached writes* to finish, prevents new ones from starting, and un-mounts it. It’s actually important to use the eject button as flash drives are slow, and the write cache can obscure the fact that a file isn’t done writing yet.
*Copying a file will add it into the write cache while it writes out to the disk. As soon as it is in the cache, you can use the file as if it was already done copying, including making changes.
Many files copied to an external disk are cached, and not written immediately unless you run the “sync” command.
So when you press the “eject” icon, on most frontends a notification will tell you not to unplug it right away, once the write is complete it will send a “it is safe to remove the drive” message. This can take a couple minutes if you are writing a big file to a slow drive.
By default Windows disables file caching on external USB drives. It should be writing those files directly. That doesn’t prevent a program from locking a file or folder that it is using though.
I basically never have this problem on Linux.
I think programs can’t hold removable media busy by default on Debian. If you remove, you lose whatever changes aren’t there. Either way, Linux programs just read files and close them, they mostly don’t keep files open.
deleted by creator
Antivirus, Windows Defender, Bitlocker…
Shall I continue?
Try OpenFilesViewer and Process Explorer, amongst a myriad of other SysInternals utilities…
Told ya, Process Explorer just told me nothing, except Dropbox maybe.
But it doesn’t change the usage scenario. I don’t care what programs are using the drive. I just need to tell them to fuck off, I need to unplug this drive at this moment.
For the future: File Lockpick, from PowerToys. The only thing the Windows product managers haven’t ruined, and only because it’s on Microsoft’s GitHub and not built into the OS. Or in Winget, since this is Lemmy.
You can just right click the drive that won’t eject or the file that won’t cut and it’ll list everything that had a handle open, without digging through the SysInternals programs.
I wonder where my computing would be if I spent all this time scaling the Linux learning curve instead of the Windows one. Probably more friction at my work-issued Windows machine. Probably increasingly many hours saved on “fixing” every successive Windows install.
For me it ends up being SpaceSniffer a solid 20% of the time.
Have you ever actually used Process Explorer before? I mean digging behind the scenes and find out what process threads are eating the CPU and keeping storage access open…
Process Explorer does way more than the default GUI throws at you…
I’ve used Process Explorer.
“What file handles are open that match <This drive letter and then some>?”
“Well there’s Dropbox now.”
“Oh. Again?”
“Dropbox, I think.”
“Again.”
“Maybe nothing???”
“OK, let’s try ejecting now.” (It fails again.) “Are you sure no file handles are using this drive?”
“I’m positive.”
“Well fuck this then.” (Unplug USB)Now. I said I’ve used Process Explorer. I didn’t say I’ve used Process Explorer. I wish to be, one day, one of those frightening people who live and breath Process Explorer every day. There’s still a long journey to get there, I know.
Whelp, time to shut down the whole computer! (Or just yank it and hope you didn’t do anything bad, lol)
It’s an ongoing PITA. Windows should come with Process Explorer installed by default.
Windows should just tell you “The file is in use by <actual information here>” by default.
You’re right, of course. I’m so beaten down I now I guess I just accept the mediocre solution.





























