I've been struggling with a relatively new HP DL380 Gen 9 server that I'm trying to convert to a Windows 2012 R2 box. Initially this server was running vSphere 5.5 and ran without any hiccups, however, at the end of the day, I only had one server running inside this host. To me, it made more sense for it to be a physical Windows Server.
Upon first attempting to convert to a Windows box, I kept having issues installing the O/S with HP Intelligent Provisioning. After reading several posts online, I decided to upgrade it to the latest version (v2.50). This unfortunately did not resolve much. Every time I went through the installation routine, it would hang or error out at some point of the installation. Sometimes it wouldn't see the drive and sometimes it got caught in a reboot loop. I finally decided to bypass the built-in HP Intelligent Provisioning tool and installed straight from the media. This worked fine, but you do have to install drivers with SPP media after installing the O/S. I did run into another issue once everything was operational, the server was hard locked at an HP splash screen and after much troubleshooting, the motherboard turned out to be bad. The only error I noticed was that the server overheated.
Once the motherboard got replaced, I went through the process of upgrading the built-in HP Intelligent Provisioning tools once again to the latest version and then followed that up by using the SPP to update firmware and BIOS since the mobo was behind. After multiple attempts at installing the O/S with HP Intelligent Provisioning, different Windows Server media, USB drives, DVD single and dual-layer media and just about any scenario you can think of, I decided to remove the secondary HP Smart Array P441/4GB SAS Controller that was connected to some direct attached storage (DAS). At this point, I successfully used the built-in provisioning tools and it booted into Windows without any issues whatsoever.
tl;dr - remove any additional RAID controllers from server and leverage HP Intelligent Provisioning (F10) to install Server 2012. Also, change the power profile to Maximum Performance.
Edit (12/28/16): After replacing the motherboard a couple of times, the Smart Array card, a couple of CPUs and RAM sticks, HP elevated this case and reviewed the logs a little closer. Unfortunately the CPU was causing machine check errors (MCE) in the IML log. Turns out that the server was shifting c-states on the CPUs and creating a number of issues of us. I had seen a number of similar issues with the same gen hardware and Linux OS, but never with Windows. The solution turned out to be changing the system configuration under power management to Maximum Performance.
Press F9 during POST when promted.
Select System Configuration -> Bios/Platform Configuration (RBSU) -> Power Management
Set HP Power Profile to Maximum Performance
Save configuration and reboot.