Question: I have an HP 2540p with Windows 7 installed on a Plextor M3 SSD that sits in the upgrade drive bay (that used to house a DVD drive). The system has been working fine for months until this morning when I turned it on (after a successful hibernation the night earlier), I got a

?

Non-system disk. Press any key…

on a black screen after the BIOS POST screen.

Here is the list of what I tried

  • Using HP “HDD Self Test” available in the BIOS: The test finishes and does not report any issue (note that HP documentation on this mentions that if it’s a “soft problem” on the hard drive, it will be fixed automatically without notification.)

  • Using a Windows 7 repair disk: The repair environment does not see the Windows partition (the SSD).

    ?

    DISKPART > LIST DISK

    does see the SSD, but showing “0 B” free space.

    ?

    DISKPART > LIST VOLUME

    does not show this SSD.

  • Putting this SSD into a USB case and plugging it into another Windows 8 computer: This is where I found that Disk Management says the drive is “Not Initialized” and thus the space of the whole drive is “Unallocated”.

  • There are many important work files on the drive and only part of them (that are not too large) have been back up. So it is better if I don’t lose the data.

    If anyone knows what caused this problem and how it can be solved, I’ll be greatly appreciated. If this has been discussed before elsewhere, please kindly point me to the discussion or suggest a keyword for google search.

    Thank you very much and have a good one!

    Pawin

    Answer: I finally managed to solved the problem (without losing data). It seems that partition table is corrupted. Windows came back to work for about 1 hour then the problem repeated itself again though.

    Here are the steps I did to fix this particular problem that I had (this is recalled from memory, so some detail might be missing). What I’m writing below might be confusing, so please edit if you think some steps are redundant etc. Thank you.

    I. I use a program clalled TestDisk and learned how its work from the “Step by Step” guide. The disk is connected via a usb case to a working computer (Windows 8) but I think it can be run on a problematic machine too if you create a recover disk of some kind. For more/illustrated information please look at the guide.

    I.1) Once opened the program via Administrative privilledge, I chose the problematic drive, then “Intel” partition table, select “Analyze” and then “Quick Search”.

    I.2) Quick search didn’t found the two partitions (one hidden, 100MB, and the other is the OS). The problem is the OS partition that shows up is actually invalid; namely, when I hit the key “P” to list files inside, only two empty folders showed up. So I further selected “Deeper Search” and at the end it found a few more backup tables. I chose the one that correctly lists files and folders inside. I deleted other partitions that are not correct, leaving only 2 partitions that are needed. (At this step, deleted partitions are deleted only from the search list. When I searched again, they showed up again.)

    I.3) Once corrected partitions were selected, I chose “Write” and quit the program, restarted the computer.

    I.4) Once restarted, Windows should see the drive. If drive letters are not assigned, you can use DiskPart in command prompt (see this guide for example) or just use Windows 7 diskmgmnt.msc in graphics mode. After finished backing up, I reconnect the drive to the problematic laptop (SATA slot, not USB).

    II. Using Windows Recovery Environment CD.

    II.1) I used Windows 7 RE CD. Once arriving at the graphic mode, it did not find Windows partition. So automatic repair did not work. I went to Command Prompt.

    II.2) There bcdedit.exe did not run no matter what how I used the Windows RE; namely, neither flash drive nor CD/DVD worked).

    II.3) The partition that was supposed to be hidden (the 100MB) shows up as drive C, and my SSD shows up as drive E (drive D was taken by another working hard drive on the laptop). I used diskpart to correctly assign drive letters; say move the windows partition to “C” and move the hidden partition to something else, I chose the letter “Q”.

    II.4) Then I followed this forum. Basically, I ran

    bcdboot.exe c:windows /s q:

    Then reboot the system.

    Extra Steps. Remove redundant item in the boot list. This is actually an extra step not necessary to solve the problem.

    E.1) Once the system restarted I found 2 choices in the boot menu (the top one is the one I just created). I chose that and Windows started without any problem.

    E.2) Now I can run bcdedit (in Administrator privilege). Just in case this might be helpful for others, the problematic item is listed as

    Windows Boot Loader


    identifier ?{7aa720a0-b0cf-11e1-abab-9fb52c3d6b9c}

    device ??unknown

    path ??Windowssystem32winload.exe

    description ?Windows 7

    locale ??en-US

    osdevice ?unknown

    systemroot ?Windows

    resumeobject ?{6e5f99fa-0503-11e2-85d4-806e6f6e6963}

    So I just deleted that one (for example, more info here)

    bcdedit /delete {7aa720a0-b0cf-11e1-abab-9fb52c3d6b9c}

    X. Not all went well…Windows 7 ran beautifully for about 1 hour and died again, same problem, during the brief BSOD that appeared, I saw

    Mountmgr.sys

    error message…

    Additional Information:I checked SMART status of the SSD and everything is fine. It’s a Plextor drive and they wanted to see the SMART log first to decide whether they will allow the RMA. So I’m not sure they will replace it, or if this is the problem with the drive at all.

    At least I hope some info here will be useful.