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:

Now the single steps in detail as follows:

1. Remove Grub

  1. Boot the Linux live-CD to the command line and log in as root
  2. Start the disk partition tool fsdisk with the path to the harddrive device file, e.g.: fdisk /dev/sda
  3. Show the partition table: p
  4. 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!
  5. Mark the Linux partition as “non-bootable”, e.g. assumed that it is the second partition: a [ENTER] 1 [ENTER]
  6. Mark the Windows partition as “bootable”, e.g. assumed that it is the firstpartition: a [ENTER] 0 [ENTER]
  7. Show the partition table to verify the result: p
  8. Save changes: w
  9. 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

  1. boot Windows 7 DVD
  2. confirm language settings
  3. Choose the rescue option in the following dialogue, then select your Windows installation and choose the extended Settings (no (!) complete automated recovery)
  4. 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

  1. Boot the Linux live-CD to the command line and log in as root
  2. Start the disk partition tool fsdisk with the path to the harddrive device file, e.g.: fdisk /dev/sda
  3. Show the partition table: p
  4. 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!
  5. Mark the Linux partition as “bootable”, e.g. assumed that it is the second partition: a [ENTER] 1 [ENTER]
  6. Mark the Windows partition as “non-bootable”, e.g. assumed that it is the firstpartition: a [ENTER] 0 [ENTER]
  7. Show the partition table to verify the result: p
  8. Save changes: w
  9. Quit fdisk: q
  10. Run the Grub editor: grub
  11. Let Grub find the identifier for the Linux partition: find /boot/grub/stage1
  12. Grub should now print sth. like “hd0,1″, remind this
  13. Tell Grub the install location according to the identifier printed in the previous step, e.g.: root (hd0,1)
  14. Install Grub: setup (hd0)
  15. 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.


 
 
 

13 Responses to “Install Windows 7 Service Pack 1 despite Grub”


  1. Christian Eisbrenner
    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

  2. [Empfehlung] Windows 7 SP1 Finger weg!
    24. February 2011 um 23:12

    [...] [...]

  3. Huer
    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

  4. warnec
    1. March 2011 um 22:10

    Thanks, will try that out. I get the same error.

  5. Klaus
    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

  6. Larry
    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)

  7. Piotr
    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.

  8. Pluribootent
    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

  9. Win7 SP1 Installationsproblem - inQuake Forum
    11. May 2011 um 14:08

    [...] ist wohl Schuld. Andreas Demmer __________________ [...]

  10. Win 7 - SP 1 nicht installierbar wegen Dualboot? - MCSEboard.de MCSE Forum
    26. February 2012 um 08:33

    [...] [...]

  11. Update Serviepack 1
    27. February 2012 um 05:39

    [...] Moin, hier mal ein Anhalt: -> http://www.andreas-demmer.de/2011/02…-installieren/ [...]

  12. Daniel
    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!

  13. Wolfgang L
    25. May 2013 um 17:58

    Hi,

    habe es nach Anleitung gemacht, hat super funktioniert. vielen Dank!!
    Jetzt ist mein Win7Ultimate neben Opensuse 21.3 wieder aktuell.

    Grüße

    Wolfgang

Leave a Reply