Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Thanks. I was able to reproduce the bug in my script. I made an update if you want to try it again.

Sure. Try VirtualBox, Windows Install, or both?
VirtualBox you already did successfully. We're just working on the Mac Pro BIOS boot problem now.

Can’t I just do it blind, like I’ve been doing for years? It uses a display shared with a Mac mini (I just switch inputs), so I have the display plugged into the good card all the time rather than needing to switch back and forth between cards. I hold Option, wait 15 seconds (how long, I’ve discovered, it takes the Mac Pro to pull up the menu), tap right arrow twice (for my old install; it’s showing up as just once now), and then hit Return. Screen’s black (off black, not on and black) the whole time I do this, but Windows always recognized itself and booted right up afterward.
I'm amazed that worked. So the Startup Manager (hold Option at boot) has a UI that can be used even if it can't find a GPU to show the UI? I don't have a Mac Pro anymore to test this.

Explain this in more detail. How is the setup you've been using for years differ from the setup we are looking at now?

The good card in this case is the 980 which doesn't show an image? But you can still select the Windows option using the Startup Manager? A good card implies a bad card. What's the bad card? Is the bad card installed with the good card?

I’ll stick with just the GT120 directly while Windows is (failing to) installing so I don’t have to mess around with anything fancy. Once I know I have a working Windows install, I’ll go back to my old muscle memory system of blind boot switching.
Good idea. Does the blind boot switching involve more than one GPU?

I’m happy I can at least pretend to boot Windows again, and I’m also happy to have contributed in two small, humiliating ways to the tutorial. I’d suggest adding “Make sure you have no PCIe cards installed other than the GPU you’re using to get a boot screen.” to the General Preparation section.
I wonder if we would get more clues from the dual GPU problem if a display was connected to both of them? I don't think BIOS can/would try to init more than one GPU/display at a time so I wonder why having a second GPU would cause a problem?

OH, IT FINALLY MOVED ON. I CAN SET UP NOW.

Thank you again, everyone.
Yay!!

EDIT: Rerun the script for Joe to check whether legacy bootcode is now detected or not.
This will let him know whether there is a bug present in the script or not, to potentially save him debug time.
Rerunning the updated script should show that boot code in the boot blocks exists (for learning purposes since you can boot now). Since you can boot now, it means the boot code is probably also correct.
 
Since you can boot now, it means the boot code is probably also correct.
Indeed. What I was wondering was whether the version of the script used would now show the legacy bootcode after nuking and reformating (if that was done). Relevance would have been to confirm that the issue was down to the bootcode being corrupted/inaccessible but since you have apparently found an actual bug in the script, this is now largely moot.

Would still be interesting though, as an academic exercise, to see whether the "unfixed" old version now shows the code.
 
What I was wondering was whether the version of the script used would now show the legacy bootcode after nuking and reformating (if that was done).
Nuking and reformatting removes boot code. Installing a legacy Windows OS adds boot code. I don't remember if BootCamp reformatting adds boot code or if that also relies on the legacy OS installer to add the boot code. Anyway, running my script (the new one that works correctly) during different times in the installation process can show when the boot code gets added.
 
Nuking and reformatting removes boot code. Installing a legacy Windows OS adds boot code.
Correct. To be precise, I meant to check whether the old script now detects the bootcode after nuking, reformatting, and then reinstalling ... as compared to when it did not detect this before after just reformatting and reinstalling.

That is, whether explicitly removing the bootcode before adding it back from scratch makes it show up with the same version of the script that did not show it before (we know the fixed version will).

This is because I think the issue may be that a failing HDD may have rendered the sector holding the bootcode inaccessible, resulting in his previous installation becoming unbootable and hence, his decision to reinstall ... only to come up against the inaccessible boot sector again.

EDIT: Another experiment that could be done instead is to shut down, reinsert the other GPU without connecting it as before, then try to boot into Windows to confirm whether the issue is clearly with the GPU presence; as it was presumably not only removing the GPU done before the installation could finally be completed.
 
Last edited:
Having an unconnected GPU present was a potential misconfiguration ... Cannot really cover such.
Hey, turns out Windows refuses to boot with the GPU installed, and nVidia refuses to install the driver without the GPU installed. Despite it all working perfectly, plug and play, out of the box, for the last nine years. So it’s all pointless anyway.
Did you nuke the disk at any point?
I only ever did erasures from within Disk Utility.
legacy bootcode being "bad" was what I thought might be the issue; hence asking you to nuke the disk so that everything is rebuilt.
How do I fix that, again? The “sudo destroy” from earlier? I’m getting 5kb/s downloads in Windows, so there’s clearly something wrong with the driver for my Wi-Fi card (Brigadier doesn’t work correctly, either). I’m not so far along in rebuilding my Windows install that I’m not willing to completely destroy it again and start over now that I know what the “problem” was in the first place.
Rerun the script for Joe to check whether legacy bootcode is now detected or not.
Before or after the disk nuke?
 
