top | item 2976485

Delivering fast boot times in Windows 8

138 points| ghurlman | 14 years ago |blogs.msdn.com

119 comments

order
[+] artursapek|14 years ago|reply
I don't really care as much about the boot time as the time between my desktop showing up and any of my commands being recognized. On my old Thinkpad as soon as the desktop and Start menubar showed up I got the same two laggy warnings about incompatible drivers every single time I would boot, and for 20 seconds or so icons wouldn't even respond to me hovering over them. Then I would have to wait another 20-45 seconds for anything to open while all the little icons and their respective programs were loading in the bottom right part, among with other background activity.

Granted the computer was a couple years older than average users' these days, but psychologically it was just infuriating to think the computer is ready for me, and then having to sit through the "second boot." Instead of a super-fast boot they should focus on a super-simple boot which isn't torture to watch. I can walk away from my machine and do something else for a minute while it's booting, just like anyone does when they're popping popcorn. But the popcorn should be easy to open once it's "done."

[+] drzaiusapelord|14 years ago|reply
Its not the OS's fault that you've littered your machine with all sorts of startup checkers and startup apps. Then again, most end users arent aware of this.

Is the state of software engineering so poor that no one has considered staggered or delayed startup for some of these borderline useless apps? I mean, startup is a busy time in the computer world and on the server end of things we use delayed services all the time, but on the dekstop the assholes at Apple and Google and the rest just assume that their little startup app should run immediately and with full priority and so what if you have 5 others just like this. Heaven forbid someone consider the end user experience here.

I think MS had to step in and set these things to low priority starting with Vista. What a mess when the OS guys are fixing what the app guys are simply unable or unwilling to do.

[+] upthedale|14 years ago|reply
That's likely all the installed stuff you have accumulated over time with components set to run at startup - not the OS itself. Think programs like iTunes, Flash, Skype, Java, to name just a few common things people install which is guilty of this (annoyingly even Microsoft's own programs like Messenger can contribute to the problem too). All of them do stuff at startup, be it checking for updates or kicking off background services.

Have a look at Autoruns[1], which is a great SysInternals tool to show you what is set to run at startup, and lets you selectively disable them.

[1] http://technet.microsoft.com/en-us/sysinternals/bb963902.asp...

[+] mootothemax|14 years ago|reply
Using an SSD on Windows 7 has all but removed the post-login lag for me. For me, that's been the real saving - fast bootup is nice, but then being able to use the system straight away is ace :)
[+] NolF|14 years ago|reply
typing msconfig in the search box and goign to the startup tab will allow you to disable most programs that automatically startup at boot. Just leave essentials such as software for laptop mouse or sound, and you should be gold. Soluto is also a pretty good program to help you with the process, but you don't really need that one.
[+] blinkingled|14 years ago|reply
On my X220 the Windows 7 boot is already fast even without a SSD (pre-desktop authentication and some Lenovo sauce helps) but watching the video FTA - that's mind bogglingly fast - it's more like the Mac's sleep/resume than a cold boot!

The key change seems to be a clever kernel session hibernation. They discard user sessions as those involve writing a lot of data (full hibernation) but save kernel session which can be written out and read back fairly quickly. Then there is multicore enabled resume - doesn't help with disk io but with decompression of hibernated data.

[+] msftguy|14 years ago|reply
Multicore does nothing for raw io rate, but they're using compression, and the claim seems to be that they can use higher compression levels and still be faster than an SSD (so that decompression throughput won't be a bottleneck).
[+] justanotheratom|14 years ago|reply
curious why you think multicore enabled resume would not help with disk io? Atleast on an SSD, I would think it should.
[+] gks|14 years ago|reply
That's actually pretty slick. Not sure if other operating systems do something similar already. I know my Macs "sleep" rather than hibernate and are nearly ready immediately upon hitting the power button or flipping the lid open. While that isn't the same as what Microsoft is doing here it is a pretty clever way to achieve faster boot times.

Microsoft does have some intelligent people working there. It's such a bummer it can't get some real work done outside of Office and Windows. I'd say their games unit is pretty solid too but everything else seems to be a real hit or miss scenario.

Neat reading these things though.

[+] lloeki|14 years ago|reply
> I know my Macs "sleep" rather than hibernate

More precisely they do both. Close the lid and they save RAM to disk, then sleep. Open the lid and they resume instantly from sleep and discard the hibernation content, but wait long enough to drain the battery (or pop off the battery e.g for a swap on older Macs) and they will resume from disk.

IIRC Win 7 knows how to do that, though it might not be default.

[+] dangrossman|14 years ago|reply
Windows sleeps too, ya know, just the same. Waking is near instant, all you're doing is turning hardware devices back on.
[+] vital101|14 years ago|reply
To be fair, the people working on the Windows Phone 7 OS seem to be competent as well. (Although you may have lumped those people in the Windows category)
[+] exithrowaway|14 years ago|reply
I have a feeling the reason more folks shut their whole computer down in windows is because sleep / resume is "untrustworthy". I've tried using sleep/resume over multiple windows laptops , and half the time it either didn't turn the display on, or worse, the wifi wouldn't enable which caused me to reboot anyways.

