Den GRUB2 Bootloader, in openSUSE 13.1, mit Dualsystem wieder herstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Hinweis: In dem Thema Den GRUB2 Bootloader, in openSUSE 13.1, mit Dualsystem wieder herstellen gibt es 7 Antworten. Der letzte Beitrag vom befindet sich ganz unten auf dieser Seite.
  • Den GRUB2 Bootloader, in openSUSE 13.1, mit Dualsystem wieder herstellen

    Einleitung:
    Wenn auf einem Rechner Windows und Linux installiert sind, hat bestimmt der Eine oder Andere das Problem, dass der Grub-Bootloader verschwunden ist und neu installiert werden muss.

    Der Bootloader verschwindet aus den unterschiedlichsten Gruenden, meistens aber, wenn aus welchem Grund auch immer, Windows neu installiert werden muss.
    In der Regel wird Windows zuerst installiert und Linux danach. Bei der Linuxinstallation wird der Grub2-Bootloader, korrekterweise, in den MBR (MasterBootRecord) von Windows geschrieben. Linux kann Windows lesen und bearbeiten, umgekehrt ist es nicht moeglich.
    Bei einer erneuten Windowsinstallation wird der MBR komplett neu erstellt und Linux kann nicht gestartet werden, weil Windows Linux nicht lesen und erkennen kann.

    Loesung:
    Es gibt verschiedene Moeglichkeiten den Grub-Bootloader wieder her zu stellen. Darauf gehe ich hier aber nicht ein.

    Die folgend beschriebene ist, fuer mich, die Einfachste und schnellste.

    Dazu sollte am Besten die Originale DVD verwendet werden, von der auch Linux installiert wurde, hier openSUSE 13.1-32bit. Darauf achten, bei einem 32bit System keine 64bit-DVD verwenden, umgekehrt natuerlich auch nicht.

    Nicht vergessen, vorher die Startreihenfolge auf das Laufwerk aendern. Die DVD einlegen und den Rechner starten, die DVD bleibt waehrend des gesamten Rettungsvorgang im Laufwerk!
    Nach erfolgtem Start mit "F2" die korrekte Sprache einstellen und mit "Rescue" oder "Rettungssystem" fortfahren.
    Es oeffnet sich die Rescue-Konsole, hier

    Quellcode

    1. root
    eingeben. Ein Passwort ist nicht notwendig.

    Wer sein openSUSE vorher richtig installiert hat, weiss wo sich seine "root-Partition" befindet, sicherheitshalber wird trotzdem mit

    Quellcode

    1. fdisk -l
    abgefragt.

    Bei mir sieht das so aus:
    Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
    /dev/sda2 206848 245452799 122622976 7 HPFS/NTFS/exFAT
    /dev/sda3 245452800 488396799 121472000 f W95 Ext'd (LBA)
    /dev/sda5 245454848 249661439 2103296 82 Linux swap / Solaris
    /dev/sda6 249663488 291618815 20977664 83 Linux
    /dev/sda7 291620864 488376319 98377728 83 Linux

    Hier liegt die "root-Partition" auf /dev/sda6. Der Stern bei /dev/sda1 bleibt unbeachtet.

    Die "root-Partition" wird in ein neues Verzeichnis gemountet

    Quellcode

    1. mount /dev/sda6 /mnt

    Dann wird das "/dev-Verzeichnis" gemountet/verbunden

    Quellcode

    1. mount --bind /dev/ mnt/dev

    Nun wird das System aus dem Rettungssystem mit dem neu gemounteten Verzeichnis ausgetauscht:

    Quellcode

    1. chroot /mnt

    Der openSuse 13.1-32bit Grub-Bootloader wurde jetzt wieder hergestellt und wird zum Abschluss in den MBR (MasterBootRecord) installiert.

    Quellcode

    1. grub2-install /dev/sda

    mit

    Quellcode

    1. exit

    wird das neue System verlassen und mit

    Quellcode

    1. reboot
    wird das System neu gestartet.

    Da sich die openSuse 13.1 DVD noch im Laufwerk befindet, wird natuerlich von der DVD gestartet. Nun wird

    Quellcode

    1. Boot from Hard Disk
    oder

    Quellcode

    1. Von Festplatte booten

    mit

    Quellcode

    1. Enter
    komplett neu gestartet.

    Wenn alles richtig abgelaufen ist, wird jetzt das Grub-Auswahlfenster erscheinen und es kann das gewuenschte System geladen werden.

    Zum Abschluss kann die openSUSE 13.1 DVD entfernt werden.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Rentner65 ()

    Für den Inhalt des Beitrages 73022 haftet ausdrücklich der jeweilige Autor: Rentner65

  • tomfa-ng schrieb:

    Und wie macht man das mit/bei UEFI?

    Leider hab ich kein UEFI und kann dazu nichts sagen. Vielleicht weiss jemand anderes etwas dazu.

    Für den Inhalt des Beitrages 73035 haftet ausdrücklich der jeweilige Autor: Rentner65

  • tomfa-ng schrieb:

    Und wie macht man das mit/bei UEFI?

    Mein Notebook und mein PC laufen mit UEFI.
    Ich habe auf beiden ein Windows8/openSUSE13.1-DualBoot eingerichtet.

    Im UEFI-Mode wird bei openSUSE13.1 dem GRUB2-Bootloader der "shim-Bootloader" vorangestellt. Dieser shim-Bootlader ist nötig um im Secure-Boot-Mode den durch openSUSE von Microsoft erworbenen Secure-Key zu verwenden damit das System überhaupt das Booten eines "Fremdsystems" gestattet und GRUB2 im nächsten Schritt gestartet werden kann!
    Vom shim-Bootloader bekommt der Anwender nichts mit, das System öffnet beim Hochfahren wie gewohnt das Auswahlfenster von GRUB2.

    Ich hatte sowohl auf meinem Desktop-PC als auch meinem Notebook bereits kurz nach der Einrichtung des Dual-Boots das Problem, dass nach einem umfassenderen Windows-Update das GRUB2-Fenster verschwunden war und Windows8 automatisch gestartet wurde!

    Gelöst habe ich das Ganze folgendermaßen:
    (Dies ist meine Lösungsvariante, es dürfte natürlich noch weitere Varianten geben!)

    Ich habe das Problem durch einen Eingriff in Windows8 behoben.
    Indem man unter Windows8 (z.B. mit <Windows-Taste>+X) den Command Prompt im Admin-Mode aufruft und hier den Befehl

    Quellcode

    1. C:\Windows\system32>bcdedit /enum all

    eingibt,
    werden die Boot-Einstellungen des Systems angezeigt:

    Beispiel:

    Brainfuck-Quellcode

    1. Firmware Boot Manager
    2. ---------------------
    3. identifier {fwbootmgr}
    4. displayorder {112d7697-46fe-11e3-beb8-806e6f6e6963}
    5. {bootmgr}
    6. {112d7693-46fe-11e3-beb8-806e6f6e6963}
    7. {63dfd18a-2c85-11e3-b718-adb8de629832}
    8. {63dfd18b-2c85-11e3-b718-adb8de629832}
    9. {63dfd18c-2c85-11e3-b718-adb8de629832}
    10. timeout 2
    11. Windows Boot Manager
    12. --------------------
    13. identifier {bootmgr}
    14. device partition=\Device\HarddiskVolume2
    15. path \EFI\Boot\bootx64.efi
    16. description Windows Boot Manager
    17. locale en-GB
    18. inherit {globalsettings}
    19. integrityservices Enable
    20. default {current}
    21. resumeobject {63dfd18d-2c85-11e3-b718-adb8de629832}
    22. displayorder {current}
    23. toolsdisplayorder {memdiag}
    24. timeout 30
    25. Firmware Application (101fffff)
    26. -------------------------------
    27. identifier {112d7693-46fe-11e3-beb8-806e6f6e6963}
    28. device partition=\Device\HarddiskVolume2
    29. path \EFI\opensuse\grubx64.efi
    30. description opensuse
    31. Firmware Application (101fffff)
    32. -------------------------------
    33. identifier {112d7694-46fe-11e3-beb8-806e6f6e6963}
    34. description UEFI: Network Card
    35. Firmware Application (101fffff)
    36. -------------------------------
    37. identifier {112d7695-46fe-11e3-beb8-806e6f6e6963}
    38. description UEFI: Network Card
    39. Firmware Application (101fffff)
    40. -------------------------------
    41. identifier {112d7697-46fe-11e3-beb8-806e6f6e6963}
    42. device partition=\Device\HarddiskVolume2
    43. path \EFI\opensuse\shim.efi
    44. description opensuse-secureboot
    45. Firmware Application (101fffff)
    46. -------------------------------
    47. identifier {63dfd18a-2c85-11e3-b718-adb8de629832}
    48. description EFI Network
    49. Firmware Application (101fffff)
    50. -------------------------------
    51. identifier {63dfd18b-2c85-11e3-b718-adb8de629832}
    52. description EFI USB Device
    53. Firmware Application (101fffff)
    54. -------------------------------
    55. identifier {63dfd18c-2c85-11e3-b718-adb8de629832}
    56. description EFI DVD/CDROM
    57. Windows Boot Loader
    58. -------------------
    59. identifier {current}
    60. device partition=C:
    61. path \Windows\system32\winload.efi
    62. description Windows 8
    63. locale en-GB
    64. inherit {bootloadersettings}
    65. recoverysequence {63dfd18f-2c85-11e3-b718-adb8de629832}
    66. integrityservices Enable
    67. recoveryenabled Yes
    68. isolatedcontext Yes
    69. allowedinmemorysettings 0x15000075
    70. osdevice partition=C:
    71. systemroot \Windows
    72. resumeobject {63dfd18d-2c85-11e3-b718-adb8de629832}
    73. nx OptIn
    74. bootmenupolicy Standard
    75. detecthal Yes
    76. Windows Boot Loader
    77. -------------------
    78. identifier {63dfd18f-2c85-11e3-b718-adb8de629832}
    79. device ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Win
    80. re.wim,{63dfd190-2c85-11e3-b718-adb8de629832}
    81. path \windows\system32\winload.efi
    82. description Windows Recovery Environment
    83. locale en-GB
    84. inherit {bootloadersettings}
    85. displaymessage Recovery
    86. osdevice ramdisk=[\Device\HarddiskVolume1]\Recovery\WindowsRE\Win
    87. re.wim,{63dfd190-2c85-11e3-b718-adb8de629832}
    88. systemroot \windows
    89. nx OptIn
    90. bootmenupolicy Standard
    91. winpe Yes
    92. Resume from Hibernate
    93. ---------------------
    94. identifier {63dfd18d-2c85-11e3-b718-adb8de629832}
    95. device partition=C:
    96. path \Windows\system32\winresume.efi
    97. description Windows Resume Application
    98. locale en-GB
    99. inherit {resumeloadersettings}
    100. recoverysequence {63dfd18f-2c85-11e3-b718-adb8de629832}
    101. recoveryenabled Yes
    102. isolatedcontext Yes
    103. allowedinmemorysettings 0x15000075
    104. filedevice partition=C:
    105. filepath \hiberfil.sys
    106. bootmenupolicy Standard
    107. debugoptionenabled No
    108. Windows Memory Tester
    109. ---------------------
    110. identifier {memdiag}
    111. device partition=\Device\HarddiskVolume2
    112. path \EFI\Microsoft\Boot\memtest.efi
    113. description Windows Memory Diagnostic
    114. locale en-GB
    115. inherit {globalsettings}
    116. badmemoryaccess Yes
    117. EMS Settings
    118. ------------
    119. identifier {emssettings}
    120. bootems No
    121. Debugger Settings
    122. -----------------
    123. identifier {dbgsettings}
    124. debugtype Serial
    125. debugport 1
    126. baudrate 115200
    127. RAM Defects
    128. -----------
    129. identifier {badmemory}
    130. Global Settings
    131. ---------------
    132. identifier {globalsettings}
    133. inherit {dbgsettings}
    134. {emssettings}
    135. {badmemory}
    136. Boot Loader Settings
    137. --------------------
    138. identifier {bootloadersettings}
    139. inherit {globalsettings}
    140. {hypervisorsettings}
    141. Hypervisor Settings
    142. -------------------
    143. identifier {hypervisorsettings}
    144. hypervisordebugtype Serial
    145. hypervisordebugport 1
    146. hypervisorbaudrate 115200
    147. Resume Loader Settings
    148. ----------------------
    149. identifier {resumeloadersettings}
    150. inherit {globalsettings}
    151. Device options
    152. --------------
    153. identifier {63dfd190-2c85-11e3-b718-adb8de629832}
    154. description Windows Recovery
    155. ramdisksdidevice partition=\Device\HarddiskVolume1
    156. ramdisksdipath \Recovery\WindowsRE\boot.sdi
    Alles anzeigen

    Der Pfad des aktivierten Bootloaders wird unter "identifier {bootmgr}" angezeigt, also im obigen Beispiel

    Quellcode

    1. \EFI\Boot\bootx64.efi

    Hier sollte aber der shim-Bootloader stehen, damit wie nach der Einrichtung wieder das GRUB2-Auswahlmenu erscheint und openSUSE gebootet werden kann!
    Man sucht in der obigen Anzeige also den Pfad zum shim-Bootloader, in diesem Fall ist das "\EFI\opensuse\shim.efi".

    Jetzt kann man durch den Befehl

    Quellcode

    1. bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi

    den shim-Bootloader wieder aktivieren.

    Mit

    Quellcode

    1. bcdedit /default {bootmgr}

    kann man die Veränderungen als default-Einstellung setzen, damit das Problem nicht bei weiteren Windows-Updates von neuem auftaucht.

    Ich habe diese Variante wie bereits erwähnt auf meinem Notebook und meinem Desktop-PC angewendet und seither nie wieder ein verschwundenes GRUB2-Menu erleben müssen!

    Es handelt sich hier um eine Lösung in Zusammenhang mit einem durch Windows8 überschriebenen Boot-Path nach Windows8-Update. GRUB2-Probleme, die durch Veränderungen unter openSUSE entstanden sind können hierdurch natürlich nicht behoben werden!

    Für den Inhalt des Beitrages 73036 haftet ausdrücklich der jeweilige Autor: linux-freund

  • @linux-freund
    Da ich kein UEFI habe kann ich Deine Ausführung nicht überprüfen, gehe aber davon aus, dass es so funktioniert und anderen Usern hilft.

    Für Deine Ergänzung zum Thema Danke ich Dir.

    Für den Inhalt des Beitrages 73038 haftet ausdrücklich der jeweilige Autor: Rentner65

  • @Rentner65:

    Nichts zu danken!
    Ich helfe gerne weiter wenn es mir möglich ist.
    Nach meiner gerade mal 6-monatigen Linux-User-Zeit gibt es dafür nicht unbedingt viele Gelegenheiten ;)

    Für den Inhalt des Beitrages 73058 haftet ausdrücklich der jeweilige Autor: linux-freund

  • Hallo linux-freund,

    vielen Dank!
    Deine Anleitung war meine Rettung, es Funktioniert einwandfrei.
    Habe gestern meinen neuen Acer V15 in Betrieb genommen und habe keine Möglichkeit gefunden opensuse ohne den Umweg übers uefi-bios Bootmenü zu starten bis ich deinen Beitrag gelesen habe.

    Gruß da_sudel

    Bemerkung: wer mit den neuen Acer Rechnern und dem Touchpad Probleme hat...
    sie funktionieren ab Kernel 3.16

    Für den Inhalt des Beitrages 73294 haftet ausdrücklich der jeweilige Autor: da_sudel

  • Hallo da_sudel,

    freut mich zu hören das Dir meine Anleitung geholfen hat!
    Ich finde den Lösungsweg auch klasse.
    Er ist so genial einfach und schnell anwendbar!

    Für den Inhalt des Beitrages 73295 haftet ausdrücklich der jeweilige Autor: linux-freund

www.cyberport.de