How To: Fix iPhone NAND Corruption
I’ve just found this thread over at the iDroid project forums warning that doing a hard reset (home + power) can kill Android and potentially your device’s NAND. This can corrupt the Android images and prevent it from booting, and even worse corrupt the NAND preventing the iPhone from booting in to iPhone OS or even restoring in iTunes (it would show error 28).
If this happens you can use the OpeniBoot Console to wipe the iPhones NAND and zero-out the data on it. At the console type ‘nand_erase 0 0′ and wait about ten minutes. You should now be able to restore your device in iTunes.
To prevent NAND corruption you should shut down by typing ‘reboot’ in the terminal (you will need to root permissions first, so type ‘su’). You can use Gscript to create an icon on the homescreen to perform ‘reboot’, it’s hosted on Google Code here.
A lot of people with errors upon restoring are assuming NAND corruption is the culprit, if you haven’t touched OpeniBoot before then your issue is something very different.

Hi can you please tell me how I can do that with a litle tutorial because I install android in my iphone 3g with iphodroid and with hard reset my phone have exactly what you say. Thanks for the information.
What you need to do is put the iPhone in console mode (second option on the open iBoot screen), load the ‘loadibec’ binary (sudo ./loadibec openiboot.img3) and then you can type in the commands.
Thank you ! Can you tell me the comand to write to the nand because after errase the nand with : ‘nand_erase 0 0′ the Iphone is 16gb and now in itunes mark 14gb. After do what you say I finally restore my phone and is alive again only is 16gb and now is 14gb. I read that after errase the nand of the phone this promblem occurs but if I write to the nand I can fix this problem. Can you know the comand to write the nand after errase ? And thanks for your time and your help.
That’s perfectly normal, when formatted, there’s less usable space available on the NAND than advertised. There’s also a system partition that’s half a gig by default, but this can be increased if a parameter is changed in the firmware bundle before being flashed to the phone.
So don’t worry, 14GB usable on a 16GB device is all you’re going to get.
Thanks for your help !
What ca i do in a #gs New Boot Rom to restore the NAND??
For this method you need OpeniBoot (obviously), which at this time has not been ported to the 3G[S]. Note, NAND corruption (in this case) was the result of how OpeniBoot is used. I’m willing to bet that your issue it completely unrelated.