Windows (using UEFI boot on GPT disk) will no longer boot after adding an MBR hard disk

27
2013-10
  • shiin

    I have recently installed Windows 7 64 bit on a new SSD using UEFI boot and GPT. The system worked fine. After adding my old system HD to the system (that uses MBR), Windows will no longer boot correctly: When booting from the SSD, the normal boot screen appears and Windows tells me that it is loading files. Then the boot screen disappears and I am in an EFI shell, unable to boot. When I unplug the old HD, Windows boots again without complaints.

    Can I somehow boot with this configuration without formating my old hard disk first?

    I have an MSI Z77-G65A board. It is configured for UEFI boot, booting from the SSD. Both drives are set as independent HDs (no accidently activated RAID). The SSD is connected to a SATA-6G port and the old drive to a SATA-3G port.

  • Answers
  • shiin

    Deleting the disk signature solved the problem. This can be done with the command

    dd if=/dev/zero of=/dev/sdb bs=1 count=4 seek=440 conv=notrunc
    

    in a linux shell with root rights.

    Background:
    Starting with Windows 2000, Microsoft writes a 4-byte value -the disk signature- into the MBR of each disk so that it can identify each disk. When two disks have the same identifier problems ensue. The afore mentioned command replaces this signature with zeroes which prompts Windows to assign new, unique values.

    Note that before overwriting the disk signature, I also tried to replace the bootloader (bytes 0-439 in the MBR) with zeroes. By itself, this didn't help to solve my problem.

    EDIT: This solution solved the problem for only one boot-up. When trying to boot a second time, the same issues reappeared. By overwriting the disk signature again, I was able to boot, but again only for one time.
    Judging from the provided background above, it seems that Windows chooses an inappropriate disk signature so that the problem reappears...

    EDIT 2: It seems that when booting in UEFI mode Windows 7 64bit cannot deal correctly with extended partitions on disks with MBR. The bug is explained here:

    hotfix-1 hotfix-2

    Apparantly an extended partition is wrongly recognized as an UEFI partition. These two hotfixes should solve the problem, but they have to be already integrated into the install media.


  • Related Question

    windows 7 - New SSD, is the MBR broken? DISK BOOT FAILURE
  • Shevek

    I've been running Windows 7 on a WD 500gb SATA single drive, single partition setup for some time with no issues.

    I've just installed a new Kingston V Series 64gb SSD and performed a clean install of Win7 to it, deleting the partitions on the 500gb and using that as a data drive.

    All was well for a few reboots but then I started to get "DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER" messages. If I put the Win7 install DVD back in the drive it boots fine.

    Tried a clean install again, after replacing SATA cables and swapping SATA ports, with a complete partition wipe of both drives. Again, rebooted fine a few times then back with the "DISK BOOT FAILURE" error.

    Looked on the web and found some discussions about it so I then started from scratch again.

    This time I wiped the MBR on both drives using MBRWork, disconnected the 500gb and reinstalled to the SSD. Removed the install DVD and installed all the drivers which involved many reboots, all with no problem. To make sure I also did a few cold boots as well. Reconnected the 500gb, initialised, partitioned and formatted it. Copied data to it and did some more reboots and shutdowns. All was ok.

    Then out of the blue comes another "DISK BOOT FAILURE" and again, if the Win7 install DVD is in the drive it boots fine.

    So, is the SSD a bad'un?

    TIA

    UPDATE:

    It was a BIOS issue! I found a hidden away option for HDD boot order, which was separate from the usual HDD/CDRom/FDD boot order option. The WD was set to boot before the SSD... Swapped them round and all is well. Still don't understand how it worked at first though... Thanks Solaris


  • Related Answers
  • contact us

    This could be a motherboard BIOS issue. Have you attempted to update your motherboard to the latest BIOS? What make and model motherboard are you using?