Safe Mode

Why does it take so much longer for any Windows OS to boot in Safe Mode? Since it’s not loading drivers or as many .dll’s shouldn’t it boot considerably faster?

I think one reason is that there is (I believe) no disk caching active in safe mode. If true, this can make a huge difference by itself. No matter how fast your disks are, a well-implemented cache makes a big difference.

Isn’t caching part of the CPU and not the hard drive?

Lots of things in computers have caches, GPUs for one.

L1 cache is on the CPU. L2 cache is not.

Hope that helps…

In safe mode, Windows doesn’t load any of the optimized, device-specific drivers that can cause so many headaches when they’re mis-configured. It makes do with simple, widely-compatible but sometimes horribly inefficient drivers.

My Windows computer at home gets disk benchmark scores that are fully ten times better with the correct IDE-controller drivers than with the generic drivers that came with Windows, for example. Video drivers also have a surprisingly large effect on the apparent snappiness of the system - and the generic VGA drivers are very slow.

In the quiet words of the virgin Mary, come again? L2 cache is indeed on-die nowadays; has been for some time. It’s a rather important factor in the performance of modern (PC) CPUs.

Sorry I didn’t get back sooner. I got busy last night.

Caching is good for all kinds of things, including hard drives.

The last time I investigated this fully was back under Windows 3.1, so I can’t say for sure the situation is the same for later versions of Windows, but I’m reasonably sure it is.

Disk caching means using memory to temporarily hold data read from the disk (this is called read caching), or data about to be written to the disk (not surprisingly, this is called write caching).

Read caching means that whenever something is read from the disk, more data than was requested is read, and the extra data is kept in a cache in memory. The theory is that if you needed something from cylinder 500, sector 3, pretty soon you’re likely to want sectors 4, 5 and 6. Since 90% of the time taken up in reading data from the disk is in getting the read head to the right spot over the platter, reading the extra sectors takes virtually no extra time. Then if data from one of those cached sectors is requested before the cache expires you’ve saved yourself a complete disk read, which make the operation much faster.

Write caching saves data destined for the disk in memory until a lull system activity, when the data can be written without taking system resources from other tasks. This also means the application program (or Operating System) doesn’t have to wait for a disk write to finish before it continues, just a memory write, which is much, much faster.

Windows 9x (and I’m sure NT, 2000 and XP also) uses both read and write caching by default (one of the troubleshooting options in Win 9x is to turn off write caching, but it is on by default). But I’m fairly certain the caching is dependant on the correct 32 bit device drivers for the disk controllers, and so is not available during safe mode.

In speed tests made over several years with various disks, programs, and OSs, we frequently saw performance differences of 10 to 1 with a good cache program. I still think this is the major reason for the slow speed in booting Windows in safe mode.