I'm amazed that worked. So the Startup Manager (hold Option at boot) has a UI that can be used even if it can't find a GPU to show the UI?
Yep! It’s still “working” in the background even if you can’t see it. Heck, in the past I’ve even run Windows diagnostics blind simply by following a tutorial online (with pictures), knowing exactly where the cursor will be in relation to the items I need to click.
Explain this in more detail. How is the setup you've been using for years differ from the setup we are looking at now?
It’s not, but I’ll explain. Last November, I started having what I thought were graphical issues (the display would freeze and nothing would respond) while doing processor/GPU intensive tasks. I thought it was a problem with a driver at first, but it wasn’t. After about three times, I thought I ought to clean out my tower to make sure it’s not overheating before I decide it’s a “broken GPU.” Tore it down, wiped out some blobs, and then used compressed air on fans and in gaps. While holding my daughterboard to blow out underneath it, a spring fell into my lap. Looking it up, I discovered it was one of the springs that holds the northbridge heat sink in place. The plastic retaining pin had snapped after 16 years, lifting the heat sink, and clearly overheating my computer.

I finally got that repaired and it seems to be running safely again. But the install of Windows I had been using for years before doing so just refused to boot, no matter what I tried. Safe Mode worked, but a regular boot froze at the Windows logo+spinning dots, every single time. Finally I gave up and–wanting to save my bootROM/NVRAM from further damage–decided to wipe the disk and reinstall it as legacy, rather than EFI (which it surely was). And that’s what brought me to this thread.

So now what happens is that Windows will 100% refuse to boot if the GTX 980 is installed, but will boot with the GT120. And I can’t install the 980 drivers because nVidia refuses to do so if it doesn’t see the hardware for which it’s designed to install.

The good card in this case is the 980 which doesn't show an image? But you can still select the Windows option using the Startup Manager? A good card implies a bad card. What's the bad card? Is the bad card installed with the good card?

Sorry, “good” as in “quality performance.” My display was traditionally plugged into the GTX 980 through DisplayPort and simultaneously to a Mac mini through USB-C. I just leave the GT120 installed (without anything plugged into it) because it’s less hassle. I’ve had to use it exclusively through this process for the sake of Mac Pro firmware updating and Windows installing, though. The GTX 980 works just fine in OS X still, but Windows refuses to boot with it in.
Good idea. Does the blind boot switching involve more than one GPU?
It used to! Before I discovered I could switch blind, I would plug into my GT 120, reboot to the pre-boot picker, highlight Windows, hit return, and then QUICKLY move the cable to the other card before Windows booted (because apparently displays aren’t hot swappable in Windows?). One day I just decided to try it blind and it worked. Saved me a headache.
I wonder if we would get more clues from the dual GPU problem if a display was connected to both of them? I don't think BIOS can/would try to init more than one GPU/display at a time so I wonder why having a second GPU would cause a problem?
Especially when nothing’s plugged into it, yeah. Do you want me to try two displays at once (one in each card)? I already tried just moving the display to the 980 (nothing in the 120) and that’s what causes the perpetual flashing cursor. If I swap a display to the 980 but REMOVE the 120… is Windows going to act like the [redacted redacted redacted redacted redacted redacted redacted redacted redacted] that it is and actually work this time, do you think?
 
What the ****? I have a pre-boot picker with a display plugged into the GTX 980. IT’S AN OFF THE SHELF CARD. I DON’T HAVE OPENCORE. This has NEVER been the case before. How is this possible?!

WINDOWS ALSO BOOTED. What is going on? Why is the presence of the GT120 doing this? Was the 120 stopping me from having a pre-boot screen on the 980 this whole time? Why did Windows suddenly decide to stop booting with both cards installed? What changed in Windows 10’s code between 2020 and now? Even back when I had the GT 120 and a Radeon 4870 installed at once, (older) Windows never balked.

I have infinite questions, and the only answer I care about is that I’m leaving the GT 120 out of the computer going forward. Now I just need to find where I put my PCIe slot covers…
 
On my side, it's nevermind.

Seems the items directly related to this thread are done and dusted.

Consider creating a new thread to discuss follow on issues.
 
Simple answer: Your bootrom has the EnableGOP extension, thats why you'll get the bootpicker with every modern gpu, which has a working/valid GOP image.
A mere heart tag on a single comment cannot express the gratitude I have for the work you’ve put in, Borowski. Thanks again.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.