Strange Windows 8 Boot Problem


Recommended Posts

I have a MSI GT683 which has two hard drive bays. I recently decided to upgrade to Windows 8 and add a SSD. I didn't want to move my existing spindle drive to slot 2 because it is so close to the GPU and I worried about heat. Slot 1 is well isolated from other hot components so I left the spindle drive there and put the SSD in slot 2. I set the BIOS to boot from drive 2, the SSD

I installed Windows 8 on the SSD and all went well. In Windows the system drive shows up as C even though it is disk 2, the spindle is the D drive. Exactly what I wanted!!

The problem is that I get the typical annoying "no boot device available" every time I turn the computer on. If I press F11 and manually tell it to boot from the SSD then Windows 8 starts up fine. I know you are thinking "oh, he probably screwed up his boot order." No, I am 100% sure that the SSD is the only drive that appears in my boot order. I don't understand why it would fail to boot using the boot order, but it works when I manually select the drive.

My best guess is that the Windows installer wrote the MBR to my spindle drive instead of the SSD. Any advice on how to correct this? Using bootrec /fixmbr just fixed it so I can boot from the spindle, but that isn't what I want. I thought about using a 3rd party tool to copy the MBR from the spindle to the SSD, good idea or could that cause problems?

Link to comment
Share on other sites

I am guessing the System Reserved Partition is on the HD and the rest of the OS is on the SSD.

To check please do this for me in an elevated command prompt (start CMD.EXE as Administrator):

diskpart

select disk 0

list part

select disk 1

list part

exit

Copy and paste the output here so I can have a look.

Also look here http://www.hanselman.com/blog/SwitchingMyWindows7BootDiskFromDToCWithBCDBootRatherThanBCDEdit.aspx

Tim

Link to comment
Share on other sites

I don't have the laptop with me at work but I have run those commands and can tell you want they say. Note: the spindle (disk 0 on diskpart) had Windows 7 installed on it at the time I installed Windows 8.

Disk 0 (spindle with old Windows 7)

Part 1 has a 100 MB system reserved, was active but I changed it to inactive

Part 2 is the rest of the 750 GB as NTFS, D drive on Windows 8, was C drive of Windows 7.

Disk 1 (SSD, Windows 8)

Part 1 has a 350 MB system reserved partition listed as Active

Part 2 is the rest of the 180 GB as a NTFS partition, C drive

My plan is to format the old Win7 drive once everything is working correctly on Win8.

EDIT: I listed the drives backwards, fixed now.

Link to comment
Share on other sites

I guess if all else fails I can install a bootloader on the spindle drive and point to the SSD. I was hoping to avoid waiting for the spindle to spin up being part of my boot process.

Link to comment
Share on other sites

Oh that's confusing. You got 2 System Reserved partitions.

Did you check out that link? That solution may work for you.

Hmmm just had an idea. You could just swap the SATA cables around at the MOBO end to re-order the way the BIOS sees them.

  • Like 1
Link to comment
Share on other sites

Oh that's confusing. You got 2 System Reserved partitions.

Did you check out that link? That solution may work for you.

Hmmm just had an idea. You could just swap the SATA cables around at the MOBO end to re-order the way the BIOS sees them.

That might work. Being a laptop the cables are well hidden, but I could see if I can get in there and switch them. I will checkout the link the next time I get in front of the computer. Yes, the two system reserved is confusing. I probably should have just taken the leap and formatted that other drive before installing Windows 8.

Link to comment
Share on other sites

Ah it's a laptop silly me. Cable swap idea won't work then.

Link to comment
Share on other sites

Hopefully this asnwer does you some good but I have a MSI motherboard as well and I came across the no boot device available when I was replacing HDs around. There should be an option in the BIOS setting which allows you to prioritize which hard drive you want to be set as the first bootable hard drive (Not to be confused with bootable device, like DVD drive, USB and etc.)

Hope that helps

Link to comment
Share on other sites

I give up, it looks like Windows is hard coded to assume the Boot Code needs to be stored on Disk 0. I just set the spindle drive to be first in the boot order, it now starts up fine. It does mean that my spindle drive needs to spin up for the computer to boot, which probably adds 2-3 seconds to my boot time. It also means that if I ever format or remove that drive I will need to run the Bootrec.exe or Bootsect.exe command to write the Boot Code again, but I am not too concerned about that. The Boot Loader and my OS are still on the SSD, and that is what really matters.

For anyone else having a similar problem and trying to figure out how Windows booting works, here is a simple explanation of the 4 parts needed to boot.

BIOS Settings - The BIOS settings tell the computer which boot device to use, it then reads that device's MBR for the Boot Code.

Boot Code - Tells the BIOS startup sequence where on the hard drive to start running code. Stored in the Master Boot Record (MBR) of the boot drive. This is the thing I can't seem to get Windows to create on any disk other than Disk 0

Boot Loader (BCD) - Called by the Boot Code, typically stored in the System Reserved partition. This contains the settings needed to boot Windows (including decrypting the drive if needed), also contains the code to select which OS to start in a dual boot environment.

Operating System - Called by the Boot Loader, the OS has has many layers of code called during startup, but not relevant to this discussion.

So for me this is what I have:

Boot Code: Spindle

Boot Loader: SSD

OS: SSD

I wish it was all on the SSD, but this works fine, I will not get overly picky

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.