Dual Boot Konfiguration openSuSE 11.4 und Windows 7Das Problem: die Installation des Service Pack 1 für Windows 7 bricht mit dem Fehlercode 0x800f0a12 ab. Die Windows Hilfe nennt mehrere mögliche Gründe, bei mir war es letztlich das Problem, dass die Windows Boot Partition nicht als aktiv markiert war. OpenSuSE setzt bei der Installation das Boot-Flag um, da die Distribution standardmäßig den Bootmanager Grub nicht mehr in den MBR, sondern in den Bootsektor der Root-Partition schreibt. Dadurch findet der Installer des Service Pack den BCD Store (Boot Configuration Data Store) nicht mehr. Abhilfe ist einfach mit YaST möglich.YaST -> System -> Bootloader Bootloader-Einstellungen: Abschnittsverwaltung Anderer Systemabschnitt -> ein Häkchen bei "diese Partition bei Bootauswahl aktivieren", das war's. Jetzt den neuen Bootloader installieren. Damit ist das Windows Update möglich:Boot von Windows, ServicePack 1 einspielen, ein reboot durchführen, damit Windows die Änderungen komplettiert. Aber wichtig zu wissen, was wurde geändert. In der Datei /boot/grub/menu.lst wurde in die vorletzte Zeile makeactive eingefügt: ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows rootnoverify (hd0,1) makeactive chainloader +1 Windows ist ja so gemein,denn nach dieser Maßnahme kann Linux nicht mehr gestartet werden, der Bootmanager wurde „abgeklemmt”. Also ist es notwendig, den Bootmanager neu zu installieren und dabei die oben gemachte Änderung rückgängig zu machen. Diesmal aber leider ohne die Unterstützung durch eine grafische Benutzeroberfläche. Boot des Rettungssystems von der openSUSE DVD. F2 Sprache Deutsch -- wegen Tastaturbelegung, (sonst sucht man sich tot nach den Sonderzeichen). -> Rettungssystem Rescue login: root Rescue:~ # Nun benötigen Sie den Bezeichner der root-Partition ihres installierten Systems.. hoffentlich wissen Sie den. Wenn nicht, nicht so schlimm und vor Allem ungefährlich ist das durchprobieren von sda1 bis sdax oder der 2. Festplatte sdb.. mittels Rescue:~ #mount /dev/sdax /mnt Rescue:~ #ls /mnt/ Rescue:~ #umount /mnt bis Sie mit dem ls Kommando den gewünschten Verzeichnisbaum sehen, der etwa so aussieht: bin boot dev etc home lib lost+found media mnt opt proc root sbin selinux srv sys tmp usr var Mit dem soeben ermittelten Device (= Partition) ein letztes Mal mounten, dann das Gerätedateisystem einhängen und dann, wichtig, mit chroot in die change-root-Umgebung wechseln. Das ist jetzt die halbe Miete. (Die hier verwendeten Devicenamen entsprechen meinem System) Rescue:~ #mount /dev/sda7 /mnt Rescue:~ #mount --bind /dev /mnt/dev Rescue:~ #chroot /mntBeachten Sie: der Prompt sieht jetzt etwas anders aus. Die folgenden Kommandos mounten das proc- und sys-Dateisystem. Rescue:/> Rescue:/>mount /proc Rescue:/>mount /sys Rescue:/>mount -a Der letzte Befehl montiert jetzt ihr gesamtes System (dank /etc/fstab). Fehlermeldungen betreffen das Filesystem unter Windows (ntfs-3g). Das kann ignoriert werden. Das System befindet sich jetzt im runlevel 1 (Single User, kein Netzwerk), alle Dateien wieder da, Sie können aufatmen. Überprüfen Sie die folgenden Dateien auf korrekte Konfiguration: less /etc/grub.conf setup --stage2=/boot/grub/stage2 --force-lba (hd0,6) (hd0,6) quit less /boot/grub/device.map (hd0) /dev/disk/by-id/ata-WDC_WD6400BPVT-80HXZT1_WD-WXH1A31T8757 less /boot/grub/menu.lst ....... title Windows rootnoverify (hd0,1) makeactive chainloader +1 ....... Löschen Sie den Eintrag makeactive aus /boot/grub/menu.lst mittels vi oder verwenden Sie die Datei menu.lst.old, indem Sie sie nach menu.lst kopieren. Fatal, wenn Sie jetzt mit dem Editor vi nicht umgehen können. Die für diesen Zweck notwendigen Erläuterungen finden Sie über die Linkliste rechts oben. Möglicherweise kann der Eintrag makeactive auch bestehen bleiben, bin zu faul, das jetzt zu erproben. Da warte ich bis zum ServicePack 2. Jetzt kommt der entscheidende Schritt...... die Installation des GRUB Bootloader'sRescue:/> grub --batch < /etc/grub.conf GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,6) (hd0,6) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0,6)". .. failed (this is not fatal) Running "embed /boot/grub/e2fs_stage1_5 (hd0,6)". .. failed (this is not fatal) Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,6) /boot/grub/stage2 p /boot/grub/menu.lst "... succeeded Done. grub> quit Rescue:/> umount -a exit Vergessen Sie vor lauter Freude nicht die Befehle umount und exit. |
Eine umfassende Zusammenstellung von Möglichkeiten, um mit GRUB klarzukommen, im Ubuntu Wiki GRUB
Und noch eine Empfehlung: Editoren für die Benutzung an der Konsole: auf jedem Linux ist der vi verfügbar, damit sollte man ein wenig umgehen können. Hinweise zur Bedienung ebenfalls beim Ubuntu Wiki lesen ![]() Ihr Kommentar zum Artikel | |