Install Windows 7 Service Pack 1 despite Grub
Yesterday, I wanted to install the recently released Service Pack 1 for Windows 7, because I run a Windows 7 in parallel to me beloved Linux, because I need it from times to times for my job. Unfortunally the installation failed shortly after the start dialogue with an unknown error message (error 0x800F0A12). This article tells you, how to fix it.
After some research, I identified the bootmanager Grub to cause this trouble: Windows 7 SP1 refuses to install on dual boot installations if another bootmanager is present. The solution was to remove Grub first, restore the Windows bootmanager, boot Windows, update it to SP1 and restore Grub afterwards.
This is what you need:
- a Linux live-CD (e.g. KDE Four Live)
- Windows 7 DVD
Now the single steps in detail as follows:
1. Remove Grub
- Boot the Linux live-CD to the command line and log in as root
- Start the disk partition tool fsdisk with the path to the harddrive device file, e.g.: fdisk /dev/sda
- Show the partition table: p
- Remember the partition number of the Linux partition marked as bootable and the Windows partition marked as non-bootable. Mind that partition numbers start counting from 0!
- Mark the Linux partition as “non-bootable”, e.g. assumed that it is the second partition: a [ENTER] 1 [ENTER]
- Mark the Windows partition as “bootable”, e.g. assumed that it is the firstpartition: a [ENTER] 0 [ENTER]
- Show the partition table to verify the result: p
- Save changes: w
- Quit fdisk: q
After these steps you need to reboot, whereafter the Windows boot manager should show up instead of Grub. It may most probably complain about the Windows installation beeing broken. This can be fixed as follows:
2. Restore Windows boot manager
- boot Windows 7 DVD
- confirm language settings
- Choose the rescue option in the following dialogue, then select your Windows installation and choose the extended Settings (no (!) complete automated recovery)
- let Windows setup check and repair your start options or alternatively run on the rescue console: bootsect /nt60 ALL /mbr
3. Install Service Pack
After a reboot, Windows should start as usual. Now you can proceed installing the Service Pack. This can be done either by running Windows update or by downloading the according 32bit or 64bit package from Microsoft. Either way, the update should finish successfully now.
Afterwards, we need to restore Grub.
4. Restore Grub
- Boot the Linux live-CD to the command line and log in as root
- Start the disk partition tool fsdisk with the path to the harddrive device file, e.g.: fdisk /dev/sda
- Show the partition table: p
- Remember the partition number of the Linux partition marked as non-bootable and the Windows partition marked as bootable. Mind that partition numbers start counting from 0!
- Mark the Linux partition as “bootable”, e.g. assumed that it is the second partition: a [ENTER] 1 [ENTER]
- Mark the Windows partition as “non-bootable”, e.g. assumed that it is the firstpartition: a [ENTER] 0 [ENTER]
- Show the partition table to verify the result: p
- Save changes: w
- Quit fdisk: q
- Run the Grub editor: grub
- Let Grub find the identifier for the Linux partition: find /boot/grub/stage1
- Grub should now print sth. like “hd0,1″, remind this
- Tell Grub the install location according to the identifier printed in the previous step, e.g.: root (hd0,1)
- Install Grub: setup (hd0)
- Quit Grub: quit
Finished! After a reboot, the Grub bootloader should appear as usual, in which – assumed that you had this configured before going through all of the steps listed on this page – you can switch between your Linux and your Windows installation.
24. February 2011 um 21:21
Guten Abend,
erstmeinmal ein RIESEN dankeschön für den Post mit dem SP1. Ich habe mir nen Wolf gesucht da ich die selbe Konfig und damit logischerweise auch dieselbe Fehlermeldung hatte.
Andere Variante welche ich am Ende gemacht habe da das mit Fdisk nicht wollte.
Windows 7 DVD einlegen
booten
Sprache bestätigen
Reparaturmodus
Eingabeaufforderung
bootrec.exe /Fix MBR (MBR wird neu geschrieben, aber kein Datenverlust.)
SP 1 installieren
Linux DVD einlegen.
Reparaturmodus starten
Bootlader installieren
FERTIG!
Nochmals Danke
Christian
24. February 2011 um 23:12
[...] [...]
25. February 2011 um 07:43
Hände weg … hab das sp1 drauf, seitdem bootet der pc irrlangsam, weil jedesmal das sp aktualisiert wird, eine deinstallation ist noicht möglich weil das update nicht gefunden wird, und auch pber eingabeaufforderung geht das nicht…
kackkommentar von microhilfe…. neuinstallation …so ne scheisssssssse
1. March 2011 um 22:10
Thanks, will try that out. I get the same error.
4. March 2011 um 18:44
wow, jetzt liegt der Verdacht nah, dass dies auch (oder so ähnlich) mit MacOS und Bootcamp funktioniert. Dabei scheitert die SP1 Installation nämlich auch.
Kennt sich damit zufällig auch jemand aus?
Besten Dank vorab
Klaus
Mashine:MacBookPro17″ Model’09 SnowLeopard Windows7 dualboot
8. March 2011 um 18:44
Zu älteren SATA-Controllern: Beim Wiederherstellen des Bootmanagers kann es bei älteren (nicht-AHCI Hauptplatinen) sein, dass der SATA Treiber nicht vorliegt und deshalb das Speichervolumen, auf dem sich die Windows Systempartition befindet, nicht gefunden wird, in diesem Fall kann das Laufwerk durch das Laden des jeweiligen SATA-Treibers von USB-Stick oder Diskette verfügbar gemacht werden. (A7N8X Deluxe, SiI3112A, funktionierte eventuell auch mit XP-Treiber, falls keine Win7 oder Vista-Treiber verfügbar)
14. April 2011 um 12:33
Bei mir hat das Update auf zwei verschiedenen Rechnern trotz GRUB problemlos geklappt. GRUB ist auch immer noch installiert. Scheint also nicht immer aufzutreten, das Problem.
1. May 2011 um 19:01
Hatte ebenso das Problem, aber anders gelöst:
Mein Grub ist im MBR
Win7 war bereits bootable markiert
Lösung:
Systempartition (100MB) UND Win7 Partition bootable markieren
Win7 booten – SP1 installieren – Win7 booten – Erfolg
11. May 2011 um 14:08
[...] ist wohl Schuld. Andreas Demmer __________________ [...]
26. February 2012 um 08:33
[...] [...]
27. February 2012 um 05:39
[...] Moin, hier mal ein Anhalt: -> http://www.andreas-demmer.de/2011/02…-installieren/ [...]
18. June 2012 um 21:36
Oh super. Das mit dem “beide Partitionen als aktiv/bootfähig markieren” hat super funktioniert. Ohne diesen Tipp hätte ich tatsächlich mit CDs rummurksen müssen. Danke!