Well, I have to admit, I am a bit embarrassed here for I have failed to keep up with the changes apparently, or to do my homework and verify my facts before posting. I learned something new and did not realize Windows 7 disabled the defragger service when booted into Safe Mode. After checking 3 systems here and running my friend Bing Google ragged, you are absolutely correct, you cannot run Windows 7 defrag in safe mode. That was a change from Vista and before, and not a well publicized change either.
However, I can't agree with the reason you gave.
It is absolutely true many drivers (and lots of other stuff) are not loaded during Safe Mode so you have the minimum number of influences while troubleshooting. But drive controllers are loaded or else we couldn't boot into Safe Mode. Drive controllers are part of the BIOS/Chipset/CMOS information and drive I/O communications is established before the OS disk is even touched. Otherwise, we could not format or partition our new drives, install an OS, or run chkdsk /r during the next boot. Therefore, I don't see any greater potentials for something going wrong by defragging in Safe Mode vs Normal Mode.
I remember reading that article when it came out but it does not address disk drivers, drive I/O architecture, or Safe Mode issues. Nor did it address my concerns about potentially 1000s of temp files gumming up the defragging process.
It did however address a major issue with past versions of Windows Defrag and that was with moving unmovable files. Windows 7 Defragger is much improved and can move more, for a more efficient defrag - but still not as many as it could in Safe Mode.
Sadly, and once again, Microsoft has not provided background information for their decision to do this but from what I am finding it appears to be because by default, Window 7 Defragger runs once a week and is more efficient with "unmovable files" and therefore and simply (in their minds
) no one will ever need to manually defrag in Safe Mode! Thus, to make Safe Mode in Windows 7 and Windows 8 as clean as possible, they stop (or do not start) the defragger service when booting into Safe Mode. And with the service disabled, you cannot start the Defragger program.
I did not notice this because I might defrag twice a year and when I do, I use Defraggler (CCleaner's sibling) - and it does run in Safe Mode. And for the record, I use Defraggler instead of Windows' own only because it is a bit faster, and it will defrag free space - not because I think Windows' own is inferior or less efficient. IMO, the arguments 3rd party defraggers make about their product producing a more efficient defrag is moot because literally the second the drive is used again, fragmentation starts all over again too as files are opened and closed, modified and updated - then saved, but at a different size. So while true, 3rd party defraggers may provide a more efficient defragging, the playing field levels out again after a few minutes of play. This plays again into Microsoft's decision to disable Safe Mode defragging with their defragger.
What is somewhat amazing to me is how often I have heard and given that advice (run defrag in Safe Mode) over the last 3 years since W7 came out, and not once did anyone come back and say, "You cannot run Defrag in Safe Mode with W7!" - until now. That said, I am sticking with my advice - disable scheduled defragging, run Disk Cleanup before defragging, and
if possible, defrag in Safe Mode for the most efficient defragging.
My apologies for any confusion I might have caused. Once again it has become apparent to me why I help out at forums - I learn something new all the time! :)
Thanks writhziden!