Linux-Arbeitskreis Hamburg

Windows-Sicherungskopie im Netz

Grundlagen

Gerade im schulischen Einsatz muß man damit rechnen, daß einmal eine Windows-Installation nicht mehr funktionstüchtig ist. Dann muß das ganze System neu installiert werden. Windows installieren, Office-Paket installieren, Netscape installieren, Encarta installieren .... Das kostet mehr Zeit als man zuerst denkt.
Normalerweise brauchen Netzwerkclienten auch kein CD-ROM Laufwerk, was die Installation von Windows zusätzlich erschwert. Alle weitere Software kann aber aus dem Netz installiert werden.

Für die Installation von Windows auf Rechnern ohne CD-Rom kann man entweder mit einem portablen Laufwerk arbeiten, oder sich eine DOS-Bootdiskette mit NFS erstellen. Mit dieser Diskette bootet man den Clienten und holt sich das Windows 95 Installationsverzeichnis mit den CAB-Dateien auf die lokale Festplatte und installiert dann von dieser Festplatte aus.

Ideal wäre es, wenn man eine komplette Installation auf dem Server ablegen würde. Dann könnte man den größten Teil der Installationszeit sparen, zumal die Sicherungskopie auch auf anderen Rechnern lauffähig ist, zumindest wenn die Hardware, vor allem die Netzwerkkarte, übereinstimmt.
Eine Windows-Bootdiskette ist leider nicht hilfreich, selbst wenn sie den MS-Client enthält, wie sie auf einem NT-Server erstellt wird. Der Windows95 DOS-Modus unterstützt nämlich keine langen Dateinamen!!!

Eine recht einfache Lösung für das geschilderte Problem besteht darin, an dem Rechner Linux von Diskette zu booten. Anschließend mounted man die lokale Festplatte und ein Verzeichnis auf dem Server. Nun kann man die komplette Festplatte auf den Server kopieren, wobei man natürlich auch mit  tar komprimieren kann.
Sollte der Rechner einmal nicht mehr funktionieren, so kann man die Sicherungskopie auf dem gleichen Weg zurückspielen.

Vorbereitungen auf dem Server

Auf dem Server müssen relativ wenige Dinge gemacht werden:

Ordner für die Dateien anlegen

mkdir /home/disks
chmod a+w disks

Rettungssystem auf die Festplatte kopieren

cp /cdrom/disks/rescue /home/disks
oder per FTP herunterladen

Bootdiskette vorbereiten

Ich habe mir die S.u.S.E Bootdiskette folgendermaßen in den gleichen Ordner kopiert:
  dd if=/dev/fd0  of=/home/disks/bootdisk

Wer keine Diskette vorliegen hat kann sie sich per FTP herunterladen.

Nun kann ich mir jederzeit eine Bootdiskette erstellen mittels
  dd if=/home/disks/bootdisk of=/dev/fd0

Verzeichnis freigeben

Das Verzeichnis /home/disks muß zum Export freigegeben sein. Dies geschieht durch einen entsprechenden Eintrag in der Datei /etc/exports. Normalerweise wird alles unterhalb von /home standardmäßig exportiert. Wenn wir später auch unsere Festplatten hier ablegen wollen, dann muß das Verzeichnis auch beschreibbar sein (rw).

Hinweis: Bei neueren SuSe-Versionen  (6.1) befindet sich das Rescue-System nicht mehr im Ornder disks, sondern im Ordner suse/images. Es hat einige Zeit gedauert, bis ich das herausgefunden habe.

Booten des Clienten

Der Client wird nun von der Linux Boot-Diskette gestartet. Zuerst taucht ein Informationstext über S.u.S.E. auf, danach wird der eigentliche Boot-Vorgang ausgelöst.

Nun sind nacheinander ein paar Fragen zu beantworten:

Please choose the language: Deutsch
Welche Art von Bildschirm verwenden Sie: Farbbildschirm
Tastaturbelegung: Deutsch

Danach erscheint das Hauptmenü, hier wählt man den Menüpunkt Kernelmodule aus, dort den Punkt Netzwerktreiber laden.

Nun kommt es darauf an, was man für eine Netzwerkkarte im System hat. Für NE2000 kompatible ISA-Karten wählt man den ersten Eintrag aus. Für NE2000 kompatible PCI-Karten (gibt es theoretisch nicht, nur praktisch) den zweiten Eintrag. Für 100 MBit-Karten mit dem DEC-Chipsatz wählt man den Eintrag tulip aus, bei anderen Netzwerkkarten muß man notfalls etwas experimentieren.
Die Treiber verlangen nun nach etwaigen Parametern. Hier kann man erst einmal die leere Eingabe probieren. Falls das nicht klappt bekommt man eine Fehlermeldung und fängt neu an bei der Auswahl des Kartentyps. Normalerweise muß man hier die Basisadresse der Karte angeben und zwar in der Form io=0x300 Wenn man die Basisadresse weiß (eventuell vorher bei Windows nachschauen), dann gibt man sie hier an, ansonsten kann man einfach alle möglichen Adressen durchprobieren (0x200 0x220 0x240 0x260 0x280 0x2a0 0x2c0 0x2e0 0x300 0x320 0x340 0x360 0x380 0x3a0 0x3c0 0x3e0), solange bis die Karte gefunden wird und die Meldung erscheint Modul "ne" wurde erfolgreich geladen.

