Two Windows 8 installations on separate hard drives - failure to boot

1

My motherboard supports UEFI and I have 2 disks on it. I did the following steps:

a) Installed Windows 8 via USB on hdd1 (Let 's call this WinA). Worked fine, booted fine multiple times.

b) Installed Windows8 via USB on hdd 2 (Let 's call this WinB). Worked fine, booted fine multiple times.

Now, I went to the BIOS and disabled the SATA port* for hdd 2 and tried to boot from hdd 1. WinA does not boot and there is no UEFI-prefixed boot option for it. :o I 've never dealt with Windows 8 before (coming from the mac world), so I am a bit confused as to why is this happening.

My idea is to re-install WinA, this time having hdd 2 disabled during the installation, but I fear WinB may become unbootable - and to set up all my programs there again will be a pain. So, what is your opinion? What should I do to have bothWindows 8 bootable without fear of re-installing WinB and WinA to be able to boot with hdd 2 disabled?

1* To avoid WinA having access to the contents of WinB. There is a reasonable ...reason for that in case you 're wondering (guests with physical access who can't open the box).

rollingBalls

Posted 2014-06-19T22:24:47.927

Reputation: 133

I ended giving up on this (see comment of accepted answer). I have awarded the most detailed answer, hopefully someone else will benefit. Thank you everyone for your time and knowledge. – rollingBalls – 2014-07-17T11:43:46.537

Answers

1

First, you don't have a BIOS; you have an EFI (technically a UEFI, which is just EFI 2.x; I use "EFI" generically to refer to either). I know that most people, and even manufacturers, refer to EFIs as BIOSes, but it's been my experience that this practice just causes confusion, because people expect their EFIs to act like BIOSes -- but they don't. As explained by Adam Williamson, EFIs boot in a fundamentally different way from BIOSes, so you've really got to leave your BIOS assumptions at the door.

Second, EFIs rely on both boot loaders stored on the hard disk and NVRAM entries that identify and prioritize those boot loaders. This has its advantages, but it also gives the EFI boot process two possible points of failure. Furthermore, some EFIs "helpfully" delete "invalid" boot entries from their NVRAMs. I suspect that this is the root of your problem -- when you disconnected WinA, your EFI may have deleted the relevant boot entries for it from NVRAM, thus making it impossible for you to boot from WinA when you reconnected it.

There are a number of ways around this problem. One way to quickly check it and work around it at least temporarily is to use my rEFInd boot manager. You can either download and prepare the USB flash drive or CD-R version; or (if you're willing to risk creating new problems) install it to your hard disk. Either way, when you reboot into rEFInd, it should present you with boot options for both versions of Windows. If this works and you want to use rEFInd permanently, you can install it to the hard disk. Alternatively, you could use bcfg in an EFI shell or efibootmgr in a Linux emergency disk to add copies of WinA's EFI\Microsoft\Boot\bootmgfw.efi file back to the computer's NVRAM. (See here for information on bcfg and here for efibootmgr.) Alternatively, the Windows boot manager should be able to manage both installations, but I don't know offhand how to get it to recognize that both are present.

Rod Smith

Posted 2014-06-19T22:24:47.927

Reputation: 18 427

Amazing answer, thank you very much! I have tried the rEDInd boot manager with hdd 2 disabled, but the OS list is empty, so does this mean Windows on hdd 1 is unbootable? As a side note, the mb is a gigabyte hybrid one. Even if it is unbootable, is there a safe way to re-install it without losing the Windows installation on hdd 2? – rollingBalls – 2014-06-26T17:42:06.897

You'll need to look at the files on the disk. If you're familiar with Linux tools, you could run the Boot Info Script from a Linux emergency disk to collect all the relevant information at once. You can then post the results file to a pastebin site and post a link to that here.

– Rod Smith – 2014-06-27T13:13:36.713

For some reason, Ubuntu LiveCD kept hanging during boot (despite that it had worked fine when I had installed it as an experiment when I built the PC) and other distros (e.g. Puppy) weren't even possible to be recognized as bootable, so I ended giving up. Thank you for your help, I 've lerned more than a few things. – rollingBalls – 2014-07-17T11:42:14.083

The technical term for either BIOS or UEFI is the UEFI/BIOS firmware. This helps indicate the type of firmware your actually using. One does not normally use the Windows Bootloader to manage anything other then Windows installations. You normally use say Grub to chain load into the Windows Bootloader. – Ramhound – 2014-07-17T12:26:23.747

1

You can install Windows 8 only one time unless you have two licenses.

For test purposes:

When installing Windows to first disk the other disk must not be attached to computer.

Then you swap - insert second disk, detach first disk and install again.

So you have two completely independent Windows 8 installations on two disks.

After you decide which disk is better (faster) you put it as first disk in your system. Attach also the second disk. You can select at firmware level which disk to boot.

You can also add a boot loader entry for second disk in BCD (Boot Configuration Data) of first disk so you would get a boot menu with two choices.

Adding a boot loader entry can be achieved using bcdedit.exe utility or using GUI tool Visual BCD Editor

snayob

Posted 2014-06-19T22:24:47.927

Reputation: 4 044

Thank you for your response, I understand your disclaimer - I have the necessary licenses for this setup. So, if I understand correctly, you are saying that each bootloader but what concerns me is @Rod Smith 's response that EFI may use its NVRAM as well – rollingBalls – 2014-06-26T17:59:11.787

There will be two different boot entries in NVRAM (one for boot manager on first disk, another for bootmgfw.efi on second disk) – snayob – 2014-06-27T23:54:50.650

0

Look, as you installed Windows 8 on HDD 2, the bootloader configuration and files were deleted from HDD 1 and installed to HDD 2. Therefore, your HDD 1 doesn't have any boot loader files and your UEFI just cant detect any instances of Windows 8.

For your second question, proceed on installing Windows 8 on HDD 1, your HDD 2 will be still bootable!

Muhammad Fahad Baig

Posted 2014-06-19T22:24:47.927

Reputation: 115