I suspect Ken is actually right in his suggestion to increase the size of the ReadyBoot file. If the following event was logged:
"The maximum file size for session "ReadyBoot" has been reached. As a
result, events might be lost (not logged) to file
"C:\Windows\Prefetch\ReadyBoot\ReadyBoot.etl". The maximum files size
is currently set to 20971520 bytes."
It does indeed mean that you have to increase the size of the
ReadyBoot.etl file. It is worth pointing out that:
Windows 7 set the ReadyBoot.etl file to 20MB and in the event logger
this size often is maxed during boot (aka not enough), increasing it
can really help.
If the event above was indeed logged then you should increase the allowed size of the file being generated. You can do that by doing the following:
Search, Performance Monitor
on your left side, expand DATA COLLECTORS SETS
Click on STARTUP EVENT TRACES
on your right side you'll find a list, double click READYBOOT
click on the STOP CONDITION tab and set the size you want
Select the File tab
Click the checkmark box next to
Circular [requires a non-zero maximum file size
press OK , close everything, reboot
You can tell the solution worked because the ReadBoot.etl within
C:\Windows\Prefetch\ReadyBoot will be larger then the default 20 MB, which would be the case, if you had originally upgraded from Windows 7. I can also confirm that an upgrade, from Windows 8.1, would result it being set to 20 MB by default also.
Here is a description of ReadyBoot:
On systems with more than 700MB of RAM, ReadyBoot uses data from 5
previous boots to create a plan for a boot-time memory cache. Similar
to Windows XP prefetcher, it will try to preload files into RAM before
they are needed. All memory used by ReadyBoot is automatically
released 90 seconds after booting up, or immediately if another
service needs it, so it doesn't have negative performance
In other words, on an SSD system, ReadyBoot may not improve boot times
by a lot, but it will utilize your fast RAM for what it's good for:
serving as a fast cache for the disk. And even the fastest SDDs are
still slower than RAM memory - disabling it would still make your
booting slightly slower.
Which comes from this answer by Groo to this question
You can determine if ReadyBoot is even enable by looking at this registry key:
If you want it enabled set the value is 1 if you want it disabled set it to 0
Here is the full Microsoft description of ReadyBoot:
Windows Vista uses the same boot-time prefetching as Windows XP did if
the system has less than 512MB of memory, but if the system has 700MB
or more of RAM, it uses an in-RAM cache to optimize the boot process.
The size of the cache depends on the total RAM available, but is large
enough to create a reasonable cache and yet allow the system the
memory it needs to boot smoothly. After every boot, the ReadyBoost
service (the same service that implements the ReadyBoost feature just
described) uses idle CPU time to calculate a boot-time caching plan
for the next boot. It analyzes file trace information from the five
previous boots and identifies which files were accessed and where they
are located on disk.
It stores the processed traces in %SystemRoot%\Prefetch\Readyboot as .fx files and saves the caching plan under HKLM\System\CurrentControlSet\Services\Ecache\Parameters in REG_BINARY values named for internal disk volumes they refer to. The cache is implemented by the same device driver that implements ReadyBoost caching (Ecache.sys), but the cache's population is guided by the ReadyBoost service as the system boots. While the boot cache is compressed like the ReadyBoost cache, another difference between ReadyBoost and ReadyBoot cache management is that while in ReadyBoot mode, other than the ReadyBoost service's updates, the cache doesn't change to reflect data that's read or written during the boot. The ReadyBoost service deletes the cache 90 seconds after the start of the boot, or if other memory demands warrant it, and records the cache's statistics in HKLM\System\CurrentControlSet\Services\Ecache\Parameters\ReadyBootStats, as shown in Figure 2. Microsoft performance tests show that ReadyBoot provides performance improvements of about 20 percent over the legacy Windows XP prefetcher.
This pretty much sums it up:
Since all file activities done at boot time (even system updates
and spyware scans) accumulates in this file, it may fill with obsolete
information. The fix is to set the ReadyBoot.etl into Circular logging
mode, so that only the most recent file access activity is tracked.
Primary Source - Diagnostic Information, Event Information, Instructions.
Background Source - Primary source's own citation to the solution they describe in the Microsoft Answer thread.