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.
Volg deze stappen voor een herstel van LILO- of systeemstoringen.
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
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
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
bash# man lilo bash# /sbin/lilo -r /hda4
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.
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
bash# mkbootdisk /dev/fd0
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
bash# mkbootdisk /dev/fd0 bash# cp /etc/lilo-original.conf /etc/lilo.conf
Je zou de volgende voorzorgsmaatregelen moeten nemen om problemen in de toekomst te tackelen.
bash$ man mkbootdisk bash$ mkbootdisk --help bash$ mkbootdisk --device /dev/fd0 2.2.12-20
bash# vi /etc/fstab En plaats daarin deze regels - /dev/hda1 /a1 vfat defaults 1 1 /dev/hdb1 /b1 vfat defaults 1 1 In mijn geval had hda1 de linux root partitie '/' bash# cd / bash# tar cvf /b1/linux-root-partition-hda1.tar a1 bash# tar cvf /b1/linux-boot-partition-hda1.tar a1/boot
Je kunt de bootsector vervangen door de DOS bootloader door het uitvoeren van de DOS-opdracht:
FDISK /MBR
Zie ook de LILO documentatie onder linux in /usr/doc/lilo* voor andere methoden om LILO te de-installeren. En zie tevens 'man lilo'.
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