I have a 2,1 MacPro with the following notes:
- As known, this is the stupid EFI32 with 64-bit Processors.
- Changed GPU to 7970 Eyefinity6(unsupported, but with flashed BIOS for BootScreen and Yosemite support)
- IBM BR10i flashed to LSI SAS 1068E in IT mode (no hw raid utility in the bios, just presenting the disk) - required for 2 500 GB SAS SSDs
I want to prolong further the life of the machine, as it still satisfies my needs in terms of computing power (it's with the dual quads and 32 RAM). However my PC died and I need to add Windows and Linux to the mix. Here's my attempt and thinking so far:
Currently the machine is running Yosemite with Piker's Fix - no issues. In order not to mess with it and keep things clean, I decided to repurpose one old 1 GB USB Drive for REFIND.
Downloaded Shell_Full.efi from EdkShellBinPkg/FullShell/Ia32/ and renamed it shell.efi under tools_ia32
First attempt with Linux:
Downloaded ubuntu-14.04.3-desktop-amd64+mac.iso and booted in directly from the Mac Loader. In switched to BIOS mode (loading the SAS controller bios), correctly finding the disk and installing on it. I created a separate Boot partion as per the instructions on Roderick's page and installed GRUB there.
Rebooted to OSX and fixed the disk with gdisk
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/disk1: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9C7C90BA-9420-4918-B487-CE3271EE89A3
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3437 sectors (1.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02
2 4096 1003519 488.0 MiB 8300
3 1003520 586940415 279.4 GiB 8300
4 1891024896 1953523711 29.8 GiB 8200
5 586940416 1891024895 621.8 GiB 8300
However I'm stuck here. After the fix I cannot boot SuperGrub's disk. Neither from the native bootloader nor from refind. In Refind there are 2 options detected (boot from the whole disk or just from the 500 mb /boot), but both stop at "Starting Legacy Loader, Using load options 'HD', Not Found returned from legacy loader...
With Windows 7 (I'll try 8.1 and 10 later today), I get to the installation screen and can repartiton a drive, however I get an error
"Windows cannot be installed to this disk this computer's hardware may not support booting this disk ensure that disk's controller is enabled in the computer BIOS menu."
The end idea is to have each OS on separate disk, working independely from one another and a 4th disk in NTFS for sharing stuff between them.
Is there any hope for what I'm trying to achieve or something that I'm doing wrong?
Thank you.
Last edit: Ivan Petrov 2015-10-22
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First, Windows: If you mentioned whether you want to install the 32- or 64-bit version of Windows, I missed that detail. Given your 32-bit EFI, if you want to run a 64-bit Windows, it must be in BIOS mode. If you've got two physical disks, the best way to do this is probably to partition one with MBR and put Windows on it. (You can still use the disk for shared storage and/or Linux.) If you've got just one physical disk, you'll need a hybrid MBR, which is ugly and dangerous, but necessary in some cases.
The error message you received when trying to install Windows, though, suggests that Windows thinks that the Mac's firmware can't read from the disk. This may well be true for a BIOS/CSM/legacy-mode boot; I can't really be sure one way or the other, given the description. You might try booting FreeDOS from an emergency disk to determine if it can see your hard disk. AFAIK, FreeDOS will see only those disks that the BIOS (or EFI in CSM mode, in your case) can see, so that should be a good test.
If I'm right, you may have no choice but to use another disk for at least part of the Windows installation. It is possible to put the core of Windows on one disk but to use another disk for the bulk of the installation. Unfortunately, I don't know the details of how to do this, so you'll have to do a Web search or ask on a Windows-specific forum to learn how to do this.
Now, to Linux: It's not clear from your description if you've installed EFI-mode or BIOS-mode GRUB. Your partition table includes a BIOS Boot Partition, which suggests BIOS-mode, but that's not fully diagnostic. If you've installed GRUB in BIOS mode, it's possible that the same problem of BIOS-mode disk access is the cause of your problem in Linux. In this case, the solution would be similar -- put GRUB and the /boot partition on a disk that can be read in BIOS/CSM/legacy mode, even if the bulk of the installation is elsewhere.
Given your old hardware with a 64-bit CPU and 32-bit EFI, exotic hardware additions, and complex triple-boot setup, it's hard for me to make solid or simple recommendations of how to proceed -- you're basically playing well outside the normal field. One general approach, though, is to pull back. You've got a working OS X installation, so you could try running Linux and Windows in a virtualized environment within OS X, using VMware, VirtualBox, or something similar. This approach will eliminate your exotic hardware as a source of problems; if it works under OS X, then the virtual environment will handle the rest and present a simpler "computer" to the guest OSes.
Another approach, which is much riskier, is to upgrade to 64-bit firmware. I don't have URLs handy, but there are hacks available to do this with at least some Macs that have 32-bit firmware. If you can do this, you'll be able to boot Linux, and probably Windows 8 or later, in EFI mode, which should eliminate BIOS/CSM/legacy-mode issues from the equation. This may be enough to get things working, but I can make no promises of that. Worse, given your exotic hardware, it's entirely possible that you'll break things for OS X if you attempt this approach. Thus, I recommend this approach only tentatively, and even then, only if you're comfortable with firmware updates and know of a path to reverse the process to get back to your current firmware.
Finally, you could replace or supplement your hardware. You could buy a new PC for Windows and/or Linux and keep your current Mac, for instance; or it might just be time to trade in the Mac for a newer Mac.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, sorry for not including the info - I'm need 64bits to utilize the full amount of ram the machine has. I wonder whether the controller messes everything, but have to use it for the SAS SSDs. Each OS would be on it's own independent hard drive.
I haven't done more thorough testing on the on Windows side, I’ll check it out tomorrow.
However I've tried installing Linux on a single HDD with /boot and grub on a USB Drive, although still no luck - neither the native bootloader, nor refind see the drive. So far, I’ve tried only bios mode, but I’ll disable the automatic bootloader installation of Ubuntu and try to play around with native EFI and eficross).
I’m not aware for my mac of a way to flash the firmware and change the EFI from 32 to 64 bit (there are cheats for tricking OSX) – as far as my research went, it’s a hardware limitation. I'm using quite a lot of virtualization already, but would prefer native for variety of reasons, and changing the hardware to regular PC would be awesome, but I still would need the Apple around for IOS.
Anyhow, thank you for the reply, I'll continue my attempts and post if I make any progress.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Booting USB devices, especially in BIOS mode, seems to be a bit of a hit-or-miss proposition with Macs -- sometimes it works fine, other times you end up pulling your hair out without getting results. You may be able to shrink a partition or two on the disk that does boot normally to make room for a Linux /boot partition or the Windows equivalent. That won't consume a lot of disk space (/boot is normally about 500MB), so it's not a great sacrifice.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I was thinking the same. Also of note, the Mac has 2 additional "hidden" sata ports on which I'll try to put a harddisk and thus have a disk that is connected to the onboard controller, not the HBA. Hopefully this would lead to better results and some progress..
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yeah, if you've got a spare SATA port, you can throw another disk on it and that'll greatly expand your options. It could either be some old klunker you've got lying around (performance won't be all that important for this task) or some new thing that might give further expansion or performance benefits (like an SSD).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
in order to speed up the testing process (burning/booting DVDs is reaaaaly slow), I wanted to set up a network server and boot the ISOs over it. However, judging from http://forum.ipxe.org/showthread.php?tid=7323 , there is the need to customizing the iPXE build also, and seems to be for 64bit. In the limited testing and configuration that you've done, would it work out on 32bit?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't recall if I've tested iPXE with a 32-bit build. This area (PXE-booting with EFI and iPXE) is one with which I'm only passingly familiar. rEFInd's PXE/iPXE support was contributed, not written by me, and I've only done some rather basic testing with it. Even that testing turned up some problems, but it worked well enough to be worth including as al "alpha-level" feature.
In other words, I'm afraid you're pretty much on your own. If your computer will boot from a USB flash drive, you're probably better off testing with that.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Currently, i have 4 drives installed on my MacPro 1,1
1 as NTFS with Windows 10
1 with Ubuntu as EXT4 with BIOS grub installation
1 SSD with El Capitan
1 tb disk as NTFS for storage
I also have a 32-bit EFI issue, but i managed to get 64-bit versions of Windows 10 and Ubuntu 14.04 (Elementary OS) installed on there own dedicated drives using the legacy boot options
I have a 2,1 MacPro with the following notes:
- As known, this is the stupid EFI32 with 64-bit Processors.
- Changed GPU to 7970 Eyefinity6(unsupported, but with flashed BIOS for BootScreen and Yosemite support)
- IBM BR10i flashed to LSI SAS 1068E in IT mode (no hw raid utility in the bios, just presenting the disk) - required for 2 500 GB SAS SSDs
I want to prolong further the life of the machine, as it still satisfies my needs in terms of computing power (it's with the dual quads and 32 RAM). However my PC died and I need to add Windows and Linux to the mix. Here's my attempt and thinking so far:
Currently the machine is running Yosemite with Piker's Fix - no issues. In order not to mess with it and keep things clean, I decided to repurpose one old 1 GB USB Drive for REFIND.
Here's the structure
Downloaded Shell_Full.efi from EdkShellBinPkg/FullShell/Ia32/ and renamed it shell.efi under tools_ia32
First attempt with Linux:
Downloaded ubuntu-14.04.3-desktop-amd64+mac.iso and booted in directly from the Mac Loader. In switched to BIOS mode (loading the SAS controller bios), correctly finding the disk and installing on it. I created a separate Boot partion as per the instructions on Roderick's page and installed GRUB there.
Rebooted to OSX and fixed the disk with gdisk
With Windows 7 (I'll try 8.1 and 10 later today), I get to the installation screen and can repartiton a drive, however I get an error
The end idea is to have each OS on separate disk, working independely from one another and a 4th disk in NTFS for sharing stuff between them.
Is there any hope for what I'm trying to achieve or something that I'm doing wrong?
Thank you.
Last edit: Ivan Petrov 2015-10-22
First, Windows: If you mentioned whether you want to install the 32- or 64-bit version of Windows, I missed that detail. Given your 32-bit EFI, if you want to run a 64-bit Windows, it must be in BIOS mode. If you've got two physical disks, the best way to do this is probably to partition one with MBR and put Windows on it. (You can still use the disk for shared storage and/or Linux.) If you've got just one physical disk, you'll need a hybrid MBR, which is ugly and dangerous, but necessary in some cases.
The error message you received when trying to install Windows, though, suggests that Windows thinks that the Mac's firmware can't read from the disk. This may well be true for a BIOS/CSM/legacy-mode boot; I can't really be sure one way or the other, given the description. You might try booting FreeDOS from an emergency disk to determine if it can see your hard disk. AFAIK, FreeDOS will see only those disks that the BIOS (or EFI in CSM mode, in your case) can see, so that should be a good test.
If I'm right, you may have no choice but to use another disk for at least part of the Windows installation. It is possible to put the core of Windows on one disk but to use another disk for the bulk of the installation. Unfortunately, I don't know the details of how to do this, so you'll have to do a Web search or ask on a Windows-specific forum to learn how to do this.
Now, to Linux: It's not clear from your description if you've installed EFI-mode or BIOS-mode GRUB. Your partition table includes a BIOS Boot Partition, which suggests BIOS-mode, but that's not fully diagnostic. If you've installed GRUB in BIOS mode, it's possible that the same problem of BIOS-mode disk access is the cause of your problem in Linux. In this case, the solution would be similar -- put GRUB and the
/boot
partition on a disk that can be read in BIOS/CSM/legacy mode, even if the bulk of the installation is elsewhere.Given your old hardware with a 64-bit CPU and 32-bit EFI, exotic hardware additions, and complex triple-boot setup, it's hard for me to make solid or simple recommendations of how to proceed -- you're basically playing well outside the normal field. One general approach, though, is to pull back. You've got a working OS X installation, so you could try running Linux and Windows in a virtualized environment within OS X, using VMware, VirtualBox, or something similar. This approach will eliminate your exotic hardware as a source of problems; if it works under OS X, then the virtual environment will handle the rest and present a simpler "computer" to the guest OSes.
Another approach, which is much riskier, is to upgrade to 64-bit firmware. I don't have URLs handy, but there are hacks available to do this with at least some Macs that have 32-bit firmware. If you can do this, you'll be able to boot Linux, and probably Windows 8 or later, in EFI mode, which should eliminate BIOS/CSM/legacy-mode issues from the equation. This may be enough to get things working, but I can make no promises of that. Worse, given your exotic hardware, it's entirely possible that you'll break things for OS X if you attempt this approach. Thus, I recommend this approach only tentatively, and even then, only if you're comfortable with firmware updates and know of a path to reverse the process to get back to your current firmware.
Finally, you could replace or supplement your hardware. You could buy a new PC for Windows and/or Linux and keep your current Mac, for instance; or it might just be time to trade in the Mac for a newer Mac.
Hello, sorry for not including the info - I'm need 64bits to utilize the full amount of ram the machine has. I wonder whether the controller messes everything, but have to use it for the SAS SSDs. Each OS would be on it's own independent hard drive.
I haven't done more thorough testing on the on Windows side, I’ll check it out tomorrow.
However I've tried installing Linux on a single HDD with /boot and grub on a USB Drive, although still no luck - neither the native bootloader, nor refind see the drive. So far, I’ve tried only bios mode, but I’ll disable the automatic bootloader installation of Ubuntu and try to play around with native EFI and eficross).
I’m not aware for my mac of a way to flash the firmware and change the EFI from 32 to 64 bit (there are cheats for tricking OSX) – as far as my research went, it’s a hardware limitation. I'm using quite a lot of virtualization already, but would prefer native for variety of reasons, and changing the hardware to regular PC would be awesome, but I still would need the Apple around for IOS.
Anyhow, thank you for the reply, I'll continue my attempts and post if I make any progress.
Booting USB devices, especially in BIOS mode, seems to be a bit of a hit-or-miss proposition with Macs -- sometimes it works fine, other times you end up pulling your hair out without getting results. You may be able to shrink a partition or two on the disk that does boot normally to make room for a Linux
/boot
partition or the Windows equivalent. That won't consume a lot of disk space (/boot
is normally about 500MB), so it's not a great sacrifice.I was thinking the same. Also of note, the Mac has 2 additional "hidden" sata ports on which I'll try to put a harddisk and thus have a disk that is connected to the onboard controller, not the HBA. Hopefully this would lead to better results and some progress..
Yeah, if you've got a spare SATA port, you can throw another disk on it and that'll greatly expand your options. It could either be some old klunker you've got lying around (performance won't be all that important for this task) or some new thing that might give further expansion or performance benefits (like an SSD).
Hello Rod,
in order to speed up the testing process (burning/booting DVDs is reaaaaly slow), I wanted to set up a network server and boot the ISOs over it. However, judging from http://forum.ipxe.org/showthread.php?tid=7323 , there is the need to customizing the iPXE build also, and seems to be for 64bit. In the limited testing and configuration that you've done, would it work out on 32bit?
I don't recall if I've tested iPXE with a 32-bit build. This area (PXE-booting with EFI and iPXE) is one with which I'm only passingly familiar. rEFInd's PXE/iPXE support was contributed, not written by me, and I've only done some rather basic testing with it. Even that testing turned up some problems, but it worked well enough to be worth including as al "alpha-level" feature.
In other words, I'm afraid you're pretty much on your own. If your computer will boot from a USB flash drive, you're probably better off testing with that.
Currently, i have 4 drives installed on my MacPro 1,1
1 as NTFS with Windows 10
1 with Ubuntu as EXT4 with BIOS grub installation
1 SSD with El Capitan
1 tb disk as NTFS for storage
I also have a 32-bit EFI issue, but i managed to get 64-bit versions of Windows 10 and Ubuntu 14.04 (Elementary OS) installed on there own dedicated drives using the legacy boot options
The only issue im facing, is that rEFInd shows multiple entries for Windows
Last edit: Kyle 2016-03-20