Teil 4: Entsorgen, Wiederherstellen und Klonen von Linux

Achtung: Diese Anleitung wurde noch nicht in für 2012 angepasster Form getestet!!!

Mit der Anleitung Teil 3 wurde Lubuntu 11.10 in Partition sda7 installiert. Die Heimatverzeichnisse der Benutzer ( /home ) wurden davon getrennt auf Partition sda8 angelegt.

1. Genaue Dokumentation der Partitionsdaten

Für den weiteren Ablauf ist es hilfreich, die genaue Lage und Größe der Partitionen zu dokumentieren.

Booten Sie von der Parted-Magic-CD und wechseln Sie zu einer Konsole:

Geben Sie die Tastenkombination STRG - ALT - F2 ein und drücken Sie ENTER , um die Konsole zu aktivieren. Sie sehen nun das Prompt root@PartedMagic:~# und können Linuxkommandos eingeben.

Geben Sie ein: testdisk ENTER ENTER ENTER

Starten Sie die "Analyse" mit einem weiteren ENTER !

In der angezeigten Partitionsstruktur können Sie mit den Cursortasten DOWN und UP scrollen. Ignorieren Sie die Warnungen in der Liste und notieren Sie zu den Partitionen 1 bis 8 die Art (P primär, E extended, L logisch), das Dateisystem, den Startsektor in CHS-Notation, den Endsektor in CHS-Notation und das Label in einer Tabelle auf Papier wie folgt: (Beispiel)

Partition Art Dateisystem . Beginn . Ende . Bezeichnung
        C H S   C H S    
1 P NTFS   0 32 33   497 78 29   WINXP
2 P NTFS   510 14 17   1007 60 13   XPKLON
                         
5 L FAT32   1019 251 1   1300 113 29   DATA
6 L SWAP   1300 145 62   1530 9 63    
7 L ext4   1530 42 49   2167 147 28   (LINUX)
8 L ext4   2167 179 61   3442 134 20   (HOME)

Wenn die Tabelle fertig ist brechen Sie das Programm "testdisk", mit dem Sie gerade gearbeitet haben mit STRG-C ab!

Geben Sie im noch geöffneten LXTerminal das Kommando fdisk -l ein und Sie erhalten die Partitionierung in der "LBA-Ansicht". Notieren Sie sich für die erweiterte Partition sda3 die LBA-Nummer für "Start" und "End": (Beispiel)

Erweiterte Partition
Partition Start End Blocks Id System
sda3 16.193.520 76.935.284 30.370.882+ f W95 Ext'd (LBA)

2. Löschen von Linux unter Windows

Gehen wir davon aus, dass uns Linux nicht gefallen hat. Wir wollen doch nur noch mit Windows arbeiten. Also löschen wir mit der Datenträgerverwaltung die 4,88 GB große "Unbekannte Partition", die das Betriebssystem Lubuntu enthält.

  • Booten Sie Windows von sda2 und rufen Sie unter der Computerverwaltung die Datenträgerverwaltung auf.
  • Löschen Sie das 4,88 GB große "logische Laufwerk".

Nun ja, es gibt da noch diese Fehlfunktion, die alle Fremdpartitionen löscht... Egal!

  • Führen Sie anschließend einen Reboot durch, um die neue Hardwarekonfiguration von Windows anpassen zu lassen.

3. Reparatur des Windows-MBR-Codes

Sie erhalten nun beim Boot die Meldung "error: no such partition". Der von Ubuntu verwendete Bootloader GRUB (GRand Unified Bootloader) hat bei der Linux-Installation den im MBR befindlichen Windows-IPL-Code durch seine eigene Version ersetzt. Beim Boot des PCs wird dieser Code ins RAM geladen und ausgeführt. Nun versucht dieses IPL-Programm das Hauptprogramm des GRUBs in der Linuxpartition zu starten. Diese wurde aber gelöscht.

Es gibt im Prinzip mehrere Möglichkeiten einen Windows-MBR wiederher zu stellen, den GRUB zu überschreiben und so wieder an ein funktionsfähiges Windows zu kommen. In jedem Fall muss der zur Windowsversion passende IPL-Code in den Masterbootrecord geschrieben werden. Danach funktioniert der Boot von Windows so, als wäre nie Linux installiert worden.

Wir wählen natürlich die Linux-Methode:

  1. Boot von der PartedMagic-CD
  2. Mit der Tastenkombination STRG - ALT - F2 auf eine Konsole wechseln und diese mit ENTER aktivieren.
  3. Eingabe des Befehls: ms-sys -m /dev/sda

Mit der Meldung "Windows 2000/XP/2003 master boot record successfully written to /dev/sda" ist der MBR so wiederhergestellt worden, als wäre Linux nie installiert worden.

