I’m a big fan of technology that helps users. HPA could be one of those “helpful” technologies. HPA is a “feature” of some motherboards whereby they steal hard disk space (typically the last few megs of your disk) and use it for backing up the system BIOS, a recovery partition, etc.
I just purchased a GIGABYTE GA-EP45-UD3P motherboard, RAM, and CPU to drop into my file server. Today I assembled the trio, stripped my old mobo out and dropped this new one in.
The machine booted up but there was a little problem. Two of my disks (members of a ZFS mirror) were corrupted!? That effectively destroyed one of my filesystems, which made me very unhappy.
A few Google searches later and I learned all about HPA. This nasty little surprise was tucked away in Advanced BIOS Features -> Dual BIOS Recover Source = HPA (page 49,51 in the manual). My version of BIOS doesn’t have this option, but I found accounts online of older versions that do. It seems that changing that setting didn’t actually work (ie, disable HPA), so Gigabyte removed the feature. They have left me no way of disabling this destructive feature.
After hours of fiddling, I have worked around it by: a) moving the disks off the first two SATA connectors b) rebooting onto the HDD GURU Magic Boot ISO, c) removing the HPA partition from both disks, d) rebooting into FreeBSD. Finally, my ZFS mirror was back with one disk, because the motherboard had helpfully restored the HPA on the first disk.
If you’re using this mobo and migrating disks to it, I’d suggest installing a sacrificial disk on the first SATA controller. That will appease the HPA demon and let you successfully migrate your RAID volumes to it. I’m stuck moving the data off the disk I recovered. Then I’ll recreate the array on the disks with the HPA partition and all will be well.
I ran into this same issue while building an UnRAID server. It is a wicked annoying “feature”. Is this even an issue? How often do you loose your BIOS? It’s not like it takes a PhD to select “Load Optimized Defaults”. I think I may just end up doing what you suggested and load a sacrificial disk (or an UnRAID cache drive) onto my first SATA channel if the updated BIOS doesn’t have an option to disable this “feature”.
It’s not an issue when building a new server, as the disks will just ‘magically’ lose a couple MB and you’ll likely not be the wiser. Until you shuffle the disks around and a disk that didn’t have HPA gets destroyed. It’s also a major issue when you use the motherboard as an upgrade and it blows away your existing disks. This feature should be smart enough not to destroy already formatted disks, or leave it off by default. Or at least have an option to disable it!
After reading multiple discussions/observations regards the HPA and Gigabyte’s GA-EP45-UD3P motherboard, I have no clue as to whether to buy one of these MB’s or not (which I had intended to do).
The following are my intentions:
I do not intend to use Gigabyte’s Xpress backup
I do not intend to to set up a RAID array.
I do not want any issues with this MB
I do not want any residual cr** on my hard drives
I do intend to run multiple non-RAID disks.
Can you please provide me with any guidance, and insight?
Thanks very much
Alan
Use a SATA controller of your own (ie, PCI card) or get a different motherboard.