The Problem
When I try to install Windows 7 Service Pack 1 (SP1) on my dual-booting
computer, installation fails every time with the error 0x800F0A12.
My Setup
Drive 0
Drive 0 has Windows 7 installed. In the setup wizard, I just deleted all partitions, clicked the blank drive, clicked Next and let Windows handle the partition scheme, boot options, etc. the way it wanted. So there is no GRUB config or code here.
Drive 1
Drive 1 has Ubuntu installed with my preferred partition scheme. GRUB is installed to this drive and there is an entry for Windows 7 on Drive 0.
BIOS
In BIOS, I boot Drive 1 by default and just select Windows from the GRUB menu when I want to use Windows.
The Cause
If you can believe it, Windows was cranky because I was using GRUB to chainload Windows’ own bootloader!
The Solution
So the solution was to select my boot device at boot time (F12 during POST on my board) and boot from Drive 0 directly. SP1 is now installing without a hitch.
O_O
Once the installation is complete, you can continue chainloading Windows’ bootloader with GRUB. It’s only the SP1 installation that gums it up.
References
I found these articles to be most helpful on my journey.
- Windows 7 SP1, 0x800F0A12 error code on the Microsoft Community site
- SP1 Failed Install – Error Code 0x800f0a12 on the TechNet site

