locked
Windows 10 boot takes an hour, hard drive constant access RRS feed

  • Question

  • I have a Gigabyte GA-Z87x OC motherboard with a quad core Intel i7-4770K at 4.0GHz, 32GB RAM, and a 3-drive SSD RAID 0. Before Christmas I had 1 SSD. Adding additional drives has not changed the below problem (what kinda surprised me).

    Windows takes FOREVER to boot.  About an hour.  The system POST is fine, no errors, everything looks great. The Windows 10 start screen comes up with the little dots running around NASCAR style under the Windows logo, then..... nothing. For an hour!  The hard drive is accessing constantly during this time.  The hard drive light is just pegged on. The same thing happens in safe mode. Just sits there for an hour. After an hour it starts windows completely normally, but the hard drive keeps accessing.  It goes on like this for another hour or so.  Windows task manager does not register the disk accessing at all.  I'm using the Intel ICH10r controller, which has a program to tell you what the raid controller is doing, the program doesn't say the raid controller is doing anything. It says all drives are fine, it's not rebuilding or verifying or anything. All the drives and RAIDs have green checks next to them.

    The windows log is, unfortunately, vague. On this last boot the system log says at 6:01.12 that the volumes are healthy and no action is needed. Then nothing is written for 40+ minutes, then it continues with normal boot at 6:43.04 with the message:

    File System Filter 'storqosflt' has successfully loaded and registered with Filter Manager.

    After that all services start up promptly and everything looks fine. If anyone has experienced something like this please let me know.  I would very much appreciate any direction you can give.






    • Edited by tinmandmc Sunday, January 10, 2016 6:00 AM
    Sunday, January 10, 2016 5:24 AM

Answers

  • Specifically pertaining to your situation:

    You did not indicate in your post if the above system is using the RAID array or the SSD as the boot volume. Either way, doesn't really matter at this point, unless you want to use spinrite on the array drives, in which case you should either individually, or as a group, remove them from your system, put them into another PC and use that to run spinrite against the drives individually. (spinrite needs to be able to communicate directly with the controller on the HDD. In an array, it would be communicating with a virtual hard drive controller that represents the whole array.)

    Additionally, If the system disk is the SSD, is it a Samsung Brand? Did you buy it sometime last year? There was a model produced (I think around the middle of last year) that had issues where read speeds of data varied based on how long ago it was written, (recently written was fast, but older was slower) There was a firmware patch to correct the issue, and you may want to apply the latest firmware to your drive. (CAUTION: Some ssd firmware updates will wipe out your data! See Spinrite on SSD instructions at the end of the post. use spinrite, and back up your data before doing a data-destructive firmware update.

    More specifics at the end

    In general:

    Most likely culprit is a dying (System) Hard drive.

    HDD manufacturers build their hard drives out to the very edge of minimum acceptable reliability, in order to maximize total capacity.

    The hard drive will regularly rely on error correction during normal read operations. If too many bits in the sector are uncertain, the hard drive will simply wait for the sector to pass under the head again. and make another try at reading it. With a standard consumer hard drive, this can go on indefinitely.

    It was fairly easy to tell when this was happening on a Windows 95/98 computer, because even the mouse pointer would stop moving, because the OS had to drop back to a non-multitasking mode to access the drive, so until the file operation was complete, nothing else could happen.

    My suggestion is to get Spinrite from www.grc.com I know it's expensive, but it really does work.

    Run the spinrite in mode 4. (the one for drive maintenance) under normal circumstances, you should see the current sector number going up by hundreds, or even thousands per second. on a healthy drive this rate of advancement should be relatively steady. If it goes down significantly, it means that sectors are not getting read correctly. While running at level 4, Spinrite will read a sector, and if the sector fails to be read correctly, it will swing the head to a random sector, and back to the original sector, up to 1024 times by default.

    If at any time the HDD Does get a good read, Spinrite will use that data, and "Spare out" the bad sector, replacing it with a sector reserved by the manufacturer for that purpose. If after 1024 attempts the HDD has still not gotten a "Good" read, it will use statistical analysis of the raw data returned from all 1024 attempts to make a best guess at what the uncertain bits are, and use that synthesized data in the sparing out process.

    Level 4 will cause spinrite to sequentially: Read the current sector. Invert the data, (change all 0's to 1's and vice versa.) Write the inverted data. Verify the inverted data was written correctly. Write the original data to the sector again. Verify the original data was written correctly.

    Edit: When running spinrite, If the sector count is progressing smoothly, Make a note of the estimated time remaining, (the estimate only pertains to the partition currently being worked on) and if the total time in the log to finish the partition is greater than the estimate by about 10% then you know that spinrite did encounter a large number of small issues, even if the graphical status log does not show recovered, or unrecovered sectors (for example if the estimate was 20 hours and it took over 22 hours to complete. If absolutely no delays occur, the actual time should come out to about 10% less than the sum of the time elapsed when the estimate was shown, plus the estimated time.)

    Back to your specific situation:

    If you're running that system the way I would, the SSD is the system disk, and the array is used for storing very large files, (Games, Videos, etc.) You will want to run spinrite on the SSD. Always use Level 2 for SSD drives. Individual sectors in an SSD have a finite lifespan that is measured in write cycles, Higher (Spinrite) levels will add additional write cycles for every sector, shortening their lifespan, (most modern MLC SSD's are rated for 10,000 write cycles, and have "Wear-leveling" so that the physical location of frequently written sectors will be moved to various locations in the physical storage, to prevent any clusters from having substantially more write cycles on them than the average across all sectors.)

    Also if you are using the SSD as the boot drive and have NOT moved essential system folders, like the user home folders, to the array, the SSD will be the only drive you need to scan, although scanning the RAID drives wouldn't hurt.


    • Edited by Timothy-D Monday, January 11, 2016 7:09 PM Added paragraph
    • Proposed as answer by Deason Wu Wednesday, January 20, 2016 1:07 AM
    • Marked as answer by Michael_LS Monday, January 25, 2016 9:44 AM
    Monday, January 11, 2016 7:01 PM