Reported by Stef Home, Jul 25, 2011
It seems that boot0 does not work with HDD that have 4K sectors. I got the following error : boot0: test boot0: test boot0: test boot0: error I've tested on Seagate 2TB HDD ST2000DL003
Comment 1 by Cosmosis Jones, Jul 28, 2011
Comment 2 by shawn b, Aug 17, 2011
I can confirm this is happening on a WD20EARS with chameleon r1400 and chimera 1.4.1. Is this issue being looked at soon?
Comment 3 by abdeir abdeir, Aug 21, 2011
Same here except mine is 320Gb 7200rpm hdd, I tried with chameleon 1000-1400 incuding nbi 0.8.3-0.8.5 and chimera 1.4.1.
Comment 4 by Zsolt L, Aug 27, 2011
For me also, Western Digital 500GB 2.5" 5400rpm Sata HDD, till now cannot install chameleon, it is good to see that I am not a stupid idiot, who cannot install a programm... I hope it will be solved.
Comment 5 by ema, Aug 27, 2011
I have the same issues with a WD10EARS. Sometimes boot1h will "stick" if you boot in single user and install it manually, but most of the time it will be wiped just seconds after being copied. Command to verify that boot1h is in the partition: dd if=/dev/rdiskXsY of=testfile bs=512 count=2 If you run that right after the installation you will see some text in testfile. But I bet that if you wait 10 seconds and run it again then it's empty.
Comment 6 by Marcos Mejia, Aug 27, 2011
same issue here with WD10EARS.
Comment 7 by Cosmosis Jones, Aug 28, 2011
The issue about boot0 is for > 2tb. Your comments about western digitals shows that WD is doing something to the disk and is not related to the size of the drive.
Comment 8 by Cosmosis Jones, Aug 28, 2011
Comment 9 by Zsolt L, Aug 28, 2011
These HDDs have 4k sectors not 512b. That is the difference.
Comment 10 by Jeremy Agostino, Nov 13, 2011
Out of curiosity, has anyone with a 4kb sector drive tried installing their boot1h with "dd if=boot1h of=/dev/rdiskXsX bs=4096"?
Comment 11 by skip adam, Nov 22, 2011
I have tried this command and can confirm the error still persists "sudo dd if=boot1h of=/dev/rdisk0s2 bs=4096"
Comment 12 by Jeremy Agostino, Nov 23, 2011
I've got another thought. Can someone with a 4k sector drive download and burn a Linux LiveCD, preferably one with HFS+ drivers? I'd suggest PartedMagic (http://partedmagic.com/doku.php?id=start). Boot off of it and use the dd tool to copy the boot1h file in. Then wait a bit and copy it back out.
Comment 13 by skip adam, Nov 24, 2011
I just tried this, sudo dd if=boot1h of=/dev/sda2 bs=4096 and then this sudo dd if=/dev/sda2 of=boot1hout bs=4096 my output is attached. I am using a WD20EARS drive with 4K sectoring. linux version Ubuntu 10.04 / OS X 10.7.2. currently booting off a pendrive off a usb header inside the case. not ideal.
Comment 14 by skip adam, Nov 24, 2011
that worked. when copied using ubuntu's dd utility with the command above this worked. my hack now boots every time. not just the first time i tested. maybe this is an issue with the way osx handles 4ksectors with its dd command. (maybe an older version from bsd?) sudo dd if=boot1h of=/dev/sda2 bs=4096
Comment 15 by skip adam, Nov 24, 2011
thanks a lot. maybe the documentation could be updated to reflect this.
Comment 16 by Jeremy Agostino, Nov 25, 2011
Awesome. Now we have to figure out what the difference is between GNU dd and what I presume is BSD dd. Perhaps chameleon downloads could include a newer build of dd (like we do with fdisk)?
Comment 17 by Jeremy Agostino, Nov 25, 2011
Would you (or anyone else) mind doing some more testing with dd? GNU coreutils contains the Linux version of the dd program, and there's a Mac OS X-compatible version of it. I'd like to test if that version will work like the Ubuntu one did for you. First you need to wipe out the boot1h already on your disk. Boot the Linux system and run the command "dd if=/dev/zero of=/dev/sda2 bs=1k count=1". Be very careful that you get the bs and count options right, /dev/zero is technically an infinite file so dd could zero out your disk... Then use a loader disk to boot Mac OS X and install Macports ( http://www.macports.org/install.php) and run the command "sudo port install coreutils" in Terminal. Then run the usual Chameleon install command with "gdd" instead of "dd". Report back on whether the boot loader works again or not.
Comment 18 by skip adam, Nov 25, 2011
I'd be happy to do that. should i use bs=4k instead of 1k. i'll do that when i get back after the weekend.
Comment 19 by Jeremy Agostino, Nov 25, 2011
Either should work (the chameleon boot loader is only 1k so the rest of the block is zeroed out anyway) but you can use 4k if you want to be consistent. Thank you for your help, by the way.
Comment 20 by Stef Home, Nov 26, 2011
I tried gdd from macports today. Unfortunately it does not work. I also tried the dd from ubuntu live CD. That time it worked :) Thanks skip !
Comment 21 by Jeremy Agostino, Nov 26, 2011
Interesting. Perhaps the issue is caused by the kernel?
Comment 22 by wang yue, Nov 26, 2011
I also tried the dd from ubuntu live CD. That time it worked :) Thanks skip !
Comment 23 by adria vidal, Dec 20, 2011
booting from partedmagic and making dd if=boot1h of=/dev/sda2 bs=4096 solved my boot0: error on a Capacity: 2 TB Model: WDC WD20EARX-00PASB0 so seems to confirm a problem with dd binary and not a problem with advanced format.
Comment 24 by Esteban Michalowski, Jan 5, 2012
Guys,i have the "boot0 GPT test error" issue and i think im not understanding or missing a step. This is my diskutil list output: #: TYPE NAME SIZE IDENTIFIER 0:GUID_partition_scheme *640.01 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_HFSOSX OSX 100.0 GB disk0s2 3:Microsoft Basic Data 100.0 GB disk0s3 4:Microsoft Basic Data Datos 337.1 GB disk0s4 5:Microsoft Basic Data 100.0 GB disk0s5 6: Linux Swap 2.7 GB disk0s6 the disk0s2 is the partition which has OSX Lion on it. The thing is when i do "dd if=/dev/rdisk0s2 of=boot1hout bs=4096" once i have installed chimera (with tonymacx86 or chimera solo intaller), it start makingo boot1hout file with a lot of size (like if it were copying the full partition in that file). And if i do "dd if=/dev/disk0s2 of=boot1hout bs=4096", it says the disk is busy. I want to get the boot1h file, to boot with a GNU/Linux distributtion and use its dd command. The question is, how do i get the boot1h file correctly?
Comment 25 by skip adam, Jan 5, 2012
ok if you do "dd if=/dev/rdisk0s2 of=boot1hout bs=4096" it will copy your hard drive to a file called boot1hout. you don't want to do that unless inspecting and then you would run "dd if=/dev/rdisk0s2 of=boot1hout bs=4096 count=1", the same happens with this command "dd if=/dev/disk0s2 of=boot1hout bs=4096". I'm not sure what this means "I want to get the boot1h file, to boot with a GNU/Linux distributtion and use its dd command. The question is, how do i get the boot1h file correctly?" I'm assuming what you're trying to do is boot linux to then use it's dd utility to copy the boot1h file to the hard drive. Steps. 1. Download Ubuntu- http://www.ubuntu.com/start-download?distro=desktop&bits=32&r elease=lts 2. burn .iso file to cd or dvd. ( http://hints.macworld.com/article.php?story=20060619181010389) 3. reboot computer 4. at boot chime press del or whatever to get to bios (could be f2 or f8 or f12 etc) 5. set cdrom as first boot drive 6. put cd in drive, reboot and load ubuntu live environment 7. identify your disk. look in system> administration> disk drives. find your partition number for OS X. remember it i'll use example '/dev/sdxy' replace this with your partition number(probably something like /dev/sda2) 8. download the boot1h file and put in the home folder 9. open terminal (applications > accessories > terminal) 10. type "sudo dd if=boot1h of=/dev/sda2 bs=4096" 11. reboot and you're done. any questions just a ask
Comment 26 by skip adam, Jan 5, 2012
sorry in step 10 type "sudo dd if=boot1h of=/dev/sdxy bs=4096" replacing sdxy with the partition you noted down in step 7
Comment 27 by skip adam, Jan 5, 2012
if you were asking for the boot1h file it can be downloaded in the main zip file of the chameleon package. it's also attached to my post above.
Comment 28 by skip adam, Jan 5, 2012
Comment 29 by Jeremy Agostino, Jan 5, 2012
On another note, did anyone file a bug with Apple about this?
Comment 30 by skip adam, Jan 5, 2012
i haven't done. i could do that it you's like.
Comment 31 by skip adam, Jan 5, 2012
bug report submitted
Comment 32 by Esteban Michalowski, Jan 5, 2012
@skip adam, i have the boot0 GPT test error issue in my hhackintosh with triple boot. The thing is when i install chimera, i have triple boot for some seconds, then it's been "removed" by my system, caused by 4k hdd. Someone said the solution is making dd of the boot1h file using GNU/Linux, because its dd work with a 4k sectors HDD. Thats why im making "dd if=/dev/rdisk0s2 of=boot1hout bs=4096", i do it quckly when i install chimera... well, where can i download boot1h file? It wont delete my partittion info if i download and i manually do dd in linux, wont it?
Comment 33 by skip adam, Jan 5, 2012
@Esteban Michalowski The boot1h file is in the chimera boot folder of the zip file you download to install chimera. don't try to copy it off the Hard drive in mac using dd. the dd doesn't work properly with the 4k sectors. if you copy the boot1h file to your mackintosh using mac's dd as in the instructions chances are your hard drive will remove it (this causes the boot0 GPT error). to resolve use the same boot1h file in the zip folder and copy using the dd command using the Linux dd command (not mac's dd) the linux dd can handle 4k sectors and will align the file correctly so it is not removed by the system and then will allow you to triple boot. we have worked out a solution to this problem. Ignore the copying boot1h 'off' the drive. this was used earlier in this thread to diagnose the problem. the solution is to copy 'on' the boot1h file by using linux dd. anyway about downloading the boot1h file. the boot1h file is in the installation package. I have also linked it in post 28. this is a working boot1h file working in my system.
Comment 34 by skip adam, Jan 5, 2012
boot1h --> HD not HD --> boot1h
Comment 35 by Esteban Michalowski, Jan 6, 2012
@skip adam, Well, that's all, it worked like a charm. Finally i have my triple boot (OSX Lion, Windows, Ubuntu) working and booting without any problem and wihout iBoot CD. It's incredible that the implementation which makes Linux of "dd" works better than the Unix BSD one. Thanks alot, see ya.
Comment 36 by skip adam, Jan 6, 2012
@Esteban Michalowski you're welcome
Comment 37 by Esteban Michalowski, Jan 6, 2012
Guys, its me again. I know its a kind of offtopic, but i cant get info about this. I have tripple boot, to do it, i have chimera installed in OSX partittion and this one is marked as active. With the time, windows stop booting ok, it gets error 0xc000000e. To solve that problem, i have to set windows partition as active(if i dont, repair option of windows cd doesnt find my windows instalation), boot with the Windows 7 cd, use the option "repair windows", and then i can boot normally again, but i insist, later i will get the same issue. Its like windows doesnt like to be marked as an non actived partiton, and its stop working. Is it possible to install chimera in main disk (i mean rdisk0) instead of OSX partittion (rdisk0s2), marking as active the Windows partition?. Should it work? If i try, is there any way to make "roll back"? thanks.
Comment 38 by Marco Masselli, Jan 13, 2012
Guys, i don't know anything about Kernel... but the dd command isn't open source? if yes we should be able to compile a new version from linux and use it in the installer of Chamaleon.
Comment 39 by Jeremy Agostino, Jan 13, 2012
Unfortunately it's not that simple. The GNU (Linux) version of dd won't just compile on OS X because it's not Linux. I don't have a hard drive with this sector format so I can't test myself, but someone should see if the dd version included with GNU binutils from Macports has the same issue. One would hope it's a specific implementation detail different between the two dd versions, not a difference between the Linux and Darwin kernels, that is causing the problem. If the gdd from Macports binutils works, then yes it should be possible to build a statically linked version to include with Chameleon. Of course the best option would be that Apple fixed the bug in their BSD dd.
Comment 40 by Mark Inkley, Jan 26, 2012
Thanks for everyone's input so far. I too tried building 10.6.8 (Kakewalk) on a WDC WD20EARX-00ZUDB0 2TB disk and encountered the boot errors. Fortunately, I had a 10.6.4 build on seperate disk so I downloaded GNU coreutils-8.13 ( http://mirror.aarnet.edu.au/pub/gnu/coreutils/coreutils-8.13.tar.gz) which I built without any problems. The resulting dd binary installed boot1h perfectly. I don't believe this is a kernel issue, this version of dd.c compiles easily and works fine. eg dd if=boot1h of=/dev/rdisk2S2 bs=4096 rebooted and it works fine.
Comment 41 by skip adam, Jan 26, 2012
ok here is the binary mentioned by Mark Inkley. I haven't got round to testing it yet but here it is for anyone interested. (coreutils-8.13.tar.gz compiled 64BIT) I will upload a 32BIT version shortly.
- dd - 99.27 kB
Comment 42 by skip adam, Jan 26, 2012
here is a zip file with 32 bit and 64 bit dd binaries from the coreutils package
- dd.zip - 82.85 kB
Comment 43 by Ruben Ryapolov, Feb 13, 2012
I have this HD: WDC WD20EARX-00PASB0 Link: http://www.enuinc.com/hdi-wd-2000-s3-64g.html and I have the boot0 error, can anyone help me fix it?
Comment 44 by skip adam, Feb 13, 2012
Read the posting, this issue has been pretty much solved, all the information required is in this thread. could a moderator possibly lock this thread down to stop more similar requests? don't really want my email spammed.
Comment 45 by Cosmosis Jones, Feb 13, 2012
Before we package this into the package.. is this DD statically compiled? .. i dont' want to have to deal w/ dynamic links
Comment 46 by skip adam, Feb 13, 2012
can you explain the difference. I have compiled this using ./configure make and then copied the executable from the build directory. i'm using an LLVM compiler I would assume it was static linked however I have not passed any additional arguments other than which platform to build for (x86 and x86_64). it appears to work on all my machines, which would suggest static linking.
Comment 47 by watou smith, Feb 13, 2012
I have a WD10EADS that has always booted from an old Chameleon, and a WD10EARS that has never booted from any Chameleon or Chimera. The WD10EARS gives boot0: GPT boot0: test boot0: test boot0: error no matter what.
Comment 48 by skip adam, Feb 13, 2012
READ THIS THREAD before posting
Comment 49 by watou smith, Feb 13, 2012
I did. Downloaded dd.zip and boot1h from links above and ran the command: sudo dd/64/dd if=boot1h of=/dev/rdisk2s2 bs=4096 and the same problem as shown in comment 47 persists. (It would seem to me that saying there is a bug in dd is at the same level as saying there's a bug in malloc -- i.e., there probably isn't, and the problem probably lies elsewhere.)
Comment 50 by Jeremy Agostino, Feb 13, 2012
A few people have been able to use the coreutils dd binary compiled on Mac OS X to install boot1h successfully, so perhaps there's another issue at work in your case. Is it planned to include a coreutils dd binary in future chameleon releases?
Comment 51 by watou smith, Feb 13, 2012
All I can tell you is that I am one person for whom the coreutils dd binary provided failed to write the boot1h file successfully with the instructions provided above. I verified by reading back the first 1KB of the partition, and it came back mostly zeros. I seriously doubt that one dd utility versus another makes a reliable difference when dealing with 4K sector size disks.
Comment 52 by watou smith, Feb 13, 2012
Found this thread that shows that repeated attempts at writing boot1h have worked for WD10EARS (4K sector Advanced Format) drives. http://www.tonymacx86.com/viewtopic.php?f=34&t=10897&start=10 An OS-level or lower problem will not be fixed (reliably) by using a different dd utility. I assume Apple will eventually fix this bug (if they know about it). But in the meantime, if you change the post-flight script to loop over a write/read/verify of up to X times, you will 1) more likely leave behind a successful install, and 2) be able to report installation failure if all X attempts fail to write boot1h.
Comment 53 by watou smith, Feb 13, 2012
Three attempts was all I needed (see attached).
Comment 54 by watou smith, Feb 14, 2012
But there is definitely an OS- or Extension-level problem because boot1h is not really written to disk (see attached).
Comment 55 by skip adam, Feb 14, 2012
ok, fair enough, we'll need to continue looking into this then. will need more testing. For now use the linux dd commands off a live cd. I will look into this more when i'm off my exam period.
Comment 56 by Jeremy Agostino, Feb 14, 2012
That's demonstrating what other users experienced using the system dd. They would copy it in and copy it out, verifying that it was successful. Then they would copy it out a little later and it would be empty or corrupted.
Comment 57 by watou smith, Feb 14, 2012
The boot1h from comment 28 is now properly written using steps from comment 25. All of my previous attempts to write it from 10.6.7 to a 10.6.8 disk, or from 10.6.8 to itself, failed as described earlier. Thank you skip and Jeremy.
Comment 58 by Ryan Rhee, Feb 21, 2012
I was able to get this to work using OS X's dd command instead of Linux's. The trick I had to use was to write directly to /dev/disk0s2 instead of rdisk0s2. Of course, if disk0s2 is your root partition, then you can't really unmount it to write to it, so you'll have to boot into another OS X install to unmount that particular partition, and dd straight to the disk instead of going through the ramdisk. The only thing I can think of that might cause this is that the rdisk's write cache/buffer isn't being written out to disk for some reason. This also explains why re-writing a certain number of times might make this work, since repeated writes to the rdisk may force the write buffer to be flushed.
Comment 59 by Juri Schmidt, Feb 24, 2012
@Post 25 I am just trying and thinking about step 8. I mean I am really new to this topic, but where do I have to put the booth1 file exactly? is it the Home Folder on my Ubuntu release or on my Hackintosh hard drive? I tried disjournaling my mac hdd. Under Ubuntu it wanted to install new software for reading hfs+ and the problem is again I can not write on that hard drive. This time Ubuntu tells me that I have no Permision to write on it.
Comment 60 by skip adam, Feb 25, 2012
home folder of the ubuntu release. you don't need to be able to read the HFS drive as dd is a byte level utility. make sure when you use dd you type sudo first
Comment 61 by Casey Fulton, Feb 27, 2012
For the record, the fix listed above also works with the Windows version of dd available here: http://www.chrysocome.net/dd I was able to run "dd.exe bs=4k if=boot1h of=\\.\i:" and it worked perfectly next boot.
Comment 62 by Juri Schmidt, Feb 27, 2012
@skip adam, thank you I got it now. For some reason I don't get Admin permission when I boot from the Ubuntu CD if I type in terminal sudo dd... After that I tried it with Parted Magic, and copied the boot1h file into /root and startet terminal with the sudo dd.... comand. I now have a good hackintosh build. thanks again
Comment 63 by Brandon Dalzell, Mar 2, 2012
I think i made a grave error, please tell me if I did it wrong. I downloaded ubuntu, put the boot1h file in the home folder and ran the command "sudo etc" rebooted and got to the "Loading Operating System ..." with no boot errors. But it just sat there. I only have one partition on the hard drive(seagate 500g with 4k sectors.) And the dev command was to sda, should I of put it in sda1?
Comment 64 by Brandon Dalzell, Mar 2, 2012
Sorry for double posting but I am going to say that I made a mistake because now it wont let me even boot with iboot. I am going to attempt to wipe the drive from the Ubuntu livecd, and start over. So fething close to getting this fixed its annoying.
Comment 65 by ginga tringa, Apr 4, 2012
i have a problem. I follow every steps of the tutorial, and i have been done perfectly. Now there aren't error. But when i select my HDD appears this screen. what do i should do? thank to all! :)
Comment 67 by Cosmosis Jones, Apr 4, 2012
your photo has NOTHING to do with this issue. Do Not spam issues. Use google,forums, lastly irc for your problems. This issue is far past being opened. Someone else has dd compiled utils, we will incorporate them. this is being closed.
Comment 68 by watou smith, Apr 4, 2012
It was shown that which dd util one uses has no effect on this issue. It is being closed in error, and some/all users of 4K-sector boot disks will fail to boot. Bad move.
Comment 69 by Cosmosis Jones, Apr 4, 2012
Actually thats not true... The issue needs to be nailed down to emulated 512 vs non on certain drives. the coreutils dd compiled by conti appears to be working. Regardless this ticket is what it is a lot of info that needs to be coalesced into a real ticket, instead of 69 comments.
Comment 70 by watou smith, Apr 5, 2012
The coreutils dd compiled by conti did not work on a WD10EARS 4K sector 1TB disk. Please read comments from Feb 13.
Comment 71 by Cosmosis Jones, Apr 5, 2012
On Feb 13 i was busy preparing myself to deal with valentines day. i'm sorry i missed that post. This is apples problem. to get around it you have to to not dd to an rdisk. so boot your usb installer and install that way.. without an rdisk. dd if=boot1h of=/dev/diskXsY
Comment 72 by bugjah, May 30, 2012
hello all I have had a SL/Ubuntu build on my ell Mini 10V running great for 6 months, and this morning -suddenly- the boot0: error I did not do anything (updates etc.) recently, so this is puzzling. I have tried the dd if=boot1h ... fix in terminal BOTH in SL (using my instally USB disk) and in Ubuntu (which I can still boot into if I start up using he SL install). I am able to copy the files, but the boot0: error persists. any ideas? many thanks!