One of the virtues of Linux is total user control, at least in most situations. If you want to delete a critical file, by all means delete it. Linux will allow it. Just remember it probably won’t restart if you shut down, and it may well crash pretty soon when it needs to access that file. But no matter; you are in control. So it’s a mixed blessing. Windows has always tried to deny users that sort of control. It has ways of locking files which it considers “in use” and you can’t delete them. It’s one of the reasons viruses and other malware can be such a pain.
This evening my wife ran across some hassle with a folder she didn’t want, was not useful, but would not delete. When she tried, she was denied access, with the warning the file was in use, and she needed to close the program. Well, Windows uses naming conventions which make no sense to *nix people. We never could identify what was using that folder.
Then I remembered something I ran across years ago: Sysinternals to the rescue! Granted, those tools require you know enough to recognize what stuff is and why it’s there, and why it maybe should not be there. I probably had just enough experience in this case to do that. I downloaded Process Explorer to her system, and ran it.
You can run a search for the file you want to delete to see what process is keeping it open. So I opened the “Find” box and typed in the name of the offending folder. Sure enough, we identified the process. Not that I knew what it was, and I worried if it was something essential. But when I right clicked on the name of the “handle” which kept the file in use, it offered me the option of closing that handle. I tried it. Handle closed; we got rid of the offending folder.
So the means to gaining that control is not so straightforward in Windows, but it can be done.