Verder
Terug
Inhoud
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.
- 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
- 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
- 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.
- 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
- 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.
Je zou de volgende voorzorgsmaatregelen moeten nemen om problemen in
de toekomst te tackelen.
- Je MOET van tijd tot tijd een bootdisk aanmaken en wanneer je
wijzingen aan de partitie aanbrengt.
Doe een lege diskette in het diskettestation en geef dan de opdracht -
bash$ man mkbootdisk
bash$ mkbootdisk --help
bash$ mkbootdisk --device /dev/fd0 2.2.12-20
- Je moet de tomsrtbt bootfloppy bij de hand hebben. Breng een bezoek aan
http://www.toms.net/rb
- Je moet de Yard rescue- en bootfloppy bij de hand hebben. Breng een bezoek
aan
http://www.croftj.net/~fawcett/yard
- Backup /root en /boot directory's. Boot de Tomsrtbt floppy en
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
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'.
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