Bootsektor einer Festplatte reparieren

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : CLI, Linux, OpenSource, Shell

Wie kommt man eigentlich auf die blöde Idee, ein für DVD's und USB-Sticks bestimmtes Installations-Image mittels dd auf eine lokale Festplatte zu schreiben?
Das überlasse ich mal der Fantasie jedes einzelnen Lesers. Ich hatte es jedenfalls mit einer solchen Festplatte zu tun, die mit einem ISO-Image überschrieben wurde. Für die eigentliche Debian-Installation stellte dies kein größeres Problem dar - bis auf den letzten Installationsschritt, die Einrichtung des Grub-Bootloaders. Dieser Schritt schlug fehl, weil Grub der festen Überzeugung war, beim Zielmedium handele es sich um ein ISO-9660-Dateisystem, also eine CD oder DVD. Erneutes Anlegen der Partitionstabelle hatte darauf keinerlei Auswirkung. Seltsamerweise ließ sich die Installation dennoch abschließen, indem statt Grub der alternativ angebotene Bootloader Lilo gewählt wurde.

Um später dennoch Grub nachzuinstallieren, hilft dann nur noch das Löschen des kompletten Bootsektors. Dazu sollte man sich zunächst die Struktur der Partitionen einmal anschauen:
# fdisk -l /dev/sda

Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000e2a99

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 484243455 242120704 83 Linux
/dev/sda2 484245502 488396799 2075649 5 Extended
/dev/sda5 484245504 488396799 2075648 82 Linux swap / Solaris

Die erste Partition beginnt also bei Sektor 2048. Folgender Befehl überschreibt die ersten 2047 Sektoren mit Nullen:
# dd if=/dev/zero of=/dev/sda bs=512 seek=1 count=2047
Und schon lässt sich Grub wieder fehlerfrei installieren.

Kurztipp: GnuWin32-Tools in die Umgebungsvariablen eintragen

Geschrieben von Steffen Schultz keine Kommentare
Kategorisiert in : Software Schlüsselwörter : CLI, OpenSource, Tipp, Windows

Viele Unix-Tools gibt es bekanntlich beim Projekt GnuWin32 auch in einer Variante für die Windows-Kommandozeile, darunter der Downloader Wget oder das Vergleichswerkzeug Diff. Die bei Sourceforge angebotenen Setup-Pakete haben allerdings den Nachteil, dass während der Installation keine Umgebungsvariablen gesetzt werden. Soll heißen, man muss den Pfad zum gewünschten Werkzeug jedes Mal händisch eingeben, was auf die Dauer ziemlich nervtötend ist. Dieses Problem ist jedoch relativ einfach zu beseitigen:

  1. Im Suchfeld des Startmenüs "Umgebungsvariablen" eingeben und den ersten Treffer bestätigen. Alternativ erreicht man den sich öffnenden Einstellungsdialog auch mit einem Rechtsklick auf das Computer-Symbol (Win+Pause) -> Eigenschaften -> Erweiterte Systemeinstellungen -> Registerkarte Erweitert -> Schaltfläche "Umgebungsvariablen...".
  2. In der Liste der Systemvariablen sollte ein Eintrag namens "Path" vorhanden sein. Diesen auswählen und auf die Schaltfläche "Bearbeiten" klicken.
  3. Im Eingabefeld "Wert der Variable" wird nun einfach der Ordnerpfad zu den GnuWin32-Programmen eingetragen, indem der Cursor an das Ende der bestehenden Pfade positioniert und der Ordnerpfad mit einem Semikolon getrennt hinzugefügt wird. Die Zeile sollte dann in etwa so aussehen:
    %SystemRoot%\system32;%SystemRoot%;[...];C:\Program Files (x86)\GnuWin32\bin\
    Je nach System kann der Pfad abweichen, daher hier nur gekürzt dargestellt.
  4. Die Änderungen mit Klick auf OK bestätigen.

Jetzt sollte es möglich sein, in der Eingabeaufforderung jedes gewünschte Tool ohne vorangestellten Pfad aufzurufen. Ist die Eingabeaufforderung bereits geöffnet, muss der Interpreter zunächst beendet und neu aufgerufen werden.
Die oben genannten Schritte funktionieren übrigens auch bei anderen Werkzeugen wie etwa Python oder PHP, es muss lediglich der Programmpfad angepasst werden.

Artikel-Feed (RSS) dieser Tag