Ex und hopp
Dr. Linux
Aus neu mach alt
Wie kann ich den Bootloader Lilo aus dem Bootsektor (MBR) der Festplatte entfernen?
Dr. Linux: Wenn Lilo bei der Erstinstallation einen Boot-Sektor überschreibt, wird eine Sicherungskopie desselben erstellt und als /boot/boot.yyzz gesichert. Statt yyzz stehen die Major- und Minor-Nummern des Gerätes, dessen Boot-Sektor-Inhalt ersetzt wird, in hexadezimaler Schreibweise.
Nachvollziehen, welcher Boot-Sektor ursprünglich zur Sicherungskopie herangezogen wurde, können Sie durch einen Vergleich mit den Gerätenummern im Verzeichnis /dev. In der Auflistung (Listing 1) finden Sie statt der "üblichen" Größenangabe einer Datei die Major- und Minor-Nummern der Geräte.
Listing 1
Major- und Minor-Nummern der Gerätedateien
perle@maxi:~> ls -al /dev | less […] brw-rw—- 1 root disk 2, 0 Nov 26 18:56 fd0 […] brw-rw—- 1 root disk 3, 0 Sep 24 2001 hda […] brw-rw—- 1 root disk 3, 6 Sep 24 2001 hda6 […] brw-rw—- 1 root disk 8, 0 Sep 24 2001 sda […]
Hat Lilo beispielsweise den ersten Sektor des ersten IDE-Master-Geräts /dev/hda (Major 3, Minor 0) überschrieben, lautet der Name der Sicherungskopie /boot/boot.0300. Wurde der Bootloader auf dem ersten SCSI-Gerät /dev/sda installiert, wird /boot/boot.0800 angelegt. Eine Lilo-Installation auf /dev/hda6 (Major 3, Minor 6) erstellt die Kopie /boot/boot.0360.
Die Manpage zum lilo-Kommando, das den Bootloader schreibt, verrät zwei Befehle zum Zurückschreiben des gesicherten Bootsektors auf das entsprechende Gerät. Die Ausführung eines solch drastischen Befehls ist natürlich root vorbehalten. Mit
/sbin/lilo -u Gerätename
wird vor dem Rückschreiben zur Sicherheit die Zeitmarke der Sicherungsdatei überprüft. Will root auf diesen Check verzichten, verwendet der Superuser den Befehl
/sbin/lilo -U Gerätename
Der alte MBR kann auch mit dem Befehl dd auf seinen alten Platz zurückgeschrieben werden:
dd if=/boot/boot.yyzz of=/dev/??? bs=512 count=1
Anstelle der drei Fragezeichen muss der richtige Gerätename eingetragen werden, für den ersten IDE-Master /dev/hda, für die erste SCSI-Platte /dev/sda usw. Kürzer, aber genauso wirkungsvoll ist der Befehl
cat /boot/boot.yyzz > /dev/???
Auch von DOS, Windows oder OS/2 aus hat man die Möglichkeit, den MBR von Einträgen zu säubern: fdisk /mbr (MS-DOS oder Windows-98-Startdiskette) oder fdisk /newmbr (OS/2) lautet der entsprechende Befehl, der auf der dortigen Kommandozeile einzugeben ist. In der Windows-XP-Hilfe finden Sie eine genaue Beschreibung, wie fixmbr zu handhaben ist. Bei Windows 2000 arbeiten Sie sich nach dem Booten der Installations-CD über Installation reparieren zu den Befehlen fixmbr und fixboot vor.
Glossar
Flags
Die mit einem einfachen Minus eingeleiteten Optionen zu einem Unix-Befehl werden auch als "Flags" bezeichnet.
Shell
Das "Mittlerprogramm", das Ihre Kommandos entgegen nimmt, bearbeitet und schließlich an den Kernel zur Ausführung weiterleitet. Unter Unix-Betriebssystemen haben Sie die Wahl zwischen diversen Shells unterschiedlicher Funktionalität und Bedienphilosophie. Linux-Systeme setzen als Standard-Shell in der Regel die Bash ("born again shell") ein.
Login-Shell
Die Shell, die beim Einloggen (auf der Textkonsole) gestartet wird. Von ihren anderen interaktiven Kolleginnen unterscheidet sich eine Bash-Login-Shell darin, dass sie die Dateien /etc/profile, ~/.bash_profile, ~/.bash_login und ~/.profile (in dieser Reihenfolge) einliest, während jene lediglich die Datei ~/.bashrc auswerten. Prinzipiell lässt sich aber jede Bash (auch die aus dem K-Menü aufgerufene) als Login-Shell starten. Zu diesem Zweck dient die Option -login.
temporären Verzeichnis
Im Verzeichnisbaum als /tmp eingehängt, ist dies der Ort, wo Daten von Programmen und Anwendern abgelegt werden, die zur Ausführung eines Programms oder anderen Auftrags zeitweise benötigt werden. Danach können sie gelöscht werden.
Zugriffsrechte
Der Befehl ls -l gibt an der zweiten bis zehnten Position von links an, was der Besitzer der Datei (erstes Tripel), die Mitglieder der Gruppe, der die Datei zugewiesen ist (zweites Tripel), und alle übrigen Benutzer des Systems (Position acht bis zehn) mit der Datei tun dürfen: Ein r vergibt dabei das Leserecht, w das Schreibrecht und x das Ausführbarkeitsrecht (bei Verzeichnissen Hineinwechselrecht) für die jeweilige User-Kategorie.
ls -d
Die Option d ("directory") beschränkt die Auflistung auf das aktuelle bzw. das Argumentverzeichnis selbst und verhindert Angaben zu darin enthaltenen Dateien.
Bootsektor
Bei Datenträgern wie Disketten oder Partitionen einer Festplatte bezeichnet man deren ersten Sektor als Bootsektor. Bei Festplatten benutzt man für den ersten Sektor den Begriff "Master Boot Record" (kurz MBR).
Major- und Minor-Nummern
Greift ein Programm auf eine Gerätedatei zu, wird dem Kernel diese Anforderung in Form der beiden Gerätenummern übergeben. Der Major-Wert bezieht sich im Allgemeinen auf einen bestimmten Treiber des Kernels, der Minor-Wert auf das Gerät, auf das der Treiber nun zugreifen soll. Deshalb haben zum Beispiel alle Gerätedateien für die serielle Schnittstelle den gleichen Major-Wert, aber unterschiedliche Minor-Nummern. Kurz gefasst benutzt der Kernel die Major-Nummer, um die Anforderung dem zuständigen Treiber zu übergeben, dieser wiederum braucht die Minor-Nummer, um festzustellen, welches Gerät er benutzen soll. Es gibt ein paar Ausnahmen, aber über die stolpert man als normalsterblicher Linux-Nutzer im Allgemeinen nicht.
Infos
[1] Das Lilo-Mini-Howto (deutsche Fassung): http://www.tu-harburg.de/dlhp/HOWTO/mini/DE-LILO-HOWTO.html