Mit STRG - ALT - Entf können Sie den Rechner wieder neu starten.

4. Wiederherstellung von Linux bei überschriebenem GRUB im MBR

Sie stellen fest, dass Sie noch wichtige Daten in Ihrem Linux-Heimatverzeichnis haben. Außerdem war Linux doch gar nicht so schlecht. Sie können gelöschte Partitionen mit dem oben schon verwendeten Programm "testdisk" wieder herstellen!

4.1 Wiederherstellung der gelöschten Linux-Partition.

  1. Booten Sie von der PartedMagic-CD und ...
  2. Mit dem Partionsprogramm Gparted stellen Sie wahrscheinlich spätestens jetzt entsetzt fest, dass Windows auch die home-Partition sda8 mit ins Nirwana geschoben hat. Scheiß................. Alle wichtigen Daten der Linux-User sind weg! Wenn nicht, haben Sie etwas Glück gehabt und Bill Gates und Konsorten hat Sie verschont.
  3. Vielleicht lassen sich die zerschossenen Partitionen ja wieder herstellen - Starten Sie das Programm "TestDisk". Sie können das Programm auch über die Menüoberfläche starten:
  4. Menü -- Systemtools -- TestDisk
  5. Create erstellt ein Logfile (hier unwichtig)
  6. Proceed, um mit der angezeigten Festplatte "sda" zu arbeiten
  7. Intel für eine Intel/PC-Partitionsstruktur
  8. Analyse zeigt die aktuell noch ansprechbaren Partitionen
  9. Quick Search sucht auf der kompletten Platte nach früher vorhandenen Partitionsstrukturen. Die Suche wird mit "STOP" beendet, wenn der letzte Zylinder analysiert ist oder alles Interessante schon gefunden wurde.
  10. Prüfen Sie im Ergebnis unbedingt, ob Sie sich mit P (list files) den Inhalt aller Partitionen (außer swap) ansehen können. Wenn keine Dateien gefunden wurden (No file found), müssen Sie wohl noch eine "Deep-Search" wie im nächesten Unterpunkt beschrieben durchführen.
  11. Ggfs. muss noch eine Deep-Search durchgeführt werden. Dabei wird die ganze Platte intensiv nach Strukturen durchsucht, die wie ehemalige Partitionsanfänge aussehen. Wenn die Platte eine größere Geschichte hinter sich hat, ohne dass die Platte komplett mit Nullen überschrieben wurde, dann bekommt man Probleme, aus der Vielzahl der erkannten Strukturen die richtigen Einträge wieder herzustellen. Glücklich ist, wer ungefähr weiß, wo sich seine Partitionen befinden. Wir haben mit unserer Tabelle vorgesorgt.
  12. Alle Einträge, die intakte Partitionen der richtigen Größe anzeigen können aktiviert bleiben (mit den Tasten Cursor-links und Cursor-rechts können die Partitionen mit einem der Buchstaben L, D , P oder * ("Logical", "Deleted", "Primary" oder "Bad")markiert werden. Alle Altlasten aus früheren Konfigurationen, die nicht übernommen werden sollen, werden mit "D wie "Deleted" gekennzeichnet.
  13. Mit "Write" und der Bestätigung "y" wird die Tabelle dann übernommen das Programm kann verlassen werden.

4.2 Wiederherstellung des GRUB

  1. Booten Sie von der PartedMagic-CD und wählen Sie im Eingangsmenü das "Extras Menu" und darin die "Super Grub Disk 2" starten (Bei Ubuntu - und Lubuntu - wird seit 9.10 die Version 2 von GRUB verwendet).
  2. Wählen Sie "Detect any OS" und anschließend das "Linux 3.0.0-xx-generic mit der höchsten Versionsnummer.
  3. Loggen Sie sich als "chef" mit dem Kennwort "chef" ein.
  4. Starten Sie ein Terminal über Anwendungen -- Zubehör -- Terminal
  5. Nun wird der MBR wieder mit dem GRUB-Code überschrieben: Geben Sie das Kommando sudo grub-install /dev/sda ein. Dafür werden Administrationsrechte gebraucht. Deswegen wird das Kennwort von chef noch einmal abgefragt.
  6. Entfernen Sie die CD aus dem Laufwerk und starten Sie das System neu.

5. Setzen eines Root-Kennworts

Bei Ubuntu soll aus Sicherheitsgründen niemand in der Lage sein sich wirklich als Administrator (Benutzer root) von vornherein anzumelden. Deswegen gibt es diese schon öfter verwendete Sudo-Konstruktion. Zu Übungszwecken werden wir diesen Benutzeraccount aktivieren:

  1. Starten Sie ein Terminal über Menü -- Zubehör -- LXTerminal
  2. Geben Sie das Kommando sudo -s ein. Das Kennwort von chef wird noch einmal abgefragt.
  3. Mit dem Kommando passwd root setzen Sie dann das Kennwort auf "root".
  4. Prüfen Sie den Root-Login auf einem echten Terminal. Drücken Sie STRG-ALT-F1.
  5. Mit dem Loginnamen "root" und dem Kennwort "root" können Sie sich dann einloggen.

6. Installation von GRUB Version 0.97

Im Laufe der weiteren Experimente soll der Bootmanager Boot-US eingesetzt werden. Dieser kann leider noch nicht mit dem Standard-Bootmanager GRUB2 von Ubuntu zusammenarbeiten. Außerdem ist GRUB2 noch nicht so ganz ausgereift. Deswegen installieren wir nun den Bootmanager GRUB Version 0.97 unter Ubuntu.

Das unter dem letzten Aufgabenpunkt geöffnete Terminal "tty1" verwenden Sie sogleich, um auf den "guten alten" GRUB umzusteigen. Geben Sie das folgende Kommando ein:

aptitude install grub

Es kann nur einen Bootloader geben. Deswegen wird beim Check der Paketabhängigkeiten herausgefunden, dass GRUB2 (das Paket "grub-pc") entfernt werden muss. Bestätigen Sie die Entfernung!

Anschließend muss die Hardware auf das Vorhandensein weiterer Betriebssystem überprüft werden und das Bootmenü erstellt werden:

update-grub

Eine neue Datei /boot/grub/menu.lst wird angelegt.

Leider werden die Windows-Partitionen nicht gefunden ?! Frühere Ubuntu-Versionen waren da wesentlich besser frown, sad smile

GRUB besteht aus zwei Teilen: Der erste Teil kommt in einen Bootsektor bzw. einen MBR und der zweite Teil befindet sich in der Linuxpartition. Vor einem Reboot muss noch der erste GRUB-Teil in den Masterbootrecord MBR geschrieben werden:

grub-install /dev/sda

Die entstehenden Meldungen sehen sehr beunruhigend aus. Es ist aber alles OK, wenn mittendrin steht "No error reported".

Mit dem Kommando reboot wird der Rechner neu gestartet und das neue Bootmenü kann ausprobiert werden.

Zusätzlich installieren wir den GRUB Teil 1 auch noch für die spätere Verwendung in den Bootsektor der Partition sda7:

grub-install /dev/sda7

7. Einbinden der Windowspartitionen in GRUB 0.97

Nach dem Reboot loggen wir uns einfach als "root" mit dem Kennwort "root" in der grafischen Oberfläche ein. So etwas sollte aus Sicherheitsgründen nur zu Testzwecken erfolgen.

Navigieren Sie über Orte zum "Persönlicher Ordner" und wählen Sie anschließend links "Dateisystem". Wechseln Sie in das Unterverzeichnis /boot/grub. Öffnen Sie die Datei menu.lst durch Doppelklick!

Suchen Sie die folgenden Kommentarzeilen und kopieren Sie sie zweimal vor die letzte Zeile der Datei. Entfernen Sie die Kommentar-Zeichen und bringen Sie sie auf die folgende Form:

title           Windows XP sda1
root            (hd0,0)
makeaktive
chainloader     +1

title           Windows XP sda2
root            (hd0,1)
makeaktive
chainloader     +1

Vergrößenr Sie am Anfang der Datei den Timeout von 3 auf 30.
Löschen Sie die Zeile mit dem Inhalt "hiddenmenu"

Speichern Sie die Datei ab und booten Sie neu! Sie können nun beide Windowspartitionen mit jeweils ihren eigenen Windows-Bootdateien unabhängig voneinander booten. Sogar ein wechselseitiges verstecken wäre als Konfigurationsoption möglich. Bei dem durchautomatisierten GRUB2 sind solche Möglichkeiten leider untergegangen.

8. Verwendung des Bootmanagers BOOTUS zum Start des Bootmangers im Bootsektor von sda7

Booten Sie von der Linuxpartition und binden Sie die Windowspartiton sda2 ein.
Klicken Sie auf: Orte - WINXP einhängen

Suchen Sie mit Firefox und Google das Programm BOOTUS im Internet und laden Sie die Datei bootus218.exe herunter. Kopieren Sie die Datei auf die Windowspartition.

Booten Sie anschließend das Windows XP von der Partition sda2 und installieren Sie zunächst das Programm bootus218.exe .

Starten Sie das Programm und wählen Sie dort das Menü Bootmanager - installieren Das Programm findet alle bootfähigen Partitionen (auch die logischen!) und bindet Sie in das Bootmenü ein. Übernehmen Sie bis auf das Installationsziel alle weiteren Vorgaben des Programms. Das Installationsziel ist "MBR auf Boot-Platte 1 !!! (BOOTUS verwendet zur Ablage seines Bootmanagerprogramms mehrere Sektoren in Track 0 und überschreibt damit den GRUB Teil 1)

Nach dem Reboot können Sie nun alle Bootziele ausprobieren.

9. Klonen der Linux-Partition

Booten Sie von der Parted-Magic-CD und starten Sie den Partitionsmanager

Schaffen Sie Platz für weitere logische Partitionen! Erhöhen Sie die Größe der erweiterten Partition von 20000 MiB auf 30000 MiB.

Kopieren Sie anschließend die Partition 7 hinter die Partition 8.

Geben Sie der neuen Partition sda9 die Bezeichnung LINUX2 (Kontextmenü).

Moderne Linuxsysteme unterscheiden Partitionen sehr oft nicht mehr anhand der Geräteschnittstelle z.B. /dev/sda9 sondern anhand der Indentifikationsnummer UUID des sich darauf befindlichen Dateisystems. Diese sollte eindeutig nur einmal im gesamten System vorkommen. Wie die beiden folgenden Kommandos zeigen, haben wir aber nach dem Klonen zwei Dateisysteme mit gleicher UUID:

Starten Sie ein Terminal und geben Sie ein

tune2fs -l /dev/sda7 |grep UUID
tune2fs -l /dev/sda9 |grep UUID

Das folgende Kommando erstellt eine neue zufällige UUID:

tune2fs -U random /dev/sda9
tune2fs -l /dev/sda9 |grep UUID

Nach dieser Änderung muss aber noch das Linuxsystem selber an die neue Situation angepasst werden. Mounten Sie über das Desktop-Symbol "Mount Devices" die Partiton sda9. Bearbeiten Sie die Datei /media/sda9/etc/fstab . Ersetzen Sie darin den String "/dev/sda7" durch "/dev/sda9" .

Der Grub von sda9 muss auch angepasst werden. Bearbeiten Sie wieder die Datei /media/sda9/boot/grub/menu.lst . Ersetzen Sie in den Menüeinträgen am Ende der Datei alle Vorkommnisse der alten UUID durch die neue UUID. Die neue UUID können Sie mittels rechter Maustaste aus dem Terminal kopieren. Leider haben wir trotzdem keine Möglichkeit von sda9 zu booten, da dessen Grub Teil 1 in dessen Bootsektor immer noch nach sda7 führt. Um das zu ändern müsste erst mal von sda9 gebootet werden . Henne-Ei-Problem?

Abhilfe: Wir booten über den GRUB von sda7 auch sda9. Dazu mounten wir noch sda7 und kopieren die modifizierten Menüzeilen von /media/sda9/boot/grub/menu.lst ans Ende von /media/sda7/boot/grub/menu.lst .

Damit lässt sich jetzt mit den unteren Menüpunkten des GRUBS von sda7 die Partiton sda9 booten. Hier loggen Sie sich als root ein und führen folgendes Kommando aus:

grub-install /dev/sda9

Jetzt wird noch das Bootmenü von BOOTUS durch Neuinstallation des Bootmanagers in den MBR um den zweiten Linux-Booteintrag von sda9 erweitert.

10. Entfernen der grafischen Oberfläche aus LINUX

Bei Linux können fast sämtliche Operationen auch ohne grafische Benutzeroberfläche durchgeführt werden. Deswegen können wir darauf verzichten. Gehen Sie mit STRG-ALT-F1 auf das Terminal tty1, loggen Sie sich als root ein und geben Sie den folgenden Befehl ein:

aptitude purge xserver-common gdm

Damit werden zwei wesentliche Komponenten der grafischen Oberfläche entfernt. Das Paketmanagement ermittelt alle Pakete, die davon abhängen und auch entfernt werden müssen. Möglicherweise schlägt das System vor, zum Ausgleich andere Pakete aus dem Internet zu installieren. Sie werden gefragt, ob Sie das akzeptieren. Verneinen Sie das (mit "n") solange, bis ein Vorschlag kommt, der keine zusätzliche Software installiert! Bestätigen Sie dann zweimal mit "y". Falls ein Fehler auftritt, wiederholen Sie die Prozedur einfach. Spätestens nach einem Neustart ist die grafische Oberfläche auf tty7 Vergangenheit. und man hat ein schönes System für eine Linux-Klassenarbeit. :-))

-- KlausKellermann - 01 Feb 2012
Topic revision: r5 - 22 Feb 2012, KlausKellermann
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback