Thursday, February 7, 2013

Windows 7 "autochk program not found - skipping AUTOCHECK" on cloned drive or resized partition

I cloned my Windows 7 installation using Paragon Partition Manager, Macrium Reflect, and the manufacturer's (Samsung's) bundled migration utility from an HDD to a smaller SSD. Each resulted in booting to a screen that said:
autock program not found - skipping AUTOCHECK
Sometimes I got a Windows logo, and sometimes I got to Startup Repair, but whether they launched automatically or I launched them from a Windows Installation Disc (or USB), they all failed. Sometimes a blue screen (BSoD) appeared shortly after.

It turns out attributes on an MBR disk apply to all volumes on that disk; attributes on a GPT disk apply only to the volumes selected, so this didn't help: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2004505

Suspecting the cloning was problematic, I tried shrinking the Windows C volume using Easeus Partition Master, and that resulted in the original hard drive being unbootable as well.

My drive was encrypted with BitLocker, and I decrypted it prior to shrinking as well as prior to cloning. The data was always visible on the partitions. I tried deleting the BLboot partition, which appeared before my "C" partition, but that didn't help at all. It came back with Startup Repair.

Solution:

From here: http://superuser.com/questions/290612/missing-autochk-program-during-boot, specifically this post: http://superuser.com/a/547260, which I saw was posted 23 hours after my ordeal (the following is based on that post):
  • Boot into Windows Installation Disc (or USB) or WinPE
  • At "Install Windows" screen, click "Next", then press Shift+F10 to launch a command prompt
  • Type "diskpart" to launch diskpart, the Windows CLI disk manager
    • In diskpart, type "list volume" to show you what volumes the installer sees
    • You should be able to identify your real "C" volume by its size even if it bears a different letter, e.g, "D"; note this down
    • If you have a BLboot partition, it'll be 100MiB to 2GiB in size, so relatively small
  • Exit diskpart (type "exit") and launch "regedit" (if you lose your terminal, Shift+F10 will get you another)
    • Select "HKEY_LOCAL_MACHINE"
    • Click "File" > "Load Hive" and open the Windows\system32\config\SYSTEM file on your "C" drive and title it "MyOpenHive" (regardless of what letter your installer thinks your "C" drive currently is, remember what you saw in diskpart---if you don't, Alt+Tab to your command prompt and use diskpart to show you what volumes are present; in my case, the BLboot partition was seen as "C" and the "C" partition was "D" to the installer)
  • Expand "HKEY_LOCAL_MACHINE" by clicking the "+" to its left
    • Within you'll see a folder called "MyOpenHive"; another is called "SYSTEM"
    • "MyOpenHive" shows you what your OS thought it saw (not the installer!), while SYSTEM tells you what the installer sees
    • They both have a directory called MountedDevices; check what device in SYSTEM > MountedDevices corresponds to the drive letter your C partition should bear
    • Going by its ID hex letters and numbers, figure out what volume your C drive is
    • Press F2 on an entry to edit its name; if the wrong drive or partition is listed as "\DosDevices\C:", change its letter to something unused, e.g., "\DosDevices\Z:"
    • Ensure the proper volume (comparing volume IDs and whatever else you can) is named "\DosDevices\C:" (it might be named "\volume{volume_id_of_some_sort}\")
    • Click "MyOpenHive" on the left pane and "File" > "Unload Hive"
    • Exit regedit and reboot your system and go through Startup Repair (it might take a few iterations); make sure to remove the installation disc or USB stick
Some posts suggested deleting all the entries found in the "MyOpenHive" hive I opened; that definitely didn't help. Getting the volume ID from the "mountvol" command didn't work either; the correct IDs (or any semblance of a unique ID based on other columns) are best extracted from regedit.

12 comments:

  1. Dear abd,

    Thanks very much for this post. It resolved my Windows boot issue after cloning a SATA hard drive to SSD.

    Regards

    ReplyDelete
  2. Thank you very much! I have already lost half a day to recognize why the stupid windows can not simply boot after resizing with gparted and recommended repair. But you saved me another day of reinstalling all the software and the windows itself ;-)

    Regards, Gena

    ReplyDelete
    Replies
    1. Yep, been down that road. Glad I saved someone that extra hassle.

      Delete
  3. Thanks for a truly outstanding post.
    I upgraded the motherboard on one Win7 64 home premium PC and everything was clean quick and easy - just sysprep and swap...
    Then I tried again with another and failed then three days of reading everything I could find relating to the wrong topic I finally searched for "autochk program not found - skipping AUTOCHECK" and found your post... My hard drive appeared to have about 6 entries in the partition table but there were only two - I identified the ones I needed and corrected the "\DosDevices\" entries - oddly my C and D drives got swapped in the process but Win7 seems perfectly happy with the new sequence and python was the only thing that had any issues at all - easy to fix.
    Anyone needing to swap a mother board or upgrade a hard drive etc. would be wise to read this post and print the "\DosDevices\" enties in the registry before they begin.

    ReplyDelete
  4. I try this way and tricky result, I got from https://community.norton.com/t5/Other-Norton-Products/autochk-program-not-found-skipping-autocheck/td-p/706077 :

    If someone finds this thread from a Google search, here is the fix....



    Boot from the Win7 disk
    At the "Install Windows" screen press SHIFT F10 to get a command window
    Type "regedit" (without the "") and press Enter
    Click to Select HKEY_LOCAL_MACHINE
    Click File, Load Hive
    Click the drop down arrow in "Look in"
    Browse to C:\Windows\System32\config (there will be a C: drive as the WinPE is assigning drive letters)
    Select SYSTEM and click Open
    In Key Name type "letter"
    OK
    Click the + next to HKEY_LOCAL_MACHINE in the left pane
    Click the + next to "letter" in the left pane
    Select MountedDevices in the "letter" group
    Select all values in the right hand pane and press Delete on the keyboard
    Yes
    Select "letter" in the left hand pane
    Click File, Unload Hive
    Yes
    Close Registry Editor and the Command Window
    Close the "Install Windows" screen
    Yes
    Remove the Win7 disk and boot into Win7 which will assign drive letters.

    ReplyDelete
  5. Hi,

    I tried your solution but it didn't work. But I think I don't understand some points:

    First: Should my "real" C: partition be the one that doesn't boot or the one where the boot is placed? (I'm on a dual-boot W7/W7, with boot partition being the one of 100mo. One of my boot works, the other not)

    Second I don't really understand this line: "Ensure the proper volume (comparing volume IDs and whatever else you can) is named "\DosDevices\C:" (it might be named "\volume{volume_id_of_some_sort}\")"

    Thanks anyway, I hope that when I understand that, my problem will be solved

    ReplyDelete
    Replies
    1. I'm not familiar at all with Windows 7 dual booting, so this may be of no use to you:

      (1) The "real" C: partition, I think, should be the partition that doesn't boot.

      (2) The volumes are sometimes renamed to fir the pattern "\volume{volume_id_of_some_sort}\", so ensure that your volumes are named using the "\DosDevices\C:" pattern instead. You can press F2 to rename these entries.

      Hope that helps. It's been a very long while since I've dealt with this issue, so the details are beyond fuzzy. Best of luck!

      Delete
  6. Thanks..... Thanks a lot! You've saved my day, my week and probably my life XD Thanks a lot! :3

    ReplyDelete
  7. Thank you so much, Be Blessed!

    ReplyDelete
  8. Thanks for the post. Realy helpful so many years later :D

    ReplyDelete
  9. Thank you so much for the post. It really solved my issue after cloning HDD to SSD.

    ReplyDelete