Verder Terug Inhoud

1. Introductie

Je kunt ongelukken niet voorkomen en als het gebeurt bij linux systemen dan kan het de master boot record (MBR) of LILO (Linux boot loader) beschadigen. Er kunnen situaties ontstaan waarbij linux vanwege gebreken aan de harddisk niet zal booten. LILO kan ook falen als je per ongeluk de harddisk herpartitioneert of je een ander extra besturingssysteem, zoals Windows 98/NT op de linux computer installeert.

Dit document reikt je een aantal ideeën aan, tips en een snelle leidraad om snel een hersteloperatie uit te voeren zonder honderden pagina's documentatie over LILO of linux door te hoeven nemen.

1.1 Snelle stappen naar herstel

Volg deze stappen voor een herstel van LILO- of systeemstoringen.

  1. SCENE 1: Als je systeem niet boot - Haal de tomsrtbt floppy op http://www.toms.net/rb Boot met tomsrtbt floppy Gebruik fdisk /dev/hda om naar de partities te zoeken Probeer als volgt achter de rootpartitie te komen:
    bash# fdisk /dev/hda
    bash# mkdir /dev/hda1 /test
    bash# ls /test
    Als het goed is zie je de rootpartitie als volgt weergegeven:
    bin   fd    lib   mnt  proc  sbin  usr
    boot  dev   etc   home  lost+found  opt  root  tmp   var
    

    Als dit geen rootpartitie is, probeer dan de volgende partitie /dev/hda2. Probeer vervolgens hda3, hda4, hda5, enz.. totdat je de rootpartitie vindt. Herhaal dit voor andere devices, zoals hdb, hdc, hdd, enz.. als je het nog steeds niet hebt gevonden. Ook zijn de /usr, /var en /boot partitie nodig aangezien deze vereist zijn voor het aanmaken van de nieuwe lilo configuratie. In mijn geval is de rootpartitie /dev/hda4 die in de voorbeelden hieronder wordt gebruikt:
     bash# mkdir /hda4
     bash# mount /dev/hda4 /hda4
     bash# cat /hda4/etc/fstab
     Lees de uitvoer van fstab en mount zoals hieronder weergegeven de partities.
     bash# mount /dev/hda5 /hda4/boot
     bash# mount /dev/hda6 /hda4/usr
     bash# mount /dev/hda7 /hda4/var
     bash# mount /dev/hda8 /hda4/opt
     bash# mount /dev/hda9 /hda4/root
     bash# mount /dev/hda10 /hda4/home
     
    

    Wijzig /etc/fstab (niet /hda4/etc/fstab) en plaats hierin het volgende (hiergegeven voorbeeldcode) -
            /dev/hda5  /hda4/boot      ext2 defaults 1 1
            /dev/hda6  /hda4/usr       ext2 defaults 1 1
            /dev/hda7  /hda4/var       ext2 defaults 1 1
            /dev/hda8  /hda4/opt       ext2 defaults 1 1
            /dev/hda9  /hda4/root      ext2 defaults 1 1
            /dev/hda10 /hda4/home      ext2 defaults 1 1
            /dev/hda11 /hda4/win95part vfat defaults 1 1
    
    Op mijn computer bevat hda4 de linux boot/root partitie en
    hda1 het windows 95 vfat systeem.
    
     bash# mkdir /hda4/win95part
     bash# mount /hda4/win95part
     En repareer het systeem met de opdracht fsck of e2fsck.
     bash# man fsck
     bash# man e2fsck
    

  2. SCENE 2: Als LILO niet werkt. Volg scene 1 en als dat niet werkt, dan
    
    bash# mkdir /hda4 
    bash# mount /hda4
    bash# mount -a 
    bash# chroot /hda4 /sbin/lilo -q
    bash# man chroot
    bash# chroot /hda4 /sbin/lilo 
    

    Als alternatief kun je direct gebruik maken van /sbin/lilo in plaats van chroot. De -r optie van lilo doet in feite een chroot. Het is zeer sterk aan te bevelen dat je gebruik maakt van chroot, in plaats van lilo -r, aangezien het prettiger is en je kunt er makkelijker fouten mee afvangen.
    bash# man lilo
    bash# /sbin/lilo -r /hda4
    

  3. SCENE 3: Als LILO niet werkt.. Als scene 1 en 2 niet werken, en je de bootdisk hebt gemaakt met `mkbootdisk' (tijdens de installatie of door middel van `man mkbootdisk'), boot hier dan mee en repareer je partities. mkbootdisk zit in het mkbootdisk*.rpm package, je moet het installeren.
  4. SCENE 4: Als het met scene 1, 2, of 3 niet lukte en je hebt geen bootdisk Als je een andere computer met daarop linux draaiend hebt, log dan in als root en geef op
    bash$ man mkbootdisk
    bash# cp /etc/lilo.conf /etc/lilo-original.conf
    

    Wijzig het bestand /etc/lilo.conf, plaats hierin de naam van de rootpartitie, zoals verkregen in 'scene 1', doe een lege diskette in het diskettestation en geef de opdracht
    bash# mkbootdisk /dev/fd0
    

    Zorg ervoor dat je /etc/lilo-original.conf terug kopieert naar /etc/lilo.conf!! Gebruik deze diskette voor scene 3
  5. SCENE 5: Als het met de scenes 1, 2, 3 en 4 niet lukt, probeer dan het volgende Stap 1: Boot tomsrtbt en mount de partities en maak een backup van de rootpartitie naar een andere partitie met diskruimte met de commando's -
            Wijzig /etc/fstab en plaats hierin (gegeven voorbeeldcode) -
                    /dev/hdb1 /b1 vfat defaults 1 1
    bash$ mkdir /b1; mount /b1
    bash$ cd /
    bash$ tar cvf /b1/root-a4.tar   a4
    

    Stap 2: Doe de Linux cdrom in het station, reboot en installeer redhat linux op /dev/hda4 (maar installeer GEEN extra packages, je hoeft alleen de root bootsystemen, en LILO manager te installeren (dat is een absoluut minimum). Hiermee zal LILO ook op de harddisk worden geïnstalleerd. Boot nu linux en login als root en geef de opdracht -
    bash$ man mkbootdisk
    bash# cp /etc/lilo.conf /etc/lilo-original.conf
    

    Opmerking: Je MOET er aan denken lilo-original.conf terug te kopiëren naar lilo.conf! Wijzig het bestand /etc/lilo.conf en plaats hierin de naam van de rootpartitie zoals je deze in 'scene 1' verkreeg, doe een lege diskette in het station en geef dan op -
    bash# mkbootdisk /dev/fd0
    bash# cp /etc/lilo-original.conf /etc/lilo.conf
    

    Gebruik deze diskette voor de probleemcomputer en test deze bootdiskette om te zien of het werkt en zet dan alle bestanden terug waarvan je met behulp van tar op /b1/root-a4.tar zoals aangegeven in stap 1 een backup hebt gemaakt.

1.2 Voorzorgsmaatregelen

Je zou de volgende voorzorgsmaatregelen moeten nemen om problemen in de toekomst te tackelen.

1.3 LILO verwijderen

Je kunt de bootsector vervangen door de DOS bootloader door het uitvoeren van de DOS-opdracht:


        FDISK  /MBR

MBR staat voor "Master Boot Record".

Zie ook de LILO documentatie onder linux in /usr/doc/lilo* voor andere methoden om LILO te de-installeren. En zie tevens `man lilo'.

1.4 Gebruikelijke fouten

Na het wijzigen van /etc/lilo.conf MOET je lilo opstarten om ervoor te zorgen dat de wijzigingen effect hebben. Het is een zeer gebruikelijke fout van nieuwe gebruikers. Typ -


bash# lilo -v -v -v


Verder Terug Inhoud