I haven't had the same problems since I switched to mac, aside from occasionally having the screen not come up immediately. This lets me run many things and not feel fearful about it all getting lost when I resume.

* that said, I did watch a non-techie guy always shut down his imac when he didn't use it, seemed awkward to me but eh.

[+] epochwolf|14 years ago|reply
I've had Windows XP/Vista crash on resume or fail to sleep at all more than often than not.
[+] defdac|14 years ago|reply
"Of course, there are times where you may want to perform a complete shutdown – for example, if you’re opening the system to add or change some hardware. We have an option in the UI to revert back to the Windows 7 shutdown/cold boot behavior, or since that’s likely a fairly infrequent thing, you can use the new /full switch on shutdown.exe. From a cmd prompt, run: shutdown /s /full / t 0 to invoke an immediate full shutdown. Also, choosing Restart from the UI will do a full shutdown, followed by a cold boot."
[+] lloeki|14 years ago|reply
I was wondering how this would impact multi-boot systems, as mixing hibernation and multi-boot is an extremely bad idea (unless you know what you're doing, and even then there a are so many ways to shoot yourself in the foot).
[+] xpose2000|14 years ago|reply
I will buy Windows 8 for these improved boot/hibernation times alone. It's painful to watch my computer wake up from hibernation in 15 to 30 seconds. (That's with SSD)
[+] mkup|14 years ago|reply
And what if I turn off my computer with Windows 8 and add/remove/swap PCI cards? HDDs? It will crash when booting and corrupt my data, isn't it?

In Windows 95 I had two options: reboot and poweroff. In Windows 2000 I had three options: reboot, poweroff and sleep. In Windows XP/Vista I have four options: reboot, poweroff, sleep and hibernate. Finally, in Windows 8 I will have five options: reboot, poweroff-which-is-not-really-a-poweroff, poweroff-which-is-really-a-poweroff, sleep, sleep-and-then-hibernate-if-battery-is-low.

True Microsoft Way. It remembers me funny examples from Alan Cooper book 'The Inmates Are Running the Asylum'.

[+] polshaw|14 years ago|reply
> It will crash when booting and corrupt my data

I'm sorry but i have to call you out here; i would be suprised if MS hasn't thought of this in some way; whether detecting changes and initating a more complete boot or dealing with it in the GUI.. but even if it required you to select a 'full' shutdown/boot, i would say it was completely worth it for a 7s boot time.

Further, i find your imagination regarding the practical handling of these power states rather lacking. The way i see it there will simply be 'reboot', 'power off' (which hibernates the kernel as described in the article, reloading it where checks show necessary), and 'standby' (which also writes ram to disk allowing resuming from hibernate with power loss -- i would imagine this could be turned off with a setting). So, contrary to your rant, i am going to bet that there will be one less standard option. But i guess things were better in the w95 days?.

[+] ck2|14 years ago|reply
Of course in the real world you'll need to add anti-virus, anti-rootkit, anti-spyware, keyboard scrambler and personal firewall to windows so you need to add about 5-10 seconds to their sterile boot times.
[+] demetris|14 years ago|reply
Of these five I only have the firewall enabled on my Windows 7 desktop. And that only because I can’t be bothered to look into some issues with interdependencies when you disable the Windows firewall. (Can’t recall what exactly now.)

I don’t think the firewall adds anything significant to the startup time; it is just one of the dozens of services that start automatically.

Then, for many people an antivirus program may also be useful. Would that add 5 to 10 seconds to the startup time of a modern machine?

For the other 3—anti-rootkit, anti-spyware, keyboard scrambler— why do you think they are necessary for every user of Windows?

[+] ojosilva|14 years ago|reply
I find it a bit suspicious that the video has been spliced at 0:33. Maybe the boot hadn't really finished and a "Still loading" window popped-up.
[+] mikeknoop|14 years ago|reply
From all the MSDN posts I've seen thus far, it looks like MS is going to kick their "every-other-os-is-great" trend with Windows 8.
[+] serge2k|14 years ago|reply
Now they just have to enforce a rule on OEMs that every windows 8 PC must meet requirements that allow it not only to work, but actually make it work well. Especially in regards to ram requirements.

I like what they did with WP7 in that regard.

[+] yardie|14 years ago|reply
Which OSes were these? XP, Vista, 7 is too small a sample size to see a pattern. 95 and NT were too different platforms entirely that weren't merged until XP.

And until XP they had a nasty habit of not doing updates on the consumer OS. ie. 95 and 95B, 98 and 98SE.

[+] KeyBoardG|14 years ago|reply
Another great point hidden in there is the sleep+hibernate feature in which when sleeping, if power is lost the system's state is not. You would simply boot from hybernation from the sleep point.
[+] celalo|14 years ago|reply
This one of rarest stories about Microsoft on HN. It is easy to forget about Microsoft all together. Good to notice Win8 could really add up to the previous versions.
[+] olaf|14 years ago|reply
fast? faster!
[+] pointyhat|14 years ago|reply
My Windows 7 hasn't been rebooted for the last 22 days. I'm not sure I'm that impressed with fast booting.
[+] smiler|14 years ago|reply
Did you look at the article? Microsoft has data that says roughly 50% of people shutdown their PCs. So clearly, a lot of people do care about fast booting
[+] recoiledsnake|14 years ago|reply
That looks like an insanely fast boot, under 10 seconds, must've been an SSD. Hope Windows 8 leads HDD manufacturers to make Hybrid hard drives, say a 3TB disk with 16GB SSD embedded inside. The OS can decide what files to keep on there based on usage (boot files and frequently used programs are an obvious choice).
[+] 0x0x0x|14 years ago|reply
Not disparaging them, but on my MBP/SSD Lion boots to login screen in about 2 seconds and boots to desktop w/ auto-login turned on in ~5.
[+] BonoboBoner|14 years ago|reply
Fast boot no longer matters. Fast sleep/wakeup is important. I love that ipad-like instant possible usage of my macbook air. I open it and it is just there.
[+] AndrewDucker|14 years ago|reply
Same is true on Windows. It takes less than the time it takes for me to open the lid of my laptop for it to be ready to use.
[+] sid0|14 years ago|reply
It's as if you haven't even read the article. Despite fast sleep/wakeup existing in Windows, lots of people tend to not use it.
[+] glhaynes|14 years ago|reply
"we want to start with boot time – no feature gets talked about and measured more."

What?

I've never understood why I should care since it's something I do once a week or less for a few seconds.

[+] jerf|14 years ago|reply
Your homework is to go to the office of a company of more than 10,000 employees at the start of the work day, turn on your computer along with everybody else, and sit there doing nothing until you manage to pull up a browser and hit a web site of your choice and can actually manipulate it.

My father's laptop, larded with the corporate, err, "value add software", once took five minutes to pass that gauntlet, without even any local network activity. You do want to make sure you can pull open the browser and do a bit of real work, though; the desktop appeared in about a minute, but you couldn't actually do anything. With the Maverick release of Ubuntu, the same test could be passed in 45 seconds. (Still not what I'd call speedy, I just include that for reference. Yes, it's a laptop and the hard drive hurts, but the hardware wasn't that bad. Also, this was XP, which I know from experience on that hardware should have taken roughly 45 seconds too.)

You might understand why it's a bit of a sore point with many people whose wallets Microsoft is listening to after that experience.

(It appeared to me, based on the process list and the way the machine was performing, that the simultaneous presence of backup software trying to scan every file access and virus scanning software trying to scan every file access, and for all I know trying to each perform other real scans of the disk, was causing major disk thrash, which combined with the fact the virus scanner insisted on scanning various files before the OS could execute them caused major, major slowdown. I'd never put up with this on my machine, but somehow I suspect this is not an uncommon case in the corporate world...)

[+] trafficlight|14 years ago|reply
Not so much for desktops, but for laptops it's nice. I coldboot my laptop a couple times a day. I'm running Ubuntu 11.04 with an SSD and it takes about 8 seconds after autologon.
[+] rhplus|14 years ago|reply
Boot/sleep/hibernate performance will be one of the features that makes or breaks Windows 8. It's all about the tablets and laptops. A laptop and - more importantly - a tablet needs instant on/off like an iPad or a smartphone. That means ultra low power consumption during sleep and fast task resumption when I turn it on.
[+] jackvalentine|14 years ago|reply
Agreed. Just discourage people from turning the PC off instead of putting it to sleep.
[+] nabaraj|14 years ago|reply
Are you kidding me? Hibernating kernel is like saving all the malicious script to save so it can re-run again on next startup.
[+] rbanffy|14 years ago|reply
You have a point. If you shut down this way, you won't have a clean boot the next time and will be carrying over some context from previous sessions.

I am not sure I like the idea.

[+] brainless|14 years ago|reply
>>> Qualitatively, people say they prefer to shut down because they want to have their PC completely “off” so that it uses no power – either to preserve battery life or to reduce their energy use. Hibernate is also a good option for this since it similarly has no power draw, and many people really like it. However, it’s clearly not for everyone, since one of the other things we’ve heard is that many people want to turn their PCs on and have it be a “fresh start” rather than running all of the stuff from their previous session.

Really so? It is not that people want to "start fresh", it is because the boot times from hibernate have been pathetic.

Now I am on a MacBook and I never almost shutdown, just sleep. Yes sleep consumes power, but what I mean is that I would not want to "start fresh" each time. No way.

How many people here want to "fresh start" at each boot?