Traducere: Stanislav Rogin. ASPLinux
Această versiune a Lilo mini-HOWTO se bazează pe munca lui Cameron Spitzer ([email protected]) și Alessandro Rubini ([email protected]).
Acest document face parte din proiectul Linux HOWTO.
Pe motiv că documentația în codul sursă Lilo (cel care este în -versiunea directorul / usr / doc / lilo), este foarte dificil de înțeles, mulți oameni au unele probleme in a scrie propriul fișier /etc/lilo.conf. Acest document este destinat să le susțină și să furnizeze informațiile minime și oferă, de asemenea, 5 exemple de instalare Lilo:
Primul exemplu: o instalare clasică de "Linux și altceva".
Următorul exemplu arată cum se instalează Lilo pe un hard disk conectat la / dev / hdc. care se va încărca ca / dev / hda. Acest lucru este necesar, de obicei, atunci când instalați un nou Linux pe mașina dvs. care rulează deja. De asemenea, descrie modul de încărcare de pe discurile SCSI atunci când BIOS-ul dvs. este suficient de modern.
Al treilea exemplu arată cum se încarcă Linux, a cărui partiție rădăcină nu este disponibilă pentru BIOS.
Următorul exemplu este folosit pentru discurile mari, care au probleme atât cu BIOS, cât și cu DOS (acest exemplu este deja puțin depășit).
Ultimul exemplu arată cum se repară un disc deteriorat dacă deteriorarea a fost cauzată de instalarea unui alt sistem de operare.
Când Lilo pornește sistemul, utilizează apelurile BIOS pentru a porni kernel-ul Linux de pe disc (IDE, floppy sau orice altceva). Astfel, kernel-ul trebuie să fie într-un loc pe disc accesibil prin BIOS.
Directiva boot = din /etc/lilo.conf îi spune Lilo unde ar trebui să fie încărcătorul său primar de încărcare. În general, puteți alege fie înregistrarea de boot master (/ dev / hda), fie sectorul de boot al partiției rădăcină a liniei dvs. Linux (aceasta este de obicei / dev / hda1 sau / dev / hda2).
Dacă aveți un alt sistem de operare pe hard disk, mai bine ar trebui să instalați Lilo în sectorul de boot al sistemului de fișiere rădăcină în loc de MBR. În acest caz, trebuie să marcați partiția rădăcină ca fiind "bootabilă" utilizând comanda "a" din fdisk sau comanda "b" din cfdisk. Dacă nu vă schimbați MBR-ul, va fi mai ușor să vă eliminați Linux și Lilo dacă aveți nevoie de el.
Desigur, puteți evita întotdeauna "regulile" de mai sus. Puteți instala Lilo în MBR, chiar dacă aveți instalat un alt sistem. De exemplu, dacă ați instalat Windows NT 4.0 ca primul sistem de operare pe mașina dvs., atunci bootloader-ul NT va fi scris în MBR, deci NT ar fi trebuit încărcat fără probleme. După instalarea Linux și selectarea - pentru a instala Lilo în MBR, Lilo va suprascrie încărcătorul de boot NT. Data viitoare când porniți mașina, nu veți putea să bootați NT. Dar nu există probleme. Trebuie doar să editați fișierul /etc/lilo.conf și să adăugați o intrare nouă pentru NT. Data viitoare când reporniți sistemul, veți vedea o intrare de meniu în Lilo.
Eu personal nu folosesc setările LBA și LARGE în BIOS (dar am doar Linux pe mașina mea); aceasta este una dintre cele mai teribile invenții, cauzată de ineficiența PC-ului. Această soluție necesită ca nucleul să se afle pe primele 1024 de cilindri ale unității hard disk, dar aceasta nu este o problemă deoarece împărțiți discul în partiții și alocați un spațiu mic pentru partiția rădăcină (pe care ar trebui să o faceți întotdeauna).
Dacă discul dvs. are un alt sistem de operare, probabil că nu puteți schimba setările BIOS, altfel acest sistem de operare va înceta să funcționeze. Toate cele mai recente versiuni ale Lilo înțeleg setările LBA și LARGE.
Dacă aveți mai multe unități de hard disk și unele sunt utilizate numai de Linux și nu sunt incluse în procesul de boot, puteți spune BIOS-ul că nu sunt. Sistemul dvs. va porni mai repede, iar Linux le va detecta automat în momentul în care se încarcă. Schimb de multe ori hard disk-urile în computerele mele, niciodată nu ating configurația BIOS.
Când vedeți promptul Lilo, puteți face clic
root =. puteți spune Linux să monteze partiția rădăcină, diferită de cea scrisă în lilo.conf. De exemplu, în sistemul meu există o mică partiție în care există o instalare minimă Linux și pot boot-ul sistemului, chiar dacă, din greșeală, distrug complet partiția rădăcină principală.
init =. Linux kernels versiunea 1.3.43 și mai târziu poate executa o altă comandă decât executarea / sbin / init. în conformitate cu ceea ce este scris pe linia de comandă. Dacă aveți probleme în timpul procesului de încărcare, puteți accesa sistemul curat introducând init = / bin / sh în linia de comandă (când primiți promptul de shell, va trebui probabil să montați discurile: try "mount -w - n-o remount /; mount -a "și nu uitați să faceți" umount -a "înainte de a închide calculatorul).
Număr: prin tastarea unui număr pe linia de comandă, forțați init să porniți la un anumit nivel de execuție (în mod implicit, este de obicei 3 sau 2, în funcție de distribuția dvs.). Citiți documentația pentru comanda init. examinați fișierele / etc / inittab și /etc/rc*.d pentru alte experimente.
Când Lilo suprascrie sectorul de boot, acesta lasă o copie de rezervă în fișierul /boot/boot.xxyy. unde xxyy este numărul principal și dependent de dispozitiv (numere majore și minore), în hexazecimal. Puteți vedea numărul principal și dependent de disc sau partiție introducând comanda "ls -l / dev / device". De exemplu, primul sector al dispozitivului / dev / hda (numărul principal este 3, cel dependent este 0) va fi scris în fișierul /boot/boot.0300. instalând Lilo pe / dev / fd0 creează fișierul /boot/boot.0200 și instalând /boot/boot.0813 pe dispozitivul / dev / sdb3 (numărul principal este 8, cel dependent este de 19). Rețineți că Lilo nu creează o copie de rezervă dacă fișierul există deja, deci nu trebuie să vă faceți griji cu privire la păstrarea acestei copii când reinstalați Lilo (de exemplu, după construirea unui nou kernel). Backup-urile din directorul / boot / reflectă întotdeauna situația generală înainte de a instala Lilo.
Dacă trebuie să dezinstalați Lilo (de exemplu, într-un eveniment foarte nefericit - Linux dezinstalare), puteți restaura pur și simplu sectorul de boot original. Dacă Lilo este instalat în / dev / hda. este suficient să introduceți "dd if = / boot / boot.0300 a = / dev / hda bs = 446 count = 1" (eu personal "pisica /boot/boot.0300> / dev / hda", dar nu este sigur, deoarece aceasta va restabili tabela standard a partițiilor, pe care ați putea schimba de la salvarea sectorului de boot). Această comandă este mult mai ușor decât „fdisk / mbr“ din DOS-puțului: vă permite să eliminați curat Linux de pe un disc fără a descărca altceva decât Linux, de asemenea. După îndepărtarea Lilo amintiți-vă pentru a rula fdisk Linux ca comandă pentru a elimina toate Linux-secțiuni (fdisk în DOS-e nu se șterge partiții non-DOS) (Nota traducătorului: Acest lucru nu este valabil și pentru așa-numita DOS 7.0, built-in Windows 95/98) .
Dacă ați instalat Lilo în partiția rădăcină (de exemplu, în / dev / hda2), nu trebuie făcut nimic special pentru a dezinstala Lilo. Doar eliminați toate partițiile Linux de pe disc cu fdisk. De asemenea, trebuie să marcați partiția DOS drept boot.
Multe instalații Lilo utilizează un fișier similar celui de mai jos:
Puteți avea mai multe secțiuni "imagine" și "altele" - cât doriți. Situația nu este foarte comună - pentru a avea mai multe imagini de nuclee, configurate în fișierul lilo.conf. dacă nu dezvoltați părți de kernel (dezvoltarea kernel-ului).
Dacă alegeți „zImage“ nucleu, și este mai mult de o jumătate de megabyte (destul de comună pentru 2.1 kernel), va trebui să aducă împreună zImage, mare zImage ( „face bzImage“) cu comanda: „make bzImage“. Pentru a descărca un nucleu mare, nu au nimic de a face și mai mult, dar ar trebui să fie Lilo18 sau mai nou. Dacă aveți o versiune mai veche, actualizați pachetul Lilo.
Aici vă ofer o modalitate de a adăuga elemente în meniul Lilo pentru a încărca Linux sau NT:
În primul rând, aș sugera instalarea unei noi distribuții de Windows NT 4.0 pe hard disk. Presupun că ați creat deja date importante, instalarea NT ar trebui să treacă fără probleme. În timpul instalării NT, programul de instalare nu vă va întreba unde să plasați încărcătorul de boot NT. Acesta va fi plasat în MBR (Master Boot Record) de pe hard disk. Este posibil să restabiliți conținutul anterior al MBR (de exemplu, din conținutul anterior Lilo). V-aș sugera să porniți computerul (înainte de a instala NT) de pe o dischetă DOS care are programul FDISK. La promptul a: \, tastați: fdisk / mbr și reporniți computerul din nou (fără dischetă).
După instalarea cu succes a NT, veți vedea că sistemul utilizează un hard disk întreg sau o anumită partiție de hard disk (în funcție de ceea ce ați ales în timpul procesului de instalare). Ie se recomandă să "stoarceți" partiția în care este localizat NT pentru a elibera spațiu pe disc. În acest spațiu liber, instalați Linux. După configurarea și pornirea NT, trebuie să porniți computerul utilizând o dischetă cu utilitarul PartitionMagic. Acest utilitar grafic vă permite să vedeți toate partițiile pe toate hard-discurile pe care le aveți. Puteți schimba partițiile fără a pierde date. Mai întâi, faceți partițiile mai mici existente, adică veți obține un spațiu liber pe disc în alte scopuri. Deși vă sfătuiesc să faceți o copie de rezervă înainte de a efectua modificări de partiții, de obicei fac o "comprimare" a partițiilor NT atunci când NT nu este instalat complet (adică, dacă este necesar, repornirea instalării nu va cauza probleme). Partition Magic (sau altă utilitate similară) va "comprima" datele dvs. pe partiția NT (NTFS sau FAT) la începutul sau la sfârșitul secțiunii. Puteți alege unde să plasați datele - la începutul sau la sfârșitul discului (prefer să fie datele de partiție NT la început, astfel încât să existe spațiu liber la sfârșitul discului). După comprimare, puteți reporni sistemul (NT) pentru a verifica rezultatul: utilizați Windows Explorer sau Disk Administrator pentru a face acest lucru.
Până în prezent, atât de bine. Următorul pas - instalare Linux. Apucati RedHat dvs. de distribuție (sper cu alte distributii, cum ar fi), plasați CD-ul în unitate și reporniți computerul. Când selectați tipul de instalare (Gnome sau KDE Workstation, personalizat, etc), puteți selecta componente pre-planificate pentru a instala, dar vă recomandăm să instalați mai întâi stația de lucru. Acest lucru este mai bine, deoarece configurare Linux va găsi automat spațiul liber pe (prima) hard disk, face toate partițiile necesare pentru Linux, formatați-le în mod corespunzător, face majoritatea opțiunilor în mod implicit, astfel încât instalarea va mai bine (mai târziu, dacă doriți, puteți adăuga fie componente lipsă sau reinstalați Linux, selectați Custom). Lilo sa dus la MBR.
După instalarea Linux este terminat, trebuie să reporniți computerul după repornire, veți vedea numai Lilo, cu un singur punct de „Linux“ din meniul de boot (sau poate mai mult de un punct, atunci când aveți un sistem cu mai multe). Dar nu intrați în panică! Windows NT este locul în care l-ați instalat. Va trebui să găsească și să modifice fișierul /etc/lilo.conf. În primul rând, atunci când deschideți acest fișier, veți vedea numai unul (sau mai multe) de intrare Linux. Trebuie să cunoașteți poziția exactă (a se citi: o partiție) în cazul în care ați instalat Windows NT, astfel trebuie să adăugați intrarea corespunzătoare la /etc/lilo.conf. Odată ce ați face acest lucru, reporniți Lilo, și pe următoarea repornire, va avea atât „Linux“ și „NT“ în meniul Lilo.
Fișierul lilo.conf. pe care o folosesc pentru a instala Lilo arata astfel:
Directiva „bios =“ în lilo.conf trebuie să specifice Lilo, ceea ce el crede ca dispozitivele Lilo. solicită BIOS determina discurile floppy și numerele de hard disk: 0x00 și 0x01 semnifica unități floppy, 0x80 si inseamna mai multe hard disk-uri (versiuni vechi de BIOS pentru a lucra cu doar două discuri). Prin urmare, „bios = 0x80“ în exemplul anterior înseamnă „utilizat în 0x80 BIOS-ul solicită accesul la / dev / HDC“.
Această directivă Lilo poate fi aplicată într-o altă situație: când, de exemplu, BIOS-ul poate porni din discuri SCSI în loc de IDE. Când există ambele dispozitive IDE și SCSI, Lilo nu poate determina ce cifră 0x80 se va referi, deoarece utilizatorul selectează ordinea în meniurile de configurare BIOS și nu sunt disponibile atunci când rulează Linux.
În mod implicit, Lilo consideră că discurile IDE sunt primele, prin urmare, în caz contrar, următoarele ar trebui găsite în fișierul /etc/lilo.conf:
disc = / dev / sda bios = 0x80
Am două discuri IDE și un SCSI. Discul SCSI nu este vizibil din BIOS. Bootloader-ul Linux, Lilo, utilizează apeluri BIOS și poate vedea numai unitățile pe care BIOS le vede. BIOS-ul meu prost AMI poate porni doar din "A:" sau "C:" Sistemul meu de fișiere rădăcină se află pe un disc SCSI.
Soluția este de a păstra nucleul, fișierul de hartă și încărcătorul de lanț în partiția Linux de pe primul disc IDE. Rețineți că în acest caz nu este necesar să aveți un kernel pe partiția rădăcină.
A doua partiție de pe prima mea placă IDE (/ dev / hda2, partiția Linux pentru bootarea sistemului) este conectată la / u2. Aici este fișierul /etc/lilo.conf. pe care am folosit-o.
Trebuie să lucreze la instalat sistemul de dimensiunea IDE-disc de 1GB. BIOS-ul se poate vedea doar primele 504 MB de ROM. (Aici MB înseamnă 2 ** 10 octeți în loc de 10 ** 6.) Deci, am MS-DOS pe un 350 MB sub / dev / hda1 și Linux dimensiunea mea partiția rădăcină de 120 MB - / dev / hda2.
MS-DOS nu a putut instala corect când discul a fost curat. Novell DOS 7 a avut aceeași problemă. Din fericire pentru mine, "Accesorii de la IBM" au fost incomplete - ați uitat să puneți o dischetă cu programul "OnTrack" în cutia cu hard disk. Winchester trebuia să vină cu un produs numit "OnTrack Disk Manager". Dacă aveți doar MSDOS, cred că veți avea nevoie de el.
Așadar, am creat tabela de partiții folosind comanda fdisk din Linux. MSDOS-6.2 a refuzat instalarea în / dev / hda1. El a spus ceva de genul: "Această versiune de MS-DOS este doar pentru instalări noi, iar computerul dvs. are deja MS-DOS, deci obțineți versiunea de upgrade de la distribuitorul dvs.". Dar, de fapt, discul era nou.
Ce eșec! Așa că am reluat din nou fdisk din Linux și am eliminat partiția 1. MS-DOS 6.2 care a fost mulțumit de el a creat aceeași partiție exactă pe care tocmai am scos-o și m-am instalat acolo. De asemenea, MS-DOS 6.2 a înregistrat MBR-ul pe disc, dar nu a pornit.
Din fericire, am avut un nucleu Slackware pe dischetă (realizat de programul de instalare Slackware), așa că am pornit Linux și a scris peste Lilo rupt MBR MS-DOS-o. Și a funcționat. Aici este fișierul /etc/lilo.conf. Am folosit:
Odată ce am avea toate set, am verificat că partiția care conține fișierele zImage, boot.b, harta, chain.b și mesajul poate utiliza un sistem de fișiere MSDOS, dacă nu este răsfățat „Stacker“ și-lea " Doublespace ". Prin urmare, partiția DOS din / dev / hda1 ar putea deveni dimensiune de 500 MB.
De asemenea, am aflat că sistemul "OnTrack" ar fi scris tabela de partiții puțin diferit decât de obicei și poate că a schimbat driverul IDE Linux pentru compatibilitate. Dar instalarea acestui "OnTrack" ar face imposibilă încărcarea de la kernel-ul standard inclus în pachetul Slackware. Apropo, IBM mi-a trimis apoi o dischetă cu "OnTrack". Am sunat echipa de asistență OnTrack. Mi-au spus că Linux este un sistem rău, pentru că nu utilizează BIOS-ul. Am aruncat discheta lor.
Apoi, am instalat Windows 95 în biroul meu. Mi-a șters complet frumosul Lilo MBR, dar mi-a lăsat partițiile numai cu Linux. Miezurile sunt încărcate de pe dischetă pentru o lungă perioadă de timp, așa că am lucrat la setările pentru ca floppy-ul să pornească kernel-ul de pe discul IDE.
Am făcut această dischetă în felul următor:
Rețineți că discheta trebuie să fie conectată la sistem în timp ce programul de instalare Lilo funcționează. astfel încât Lilo să își poată construi mesele.
Următorul este fișierul /etc/lilo.flop. Este aproape identic cu cel precedent:
Și ultimul. Aveam nevoie de MS-DOS 6.2 în sistemul meu de birou, dar nu vroiam să ating primul disc. Am instalat controlerul și discul SCSI, am creat sistemul de fișiere msdos acolo cu comanda mkdosfs, iar Windows 95 a văzut-o ca "D:". Dar, desigur, MSDOS nu a putut porni din D. Aceasta nu este o problemă atunci când ai Lilo. Am adăugat următoarele în fișierul lilo.conf din Exemplul 2.
Cu această adăugare, MSDOS-6.2 funcționează și crede că este pe unitatea C. și Windows 95 pe D:.