LILO, Linux Crash Rescue HOW-TO Al Dev (Alavoor Vasudevan) alavoor@yahoo.com, Vertaald door: "mailto:bokkie@nl.linux.org" name="bokkie@nl.linux.org"> v5.0, 5 dec 2000 In dit document worden methoden besproken om een hersteloperatie uit te voeren na Linux systeemstoringen. Er kunnen diverse redenen zijn voor linux systeemstoringen - LILO is geruïneerd, of het lukt niet linux te booten, of de Master Boot Record (MBR) is beschadigd, of linux slaagt er niet in te booten als een ander besturingssysteem, zoals Windows NT, is geïnstalleerd, waardoor LILO of de MBR wordt gewist. ______________________________________________________________________ Inhoudsopgave 1. Introductie 1.1 Snelle stappen naar herstel 1.2 Voorzorgsmaatregelen 1.3 LILO verwijderen 1.4 Gebruikelijke fouten 2. Gerelateerde URL's 3. Andere formaten van dit document 3. Copyright --> 4. Copyright ______________________________________________________________________ 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 aan maken 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 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 root partitie, 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 boot diskette om te zien of het werkt en zet dan alle bestanden terug waar van 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. · 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 ___________________________________________________________________ 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 ______________________________________________________________________ 2. Gerelateerde URL's Bezoek de volgende plaatsen welke zijn gerelateerd aan LILO, Rescue Linux, crash herstel: · Mini Lilo HOWTO op <http://www.linuxdoc.org/HOWTO/mini/LILO.html> · Bootdisk-HOWTO op <http://www.metalab.unc.edu/LDP/HOWTO/Bootdisk- HOWTO/index.html> · Voorgefabriceerde bootdisks op <http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/a1277.html> · Tomsrtbt's bootdiskette <http://www.toms.net/rb> · Yard rescue- en bootdiskette <http://www.croftj.net/~fawcett/yard> · BootPrompt-HOWTO op <http://www.linuxdoc.org/HOWTO/BootPrompt- HOWTO.html> · Multiboot met LILO mini HOWTO op <http://www.linuxdoc.org/HOWTO/mini/Multiboot-with-LILO.html> · Linux+WinNT mini HOWTO op <http://www.linuxdoc.org/HOWTO/mini/Linux+WinNT.html> · Linux goodies main site <http://www.aldev.8m.com> · Linux goodies mirrorsite <http://aldev.webjump.com> · Vim kleurenteksteditor voor C++, C <http://metalab.unc.edu/LDP/HOWTO/Vim-HOWTO.html> 3. Andere formaten van dit document Dit document is in 11 verschillende formaten gepubliceerd, te weten - DVI, Postscript, Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format), Plain-text, Unix man pages en SGML. · Je kunt dit HOWTO document ophalen als een enkel getarred bestand in HTML, DVI, Postscript of SGML formaat vanaf - <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/> · Een versie in gewone tekst is te vinden in: <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO> · Vertalingen naar andere talen zoals Frans, Duits, Spaans, Chinees, Japans zijn te vinden in <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO> Alle hulp voor het vertalen naar andere talen is welkom. Dit document is geschreven met behulp van een tool genaamd de "SGML-Tools" welke kan worden opgehaald vanaf - <http://www.sgmltools.org> Voor het compileren van de source gebruik je de volgende commando's · sgml2html LILO-crash-rescue-HOWTO.sgml (genereren html-bestand) · sgml2rtf LILO-crash-rescue-HOWTO.sgml (genereren RTF-bestand) · sgml2latex LILO-crash-rescue-HOWTO.sgml (genereren latex bestand) LaTeX documenten kunnen worden geconverteerd naar PDF bestanden door er eenvoudigweg Postscript uitvoer van te produceren met behulp van sgml2latex ( en dvips) en de uitvoer te gebruiken met de Acrobat distill ( <http://www.adobe.com>) opdracht zoals met: ______________________________________________________________________ bash$ man sgml2latex bash$ sgml2latex filename.sgml bash$ man dvips bash$ dvips -o filename.ps filename.dvi bash$ distill filename.ps bash$ man ghostscript bash$ man ps2pdf bash$ ps2pdf input.ps output.pdf bash$ acroread output.pdf & ______________________________________________________________________ Of je kunt de Ghostscript opdracht ps2pdf gebruiken. ps2pdf is werkbestanddeel voor praktisch alle functionaliteit van Adobe's Acro bat Distiller product: het converteert PostScript bestanden naar Portable Document Format (PDF) bestanden. ps2pdf is als een zeer klein commando-script (batch bestand) geïmplementeerd dat Ghostscript aanroept, waarbij het een speciaal "uitvoerdevice" selecteert, genaamd pdfwrite. Om ps2pdf te kunnen gebruiken, moet het pdfwrite device zijn opgenomen in de makefile wanneer Ghostscript wordt gecompileerd; Zie voor details de documentatie over het bouwen van Ghostscript. Dit howto document is te vinden op · <http://metalab.unc.edu/LDP/HOWTO/LILO-crash-rescue-HOWTO.html> Dit document is ook te vinden op de volgende mirrorsites - · <http://www.caldera.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html> · <http://www.WGS.com/LDP/HOWTO/LILO-crash-rescue-HOWTO.html> · <http://www.cc.gatech.edu/linux/LDP/HOWTO/LILO-crash-rescue- HOWTO.html> · <http://www.redhat.com/linux-info/ldp/HOWTO/LILO-crash-rescue- HOWTO.html> · Andere mirror-sites in de buurt (netwerk-adres-wijsheid) zijn te vinden op <http://metalab.unc.edu/LDP/mirrors.html> selecteer een site en ga naar de directory /LDP/HOWTO/LILO-crash-rescue- HOWTO.html Gebruik het xdvi-programma om dit document in het dvi-formaat te bekijken. Het xdvi-programma is te vinden in het tetex-xdvi*.rpm package in Redhat Linux wat kan worden gevonden via de ControlPanel | Applications | Publishing | TeX menu buttons. Geef het volgende commando om het dvi-document te lezen - xdvi -geometry 80x90 howto.dvi En pas de grootte van het scherm met de muis aan. Zie de manpage over xdvi. Gebruik de pijltjestoetsen, Page Up, Page Down keys, om door het document te manoeuvreren, je kunt ook de 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' letter toetsen gebruiken om naar boven, onder, het midden, de volgende pagina, vorige pagina, enz te gaan. Druk op 'x' om het expert-menu uit te schakelen. Je kunt het postscript-bestand lezen met behulp van het programma 'gv' (ghostview) of 'ghostscript'. Het ghostscript programma is te vinden in het ghostscript*.rpm package en het gv programma is te vinden in het gv*.rpm package in Redhat Linux welke kan worden gelokaliseerd via de ControlPanel | Applications | Graphics menu buttons. Het gv pro gramma is veel gebruikersvriendelijker dan ghostscript. Ghostscript en gv zijn ook voor andere platformen beschikbaar zoals OS/2, Windows 95 en NT. Geef het volgende commando om het postscript document te lezen - gv howto.ps Met gebruik van ghostscript geef je op - ghostscript howto.ps Je kunt het HTML-formaat document lezen met Netscape Navigator, Microsoft Internet explorer, Redhat Baron Web browser of enige andere webbrowser. Je kunt de latex, LyX uitvoer lezen met LyX een X-Window front end naar latex. 1. --> Copyright 2. Copyright Copyright beleid is GNU/GPL zoals door de LDP (Linux Documentation project). LDP is een GNU/GPL project. Aanvullende verzoeken bestaan daaruit dat de naam, het emailadres van de auteur en deze copyrightmelding op alle kopiën behouden blijven. Als je wijzigingen aanbrengt of dit document aanvult, laat dit dan aan alle auteurs van dit document weten. Merknamen, in dit document genoemd, zijn in eigendom van hun respectieve eigenaren.