Jump to content

Boot0 error with new 4 TB drive


macattackjack
 Share

5 posts in this topic

Recommended Posts

Hi have searched for an answer to this, and none of the fixes seem to work

 

My system

 

10.9.5

Asus sabertooth P79 i73800

chameleon, latest build (2.2 24xx I don't remember)

 

16 gb ram

 

I have a working system on a 500gb drive

 

Cloned 500 gb drive to 4th drive with superduper

 

booted from 500 gb drive, selected 4 tb drive and booted normally into 4 tb drive

 

Installed Chameleon: got this error when I tried to boot from the new 4 TB drive:

 

boot0: GPT
boot0: test
boot0: test
boot0: GPT
boot0: test
boot0: test
boot0: error

 

As I understand it, it's the fact that the 4 TB drive uses a 4k block sector, not the 512 mb sector, which the OS can't deal with.

None of the following from various websites work, though all are given as solutions, the responses usually say it didn't work.

 

 

ok, this is the second option for install it, download binarios chameleon folder i386 

1. open the folder i386 and copy boot1h for your USBInstaller.

2. boot from USBinstaller and go for utilities and open app Terminal

3. type diskutil list for identified your disk and partition where you installed of system ML = "(i.e: disk0s2)"

4. type diskutil unmount disk0s2

5. type cd /

6. type dd if=boot1h of=/dev/disk0s2 bs=4096

7. reboot

in steep 6 put your disk and partition "(i.e disk0s2 "), see your 

 

 

 

another says this command

 

dd if=/usr/standalone/i386/boot1h of=/dev/disk1s2

 

 

New hard drives made today are made with 4k byte sectors instead of the 512 byte sectors. With this new type of sector, boot loaders will not work from your hdd, you can only boot from your install usb. I have done some research and found the solution! I had the same problem and fixed it. Hopefully it helps you to!

 

1) Boot with your install USB into the Mac OS X Installer.

 

2) Go to Disk Utility, click on your Mac OS X Partition on your HDD and press info.

 

3) Write down the disk identifier, close Disk Utility and open Terminal.

 

{In the next steps replace <diskid> with you disk identifier. It should look like this disk0s2}

 

4) Then type this without the quotes "umount /dev/<diskid>" Then press enter

 

5) Then type this without the quotes "dd if=/usr/standalone/i386/boot1h of=/dev/r<diskid>" then press enter

 

6) Type Exit, then press enter and close terminal.

 

7) Shutdown you computer and boot from your HDD. You should now be about to boot from you HDD without any problem!

 

 

When I tried it, I either got permission denied, or no such file found. The only one that did work created a file on my boot drive, NOT the 4 tb drive.

 

The solution from this site says :ok, this is the second option for install it, download binarios chameleon folder i386 

1. open the folder i386 and copy boot1h for your USBInstaller.

 

copy the chameleon folder from where????

open the i386 folder from where and copy it to where on the USB installer????

 

I have a working system on a Hard drive I put in a usb enclosure and booted from there.

 

So:

 

First, why does the system work when I boot using the 500 mb drive chameleon, then select the 4 tb drive, but not just the 4 tb drive alone?

 

What am I copying from where to where? And can't this just be done manually since I am using an installed system? If so, what file do I copy from and where does it go?

 

Or, are the Hackintoshes limited to 512 mb drives or less.

 

It seems to me it should not be this big a deal. The solutions I've seen seem to blame the OS dd command. But real Macs have no problem with 4 TB drives, so what's going on.

 

Thanks

 

 

Link to comment
Share on other sites

Hi Hervé

 

I got it to work

 

But I would like to confirm the theory behind what it's doing.

 

1. Get a fresh copy of Chameleon's i386 folder

2. copy that folder to the root of a drive so it's easy to find.

3. rewrite the fresh boot1h file from the fresh copy of Chameleon's i386 folder, into the i386 folder of 4 TB drive, so that the boot loader can read it.

 

My guess is it's rewriting the boot1h file as a 4096 block file, so that chameleon can read it?

 

Is this correct?

 

What wasn't working in all of this was the cd / command. I had to use cd several times, and make sure terminal found the fresh copy of the i386 folder on the root of the usb drive before the final dd if=/i386/boot1h of=/dev/<destination 4To disk identified device> worked correctly.

 

Thanks!

Link to comment
Share on other sites

There are several boot files as part of Chameleon. To make it simple, boot1h is the boot file that will support 4K sector drives, something the standard/default boot file does not necessarily supports. By copying the boot1h and subsequently loading it at system startup, you ensure your 4K sector disk specs are supported. The boot file goes to the root of the target drive, not to a i386 folder...

 

Anyway, good that your got it sorted out.

Wow -- that is really wrong.

 

boot1h is the code for the PBR (partition boot record). Other than the fact that the boot1h code is responsible for finding /boot, It has nothing to do with /boot in the root of the system volume. The same boot1h is used for 4k drives and non-4k drives. The installer fails to write boot1h to the PBR of a 4k drive due to a bug in OS X 'dd' utility that happens only with a mounted partition on 4k drives.

 

The fix is to unmount the partition prior to attempting to write boot1h to the PBR. Of course you can't unmount the system partition when running from that partition as it is 'root' and root cannot be unmounted. Hence the need to boot from another partition so the PBR can be in an unmounted state, and the PBR written to. This is why we boot to the installer. Because root will be on the USB and the partition that needs the new PBR is able to be unmounted.

Link to comment
Share on other sites

Thanks. Be kind to us (Wow effect not required) and explain how the Chameleon installer package works and what it installs or does not install and what each boot file does.

attachicon.gifBoot_files.jpg

 

And I promise you I'll never speak out of my ar*e again. Have a pleasant week-end, with a Wow effect preferably!

Overview of legacy Chameleon bootloader process:

 

BIOS -> MBR: BIOS loads MBR (boot0) and executes it

MBR -> PBR: MBR (boot0) loads PBR (boot1h) and executes it

PBR -> /boot: PBR (boot1h) loads final stage bootloader (/boot) and executes it.

 

Chameleon installer needs to install all of these components: boot0/MBR, boot1h/PBR, /boot

There are various flavors of boot0 and boot1 that work slightly differently. Either way, they are always installed to the MBR and PBR.

 

The boot0 error is caused because boot1h is not written to the PBR which causes the boot0: error (error message is coming from boot0).

 

The PBR is not written due to a bug in OS X 'dd'.

Apple doesn't care because they don't use boot records... They use Apple EFI firmware.

Link to comment
Share on other sites

Maybe you'd be kind enough to extend your explanation and enlighten us on why non-4K sector disks would boot Ok with just boot file at partition root and without boot1h (since not written due to bug with "dd" command) and why 4K-sector disks do require boot1h.

Actually, I explained it perfectly in post #4.

 

Non-4k drives use boot1h at the PBR just as 4k drives do. But non-4k drives do not suffer from the 'dd' bug, so there is no issue with boot1h not having been written to the PBR.

 

Both Non-4k drives and 4k drives require all 3 components: boot0 at MBR, boot1h at PBR, and /boot in the system volume.

Link to comment
Share on other sites

 Share

×
×
  • Create New...