Multiboot
Kohabitacija više operativnih sistema na jednom računaru može se rešiti specijalizovanim programima, ali su rešenja koja dolaze sa samim operativnim sistemima sasvim dovoljna i nisu previše komplikovana.
Ova dva programa u master boot recordu diska i boot recordu particije čine celinu koja se naziva boot loader. Iako je skromnih 512 bajta po boot sektoru dovoljno u najjednostavnijim situacijama, celina zvana boot loader ima vrlo ograničene mogućnosti i neotporna je na bilo kakve promene u vezi s diskovima, particijama i fajl-sistemima na kojima se nalazi operativni sistem. Zbog toga su neki boot loaderi napravljeni tako da nakon prve dve faze umesto direktnog podizanja operativnog sistema pokreću treću fazu koja se sastoji od većeg pa samim tim i pametnijeg programa koji je u stanju da se adaptira na promene, pročita konfiguracioni fajl i/ili da razume fajl-sistem particije na kojoj se nalazi operativni sistem koji treba da pokrene. NT Loader (Windows) NT Loader (ntldr) je sastavni deo novijih verzija Windowsa (NT/2000/XP/2003) i u stanju je da izađe na kraj sa dva (ili više) Windowsa, uključujući i Windows 95, 98 i Me koji nemaju NT Loader i nisu predviđeni da dele kompjuter s drugim operativnim sistemom. Najjednostavniji način da se napravi uspešan multiboot sa više instalacija Windowsa jeste da se noviji Windows instalira poslednji. Ako se pri instalaciji drugog Windowsa ne izabere upgrade postojećeg, već se taj drugi Windows instalira na odvojenu particiju, on bi trebalo da bude u stanju da prilikom instalacije otkrije postojeći Windows i konfiguriše NT Loader tako da pri startovanju kompjutera može da se bira između dva (ili više) Windowsa. U određenim situacijama, na primer kada je disk sa drugim Windowsom naknadno ubačen u kompjuter, potrebno je ručno podesiti NT Loader da startuje Windows po izboru. NT Loader se podešava preko njegovog konfiguracionog fajla koji se naziva boot.ini, nalazi se u rootu diska C: i ima atribute hidden i system. Zato je pre njegove promene potrebno prvo skloniti te atribute u konzoli komandom attrib -h -s C:\boot.ini Kada je na kompjuteru samo jedan Windows, boot.ini izgleda otprilike ovako: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\ WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS= "Microsoft Windows XP Professional” /fastdetect Ono „multi(0)disk(0)rdisk(0)partition(1)” ukazuje na to na kojoj particiji, kog diska, na kom kontroleru se nalazi Windows. Da bi se, na primer, dodao Windows 2000 instaliran u WINNT folder na prvoj particiji drugog diska, u boot.ini treba dopisati: multi(0)disk(1)rdisk(0)partition(1)\WINNT= "Windows 2000” /fastdetect a ako se nalazi na drugoj particiji prvog diska (znači istog na kojem je XP), u boot.ini treba upisati: multi(0)disk(0)rdisk(0)partition(2)\WINNT= "Windows 2000” /fastdetect Struktura boot.ini fajla detaljnije je objašnjena na www. Lilo (Linux loader) NT Loader je moguće naterati da startuje Linux (ili neki drugi sistem koji nije Windows), ali ne bez pomoći drugog boot loadera. Da bi se ovo izvelo, potrebno je propisno instalirati i podesiti neki drugi boot loader (Lilo, Grub...) sposoban da butuje dotični operativni sistem, kopirati njegov boot sektor u fajl (komandom dd) i dodati u boot.ini nešto kao: C:\nekifajl=NekiOS Ima više načina da se ovo izvede, a jedan je detaljno opisan na www. Ovako podešen, NT Loader zapravo samo daje korisniku mogućnost da izabere i OS koji nije Windows sa spiska koji nudi, ali prepušta drugom loaderu posao startovanja tog OS-a. Lilo (Linux loader) jeste veoma raširen loader za Linux, koji pored svoje primarne funkcije (butovanja Linuxa) sasvim dobro izlazi na kraj i s drugim operativnim sistemima, stvarajući vrlo važan uslov za koegzistenciju Linuxa s drugim operativnim sistemima. Sve u vezi sa Lilom podešava se u njegovom konfiguracionom fajlu koji se nalazi u /efc/lilo.conf. Posle izmene fajla potrebno je pokrenuti Lilo (kao root korisnik) da bi boot record(i) bili upisani tako da odgovaraju promenama u konfiguraciji. Postoji puno opcija koje se mogu staviti u lilo.conf, ali kada se iz tipičnog konfiguracionog fajla izostavi sve što je manje bitno i ono što nema previše smisla menjati, ostaje otprilike sledeće: boot = /dev/hda image = /boot/vmlinuz root = /dev/hda2 label = Linux other = /dev/hda1 label = Windows Opcija boot definiše u koji sektor će Lilo biti upisan i u ovom slučaju znači da će Lilo biti upisan u MBR primary master diska. Sledeća tri reda su opcije vezane za pokretanje Linuxa: image definiše koji kernel se učitava kada se u boot meniju izabere „Linux”, a root definiše koja particija će biti montirana kao „/” pri startovanju Linuxa. Ukoliko distribucija koristi initial ramdisk prilikom startovanja, sa initrd=/neki/fajl može se definisati fajl koji sadrži taj RAM-disk. Poslednja dva reda su opcije koje se odnose na pokretanje Windowsa koji se nalazi na particiji hda1, a other je opcija koja se koristi za startovanje svih operativnih sistema koji nisu Linux i u principu znači da se startovanje tih operativnih sistema prepušta njihovim boot loaderima. Pošto će Windows 95/98 odbiti da radi ako nije na primary master disku, opcijom boot-as=0x80 Lilo može da ga „ubedi” da je na primary masteru, bez obzira na to gde se nalazi. Pored startovanja različitih operativnih sistema, Lilo može da startuje istu distribuciju sa različitim kernelima: image = /boot/vmlinuz root = /dev/hda2 label = Default image = /boot/vmlinuz2 root = /dev/hda2 label = NoviKernel Ovo je praktično rešenje pri eksperimentisanju s novim kernelima ili kernelima kompajliranim u kućnoj radinosti jer ako novi kernel iz nekog razloga zakaže, ostaje mogućnost butovanja s prethodnom, funkcionalnom verzijom kernela. Kod eksperimentisanja sa boot loaderom vrlo dobra praksa je da se MBR prvo upiše na disketu, pri čemu MBR diska ostaje netaknut, pa da se MBR upiše na disk tek kada se ispostavi da sa diskete sve radi kako treba. To se sa Lilom postiže tako što se u konfiguracionom fajlu umesto boot=/dev/hda stavi boot=/dev/fd0 GRUB (GRand Unified Boot loader) Grub je konceptualno drugačiji od ostalih boot loadera. Pre svega, Grub ume da čita fajl-sisteme (Linuxove i FAT), što mu daje mogućnost da učita kernel OS-a ili svoj konfiguracioni fajl sa bilo kog mesta na disku. Isto tako, njegov shell omogućava zadavanje parametara za vreme butovanja što, u kombinaciji sa autocompleteom za imena fajlova, diskova i particija, omogućava interaktivno „napipavanje” ispravnog načina za butovanje koji se onda može ubaciti u konfiguracioni fajl. Za potrebe eksperimentisanja može se napraviti butabilna disketa sa Grubom: # cd /usr/local/lib/grub/i386-pc/ # dd if=stage1 of=/dev/fd0 bs=512 count=1 # dd if=stage2 of=/dev/fd0 bs=512 seek=1 U zavisnosti od distribucije i opcija pri instaliranju, fajlovi stage1 i stage2 mogu eventualno biti i u nekom drugom direktorijumu. Butovanjem sa ove diskete dobija se grub shell. Imena particija u Grubovom shellu su u formi „(hdx,y)” gde je „x” redni broj diska, a „y” redni broj particije na njemu. Redni brojevi počinju od „0” pa tako, na primer, (hd1,2) označava treću particiju drugog diska, dok (hd0) označava ceo prvi disk i može se koristiti pri upisivanju master boot recorda. Tipična sekvenca komandi za startovanje Linuxa koji se nalazi na drugoj particiji prvog diska bila bi: kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 boot Pritisak na ’Tab’ pri kucanju imena diska, particije ili fajla aktivira autocomplete i praktično eliminiše greške u kucanju i mnoge nedoumice o tome gde se šta na diskovima nalazi. Za nedoumice koje autocomplete ne može da reši postoje komande find i cat. Komanda help daje spisak svih komandi, a help ime_komande daje objašnjenje za specifičnu komandu. Za butovanje Windowsa koji se nalazi na prvoj particiji prvog diska treba kucati: root (hd0,0) chainloader +1 boot Ako treba, na primer, pokrenuti Windows 98 sa diska koji nije primary master, komande map (hd0) (hd1) map (hd1) (hd0) čine da Windows „misli” da je disk na kojem se nalazi prikačen kao primary master. Kada je eksperimentisanje završeno, dobitna kombinacija parametara pri butovanju može se upisati u konfiguracioni fajl i Grub se može trajno upisati u MBR hard diska. Pre svega potrebno je napraviti direktorijum /boot/grub i tu kopirati stage1, *_stage1_5 („*” odgovara fajl sistemu na particiji „/”) i stage2. Konfiguracioni fajl je /boot/grub/menu.lst i može da izgleda, na primer, ovako: timeout 10 default 0 title Linux kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 initrd (hd0,1)/neki/fajl title Windows root (hd0,0) chainloader +1 Za potrebe upisivanja boot recorda grub shell se može pokrenuti i iz Linux konzole. Komande root (hd0,1) setup (hd0) upisuju stage1 Gruba u MBR prvog diska, pri čemu direktorijum /boot/grub treba da bude na drugoj particiji tog diska, tj. na (hd0,1) po Grubovoj konvenciji. Kompajlirani Grub i njegov konfiguracioni fajl (to jest fajlove stage1, fat_stage1_5, stage2 i menu.lst) moguće je staviti u direktorijum \boot\grub na FAT particiji kompjutera koji uopšte nema Linux i koristiti ga u situacijama s kojima NT Loader nije u stanju sam da izađe na kraj. Kad se Grub ovako koristi, nije moguće dobiti Grub shell u Windowsu za potrebe upisivanja (master) boot recorda, pa je zgodno imati pri ruci disketu sa Grubom s kojom se može doći do Grubovog shella. Ko radi, taj i greši A ko baš i ne zna šta radi, taj prilično greši. Kod igranja s multibootom lako može da se dođe u situaciju da neki ili svi instalirani operativni sistemi ne mogu da se pokrenu. Za rešavanje ovakve situacije pre svega je dobra praksa sačuvati ispravnu kopiju konfiguracionog fajla boot loadera (boot.ini, lilo.conf...). Kada ona postoji, potrebno je butovati je sa instalacionog CD-a Windowsa, doći do Recovery console, vratiti stari konfiguracioni fajl na svoje mesto i fixmbr i fixboot komandama upisati ispravne boot recorde. I kod Linuxa je potrebno butovati sa CD-a, doći do shella, montirati particiju na kojoj je instaliran Linux (u ovom primeru na /mnt/hd), vratiti stari konfiguracioni fajl i pokrenuti Lilo: # lilo -r /mnt/hd ili možda #/mnt/hd/sbin/lilo -r /mnt/hd ako Lilo nije među programima dostupnim iz shella instalacionog CD-a. Za korisnike koji su potpuni početnici, mnoge distribucije imaju neku user-friendly alatku za „opravljanje” boot recorda dostupnu sa instalacionog CD-a. U ovakvim situacijama Grub ima tu veliku prednost što se pri startovanju može ući u njegov shell i metodom „pokušaja i promašaja” mogu se naći dobri parametri za butovanje, nezavisno od toga šta stoji u konfiguracionom fajlu. • • • Za sasvim jednostavne situacije, npr. butovanje dva Windowsa, NT loader će završiti posao. Za složenije scenarije butovanja i potrebe eksperimentisanja, naročito ako u kombinaciju ulazi i Linux, pravi izbor je definitivno Grub jer je dovoljno fleksibilan za vrlo komplikovane scenarije butovanja, a lak za upotrebu u jednostavnim situacijama. Marko JOVANOVIĆ |
| |||||||||||||||||||||||||||||||||||||||||
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |