Funny, I really thought I were the only one with this strange problem. But well.
For me, this 'unable to find root' problem happens everytime I reinstall arch on my system after repartitioned it again.
First, it really helps to start with the 'fallback image', like hungerfish said and I discovered. I assume that this starting mode is scanning all the available partition and actually search for the root, rather then just look for the specific label or UUID like the normal mode. Well, the official description for this 'fallback' is, that initramfs will skip the autodetect hook unlike the normal initramfs and will load the full range of modules available. Either way, it will find your root.
Obviously, neither Grub nor Syslinux will boot the first entry in the beginning.
The 'solution' I did is just to redo the making of 'hybrid partition' and rebuild the initramfs with 'mkinitcpio -p linux'
again and again, I claim that this won't do any more harm than the 'unable to find root' problem. I even did this several time until it works. But I still don't know why it suddenly works
I have a new Mac Book Air 4gb 256gb with the faster processor. I have boot camp 3.2 installed and the nvidia driver on the windows side is the 3.2 Boot Camp issued driver. Windows 7 Pro 32 bit. The windows partition has 200 GB. Provider - NVIDIA Driver Date - 8/16/2010 Version - 8. I also did a clean install after getting the new mac.
What you don't need to but can try to redo as last resort is
The reason is for the first, the genstab already generates the fstab correctly, even if you alter the partition head with gdisk with hybriding, the UUID stays the same as long as you don't repartition the entire disk. If you did this more than one time, then remember to clean up your fstab (at least).
To reinstall syslinux or grub doesn't affect the detection of the disk at all (I assume).
If the system can't find the disk by UUID, then it shouldn't do it by label neither.
To change the UUID by hand is dangerous, because if the detection suddenly works, it still won't find anything (redo this with genfstab if you forgot the old UUID, and clean up afterwards).
The appending won't work, because if the root can't be found then it won't start the kernel at all.
Hopefully this helps somehow.