Hinweis: Diese Anleitung ist validiert für ältere Rechner mit BIOS-Architektur, für EFI-basierte neuere Rechner gelten andere Verfahren, die ich noch nicht erprobt habe.

Es kommt ab und zu mal vor, dass der PC oder Laptop mit einer LINUX-Installation nicht mehr hoch fahren möchte. Vielfach ist der Boot-Sektor - durch welchen Fehler auch immer - nicht mehr in Ordnung.

Doch wie komm man aus der Falle wieder raus?

Erste Möglichkeit ist eine CD oder ein USB-Stick mit Super-GRUB. Die kleine Applikation ermöglicht das primäre Booten und sucht nach den LINUX-Installationen auf dem Rechner. Von dort aus kann man in die ausgewählte LINUX-Installation booten. Nur - der Ausgangsfehler ist noch da! Dazu weiter unten mehr ...

Zweite Möglichkeit ist die Nutzung der Live-CD oder des Live-USB-Sticks von dem aus das LINUX installiert wurde. Damit der Rechner direkt gestartet, man landet aber in der sogenannten Live- oder aus Test-Umgebung. Manche Live-Umgebungen bieten die Möglichkeit (im Menü nach suchen), den Boot-Sektor zu reparieren. Dies sollte man zumindest ausprobieren. Bei mir hat es jedenfalls nicht geklappt.

Damit kommen wir zum Kern, das Wechseln von der Live-Umgebung in die LINUX-Installation auf dem PC oder Laptop, auch Change-Root-Verfahren genannt:

  1. Bezeichnung der Partitionen auf der Festplatte feststellen und überprüfen (im Allgemeinen ist nur eine Festplatte installiert, die dann auch als sda bezeichnet wird, die Partitionen werden dann mit Ziffern benannt, z.B. sda2 für die zweite Partition, dazu

    - entweder mit dem grafischen Tool gparted (über das Menü aufrufen) sich die Festplatten und deren Partitionen anzeigen lassen

    - oder in einem Terminal fdisk oder parted nutzen:
      parted -l

    - Nehmen wir an, die LINUX-Installation befindet sich in der Partition sda2.

  2. In einem Terminal in die Root-Umgebung der LINUX-Installation einbinden mit:

    sudo mount /dev/sda2
    sudo mount -o bind /dev /mnt/dev
    sudo mount -o bind /proc /mnt/proc
    sudo mount -o bind /sys /mnt/sys


    mit folgendem Befehl auf Root der LINUX-Installation wechseln:

    sudo chroot /mnt

  3. Jetzt kann man die GRUB2 wieder im MBR der Festplatte (unter der Annahme, dass LINUX auf der Festplatte sda installiert ist) einschreiben mit

    sudo grub-install /dev/sda

    wenn dies fehlerfrei durchlaufen wurde, kann GRUB2 erneut installiert werden mit

    sudo update-grub

    Wenn auch dies erfolgreich abgeschlossen wurde, aber von einer Live-Umgebung mit chroot auf das LINUX-System gerwechselt wurde, diese CHROOT-Umgebung verlassen mit:

    exit
  4. Jetzt den PC oder den Laptop neu starten und dabei die CD oder den USB-Stick entfernen, wenn dazu aufgefordert wird.

Ein Provider-Wechsel für die eigene Website stellt immer erst einmal ein Risiko dar, so war es auch für mich. Er ist also sauber zu planen und vorzubereiten. Wer es nicht oft macht, sollte dazu auf alle Fälle einen lokalen Server einrichten, auf dem er Schritte austesten kann.

Ich besitze eine Website mit vielen Bildern und Galerien basierend auf Drupal version 7.69 und habe sie erfolgreich von einem Provider auf einen anderen umgezogen. Für mich gab es jedoch drei Stolpersteine:

  • US-Quasi-Standards gegen EU-Standards
  • Zugriff auf Bild-Dateien und deren Thumbnails
  • Domain-Name umziehen

Vorbereitung

Für die Vorbereitung ist die von Drupal.org bereit gestellte Anleitung (Migration of a site) eine gute Hilfe, sie ist allerdings in Englisch.

Durchführung

Alter Provider

Als Admin in der Website den alle Caches löschen, die CleanURL aus schalten und die Site in den Wartungsmodus versetzen.

In der Hosting-Umgebung des alten Providers die Datenbank sichern und herunterladen. den Ordnerzweig der Website in einem File-Manager komprimieren und herunterladen.

Die Website wieder aus dem Wartungsmodus holen (Login dabei über http(s)://alter.domain-name.tld/?q=user) und die ClearURL setzen. Damit ist die Website bei dem alten Provider wieder online.

Neuer Provider