Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

After installing Windows 7 on a Crucial M4 SSD, I installed the rEFInd boot manager on the Crucial's ESP. I then connected an OCZ Vertex 4 SSD (and disconnected the Crucial) and installed Xubuntu on the OCZ, with /swap and /var on a 400GB WD drive. After reconnecting the Crucial SSD, I am unable to boot Windows 7 (prior to connecting the OCZ SSD, it booted fine from rEFInd). I end up in a Windows Error Recovery loop. I should note that Xubuntu booted fine from rEFInd when both disks were connected.

Disconnecting the OCZ SSD, I am able to reach Startup Repair. An automatic repair is attempted but fails with the following details:

Problem signature: 
Problem Event Name: StartupRepairOffline 
Problem Signature 01: 6.1.7600.16385 
Problem Signature 02: 6.1.7600.16385 
Problem Signature 03: unknown 
Problem Signature 04: 1 
Problem Signature 05: AutoFailover 
Problem Signature 06: 1 
Problem Signature 07: BadDriver 
OS Version: 6.1.7600.2.0.0.2561 
Locale ID: 1033 
#Diagnosis and repair details: 
Root cause found: 
------------------- 
A recent driver installation or upgrade may be preventing the system from starting. 
Repair action: System files integrity check and repair: 
Result: Failed. Error code: 0x490 
Time taken: 144629ms

After I reboot, however, Windows boots fine. Reconnecting the OCZ SSD (or a Western Digital 400GB drive - EDIT: removing all Linux partitions - /swap and /var - from the WD drive allows Windows to boot without Startup Repair) results in the same situation all over again .

How can I fix this?

share|improve this question
    
Have you positioned the Linux partitions before or after that of Windows? –  harrymc Dec 25 '12 at 8:13
    
@harrymc they are on separate disks, bar /var and /swap, which come after a 5GB NTFS partition on the 400GB WD disk. –  Thomas Dec 26 '12 at 16:49

2 Answers 2

Have you tried to boot into Safe Mode or Last Good Known Configuration in the advanced startup options?

If neither of them works, please select Repair Your Computer and you will access System Recovery Options. You can try:

  1. Start Windows Memory diagnostic.

  2. Open Commend Prompt, run the following commands:

chkdsk /f /r (this will check and fix the disk error)

sfc /scannow (this will check and fix the corrupted system file, you can refer to: http://support.microsoft.com/kb/929833 )

bootrec /RebuildBcd (this will rebuilt boot information, you can refer to: http://support.microsoft.com/kb/927392 )

Hope this helps.

share|improve this answer

The parenthetical edit in your original post, to the effect that removing Linux partitions enables Windows to boot, makes me think you may be a victim of a long-standing bug in libparted (a partitioning library used by most Linux tools, including Ubuntu's installer). Specifically, on GPT disks libparted creates Linux filesystem partitions using the same partition type code that Microsoft uses. This means that Windows will try to assign the partitions a drive letter, and if you open the hard disks tool in Windows, it will show them. If you try to access one of these, Windows will offer to let you format it. Approving this action will trash your Linux installation. You're not seeing those exact symptoms, of course, but it could be that the same issue is leading the system down a different path to a different failure mode.

If my hypothesis is correct, you should be able to give your Linux partitions the proper partition type code and the problem will go away. The easiest way to do this at the moment is with my GPT fdisk (gdisk) tool, which I believe is available in the gdisk package in Ubuntu:

  1. Launch gdisk on the disk, as in sudo gdisk /dev/sda. (You may need to change the disk identifier.
  2. Type p to view your partition table. Linux partitions should have a type code of 8300 in the Code column; but libparted-based tools give them a type code of 0700.
  3. Type t to change the type code of any partition whose code needs changing. gdisk will ask you for a partition number and a code; enter the correct values. Repeat this step as often as necessary to fix all your Linux filesystem partitions. (Your swap partition should have a code of 8200 in gdisk.)
  4. Type p to view your partition table again and verify that everything's OK. If there's a problem, correct it or type q to exit without saving your changes.
  5. If everything looks right, type w to save your changes and exit.

For more on this issue, see my Web page on the topic.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.