Nun können wir auf das Netz zugreifen und das Rettungssystem von dort starten. Dazu müssen wir zweimal OK und einmal Zurück auswählen und landen wieder im Hauptmenü.

Nun wählen wir Installation / System starten und dann Rettungssystem starten.
Dann werden wir nach dem Quellmedium gefragt und wählen Netzwerk (NFS) aus und als Netzwerktyp eth0 (Ethernet Netzwerkkarte).
Nun müssen ein paar IP-Adressen eingegeben werden.
192.168.1.5 (lokale IP-Adresse, kann variiert werden)
255.255.255.0 (Netzmaske, wird richtig vorgegeben)
192.168.1.5 (Gateway-Adresse, hier wird die lokale IP-Adresse genommen)
192.168.1.1 (Adresse des Servers)
Zuletzt wird nach dem Pfad auf dem Server gefragt. Hier geben wir
/home ein, nicht den vollständigen Pfad (/home/disks)

Nun müßte der Rechner das System starten. Nach kurzeer Wartezeit ist unser Client fertig vorbereitet.

Das ganze ist lange nicht so kompliziert, wie es nach der Beschreibung klingen mag, da meistens Vorgaben akzeptiert werden. Mit etwas Zeit kann man eventuell die Boot-Diskette so anpassen, daß der Vorgang etwas vereinfacht wird.

Laufwerke mounten und Festplatte kopieren

Der Rechner meldet sich mit dem Login-Prompt und wartet auf die Anmeldung von root, ein Passwort ist nicht gesetzt.

Zuerst mounten wir das Verzeichnis auf dem Server:

mkdir /server
mount -t nfs 192.168.1.1:/home/disks /server

Nun mounten wir die lokale Platte:

mkdir /platte
mount -t vfat /dev/hda1 /platte

Kopieren der Platte auf den Server

tar cvfz /server/winkopie.tgz /platte
Nun muß man etwas warten. Bei 300MB habe ich etwa 30 Minuten gewartet. Im 100 MBit-Netz dürfte es deutlich schneller gehen
Bei schwachbrüstigen Rechnern (486er mit 8 MB) dauert das Komprimieren sehr lange. Hier kann man deutlich Zeit sparen, wenn man die Platte unkomprimiert kopiert mittels
cp -r /platte  /server

Kopieren der Sicherungskopie auf die lokale Platte

Falls die lokale Festplatte vorher neu partioniert oder formatiert wurde, muß man sie erst bootfähig machen. Dazu bootet man von einer win95 Diskette und ruft:
fdisk /mbr
format -s -u
(Eine Win95 Boot-Diskette erstellt man über Arbeitsplatz -> Systemsteuerung -> Software ->Startdiskette.)
Eventuell vorhandene Installation löschen rm -R /platte
tar xvfz /server/winkopie.tgz /platte
Auch hier muß man etwas Geduld aufbringen, aber deutlich weniger als als bei einer Neuinstallation.
Hat man den Festplatteninhalt unkomprimiert gespeichert kann er mittels
cp -r /server/platte  /
zurückkopiert werden

Ein paar Tips am Rande

Wenn man die Installation von einem minimal ausgerüsteten Clienten sichert (Standard VGA-Karte, keine Sounkarte ...), dann kann man die Kopie auch auf anderen Rechnern aktivieren. Der Hardware-Assistent wird sich schon melden. Wichtig ist nur, daß die Netzwerkkarte identisch ist, sonst kommt man nicht an das Windows-Installations Verzeichnis auf dem Server.

Beim Sichern der Platte fällt mir immer wieder auf, daß ich die Platte hätte vorher aufräumen sollen. Es macht Sinn alle unnötigen Dateien vorher zu entfernen.

Beim Einbau von ISA-Netzwerkkarten kann man die Basisadresse einstellen. Hier sollte man möglichst für alle Karten den gleichen Wert auswählen, z.B 0x300. Dies geschieht mittels Setup-Programm auf der Diskette.

Es macht keinen Sinn mit einer alten Netzwerkkarte lange zu experimentieren. Eine neue Karte kostet weniger als 40,00 DM, wer da mit einer alten Karte lange experimentiert ist selber schuld.


Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt von Uwe Debacher, letzte Änderung am 27.01.2006