Jump to content

How to speed up boot process under Windows Vista or Windows 7


Recommended Posts


@Marian

Open cmd.exe as admin

Type this:

rundll32.exe advapi32.dll,ProcessIdleTasks

And wait for it to complete

It just finishes straight away. No messages, not nothing. Is it the normal behavior?

Link to comment
Share on other sites

Ok, this has been killing me for a day.

Problem: Startup takes too long, and system is sluggish

So, on a clean install (and no media or recovery partition to reinstall so i'm having to be very careful ><)

I put in the SDK, ran the exe and went to

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\

but there was no Dfrg, and no

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimize

so I created Dfrg, and made

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction

and set:

Enable: Y

LcnEndLocation: 0

LcnStartLocation: 0

OptimizeComplete: No

OptimizeError: Missing Registry Entries

as per a different thread, and also ran defrag c: /u /v from an admin command prompt to make sure it works, and it does.

I checked Superfetch next which wasn't running, and when I tried to start the service would give me a "cannot find file" error.

so I set

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SysMain to 0 (boot)

I checked sysmain.dll, which was in the correct directory

now Superfetch still wont start from services. But I plod on valiantly

I added HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher

"BootFilesOptimized" with a D-Word data of 1

ran xbootmgr -trace boot -prepSystem -verboseReadyBoot from cmd.exe with admin priviledges.

Result:

[2011/06/30-11:42:37.347] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-11:42:37.362] Registering for auto-run with a 120000 msec delay...

[2011/06/30-11:42:37.362] Completed auto-run change.

[2011/06/30-11:46:39.518] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-11:46:39.549] Waiting for prefetcher...

[2011/06/30-11:46:39.549] Saving prefetcher data...

[2011/06/30-11:50:29.020] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-11:50:29.035] Waiting for prefetcher...

[2011/06/30-11:50:29.035] Saving prefetcher data...

[2011/06/30-11:55:12.228] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-11:55:12.243] Waiting for prefetcher...

[2011/06/30-11:55:12.243] Saving prefetcher data...

[2011/06/30-12:00:10.849] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-12:00:10.864] Waiting for prefetcher...

[2011/06/30-12:00:10.864] Saving prefetcher data...

[2011/06/30-12:04:39.873] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-12:04:39.889] Waiting for prefetcher...

[2011/06/30-12:04:39.889] Saving prefetcher data...

[2011/06/30-12:08:40.700] Detected inactive Win7 physical (ReadyBoot) prefetcher (the SysMain service start type is 0).

[2011/06/30-12:08:40.731] Waiting for prefetcher...

[2011/06/30-12:08:40.731] Saving prefetcher data...

[2011/06/30-12:08:40.731] Preparing system...

[2011/06/30-12:08:40.731] Launching attempt #1 to defragment disk...

[2011/06/30-12:08:45.006] ProcessIdleTasks returned.

[2011/06/30-12:08:45.006] Failed to defrag - status key is 'No', error description is 'Missing Registry Entries'. Retrying.

[2011/06/30-12:08:45.006] Launching attempt #2 to defragment disk...

[2011/06/30-12:08:53.367] ProcessIdleTasks returned.

[2011/06/30-12:08:53.367] Failed to defrag - status key is 'No', error description is 'Missing Registry Entries'. Retrying.

[2011/06/30-12:08:53.367] Launching attempt #3 to defragment disk...

[2011/06/30-12:09:01.308] ProcessIdleTasks returned.

[2011/06/30-12:09:01.308] Failed to defrag - status key is 'No', error description is 'Missing Registry Entries'. Retrying.

[2011/06/30-12:09:01.308] Launching attempt #4 to defragment disk...

[2011/06/30-12:09:09.357] ProcessIdleTasks returned.

[2011/06/30-12:09:09.357] Failed to defrag - status key is 'No', error description is 'Missing Registry Entries'. Retrying.

[2011/06/30-12:09:09.357] Launching attempt #5 to defragment disk...

[2011/06/30-12:09:17.251] ProcessIdleTasks returned.

[2011/06/30-12:09:17.251] Failed to defrag - status key is 'No', error description is 'Missing Registry Entries'. Retrying.

[2011/06/30-12:09:17.251] Failed to defragment disk after 5 attempts.

[2011/06/30-12:09:17.251] PrepareSystem failed.

[2011/06/30-12:09:17.251] Stopping trace...

[2011/06/30-12:09:21.588] Couldn't find kernel logger in active logger list.

[2011/06/30-12:09:21.588] Couldn't find user-mode logger in active logger list.

[2011/06/30-12:09:21.588] Unregistering auto-run...

[2011/06/30-12:09:21.588] Completed auto-run change.

And thats all i've really accomplished in about 60 reboots.

Link to comment
Share on other sites

It's a co-worker's wife's computer. They just had it reset to original, and its a toshiba laptop. The only thing on it besides the OS were the toshiba utlities they bundle with it, and norton antivirus which I removed.

Its running Windows 7 home premium 32bit, probably SP1

curiously it did produce a boot trace at some point, though theres no defrag

Here

Edited by Grimm
Link to comment
Share on other sites

I checked the trace. The boot is slow because the ReadyBoot prefetcher is completely untrained. Make a double click and look at the readyBoot IO graph. It is mostly black, which means there are cache misses. This is very bad. The TOSHIBA MK2555GSX 250GB 5400rpm Hard Drive is not the fastest so a fully working Prefetcher is really needed to have a fast Windows boot.

I can see that the Windows is Windows 7 RTM. So install the Sp1 + all post Sp1 Updates.

Now try it again, please.

Link to comment
Share on other sites

@marian

It happens if "idle tasks" have been taken care of recently.

Have you tried boot defrag?? if not try this in an elevated command prompt

defrag.exe [drive letter]: -b

No, I doesn't work. I get this error:

Boot optimization could not run because the prefetch layout file is missing or invalid. <0x8900001B>

Link to comment
Share on other sites

go to the C:\Windows\prefetch folder. Do you see files there or is the folder empty?

There is only one folder, ReadyBoot, which contains a few files with these extensions: .avail, .dqpafm, .dqpafmsg, .dqpa, .dqpaf and .etl, but I`m guessing this ain't good, eh?

Link to comment
Share on other sites

correct, this is not good. You should see .pf files in the prefetch folder.

What are the values of the EnableSuperfetch and EnablePrefetcher under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters? Both should be set to 3.

Link to comment
Share on other sites

@MagicAndre1981: The setting were already like that.

@compsavvy: done that and tried "defrag C: -b" and it worked, then tried "xbootmgr -trace boot -prepSystem -verboseReadyBoot" and it failed after the 1st restart.... ARGHHH! Oh, and now layout.ini is missing.

Btw... when I try to start the Superfetch service it says: "Window could not start the Superfetch service on Local Computer. Error 2: The system cannot find the filed specified.".

Edited by Marian
Link to comment
Share on other sites

I just wanted to say thank you for this guide! This, along with setting the amount of cores used at boot in msconfig->boot->advanced options from the default 1 to 8 on my hp envy 14 has halved my boot up time to just under a minute :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...