Wielu użytkowników na swoich komputerach posiada oprócz Slackware jeszcze jeden system operacyjny. Poniżej opisaliśmy typowe sposoby uruchamiania komputera w przypadku, gdy na dysku znajdują się dwa systemy operacyjne.
Komputer z zainstalowanymi systemami MS Windows oraz Linuksem to chyba najczęściej spotykany układ. Wybór systemu operacyjnego do uruchomienia można zrealizować na wiele sposobów, jednak ta sekcja opisze dwa z nich.
Zdarza się, że użytkownik instalujący dwa systemy operacyjne przygotuje sobie dokładny plan w którym wszystko działa idealnie, jednak nieświadomie instaluje systemy w złej kolejności. Ważną sprawą jest zrozumienie, iż dla właściwego współdziałania systemy powinny być instalowane w ściśle określonym porządku. Linux zawsze pozwala kontrolować to, co zostanie zapisane do MBR dysku twardego (o ile w ogóle chcemy coś zapisywać). Dlatego też sensownie jest instalować Linuksa na samym końcu. Windows, dla odmiany, powinien być zainstalowany jako pierwszy, gdyż jest to system który bez względu na wszystko i tak nadpisze MBR własnymi danymi, nie zważając na to co mógł zapisać tam instalowany wcześniej Linuks.
Większość ludzi chce używać LILO do wyboru między uruchomieniem Linuksa a Windowsa. Jak powiedziano wyżej, należy w takim wypadku najpierw zainstalować Windows, a następnie Linuksa.
Powiedzmy, że masz 40 GB dysk twardy i jest to jedyny dysk w twoim komputerze. Przyjmijmy też, że połowę dysku chcesz przeznaczyć na Windows'a, a drugą połowę przydzielić Linuksowi. Przykład ten posłuży nam do pokazania, jak rozwiązać problem uruchamiania Linuksa i Windowsa.
20GB Windows boot (C:) 1GB Linux root (/) 19GB Linux /usr (/usr) |
Potrzebne też będzie przydzielenie adekwatnej przestrzeni na partycję wymiany dla Linuksa (ang. Linux swap). Niepisana reguła mówi, by użyć w tym celu obszaru dysku o rozmiarze równym podwojonej ilości pamięci RAM zainstalowanej w systemie. Tak więc system z 64MB RAM'u będzie miał 128MB plik wymiany, itp. Odpowiedni rozmiar pliku wymiany jest tematem wielu gorących dyskusji na IRC'u oraz Usenet'cie. Nie istnieje “jedyna prawdziwa” zasada wyboru rozmiaru pliku wymiany, niemniej jednak stosowanie wyżej wspomnianej reguły powinno być wystarczające.
Gdy ustaliłeś już podział dysku na partycje, rozpocznij instalację Windows'a. Gdy ten będzie już działał, przyjdzie czas na instalację Linuksa oraz LILO. W naszym przykładzie do poprawnej instalacji LILO należy wybrać tryb "expert".
Rozpoczynamy konfigurację LILO. Najlepszym wyjściem będzie zainstalowanie LILO w obszarze MBR dysku twardego tak, by możliwy był wybór między dwoma zainstalowanymi systemami. W menu wybieramy dodanie obu partycji: Linuksa i Windowsa (bądź DOS'a). Teraz można już instalować LILO.
Przy następnym uruchomieniu komputera LILO powinno wyświetlić menu pozwalające na wybór pomiędzy zainstalowanymi systemami. Wybierz nazwę systemu do uruchomienia (nazwy te zostały ustalone podczas konfiguracji LILO).
LILO posiada ogromne możliwości. Nie jest bootloaderem uruchamiającym jedynie Linuksa bądź DOS'a - potrafi uruchomić praktycznie każdy system. Wiele przydatnych informacji dostarczają strony podręcznika systemowego man dotyczące lilo(8) oraz lilo.conf(5).
A co zrobić, jeżeli LILO nie działa? Istnieją powody, dla których na pewnych konkretnych maszynach LILO nie uruchomi się. Na szczęście, istnieje inny sposób uruchamiania Linuksa i Windowsa.
Metoda ta może być użyta gdy LILO nie uruchamia się na twoim systemie, bądź też gdy po prostu nie chcesz używać LILO. Jest także idealna dla osób, które często przeinstalowują Windows, gdyż przy każdej reinstalacji Windows nadpisuje MBR swoimi danymi, w konsekwencji niszcząc pliki LILO. Taki problem nie istnieje, gdy używa się LOADLIN'a. Ale metoda ta ma też minus: może posłużyć do uruchomienia jedynie Linuksa.
Jeżeli planujesz używanie LOADLIN'a, nie obowiązuje cię podana wyżej kolejność instalacji systemów. Instaluj je w dowolnej kolejności. Niemniej jednak uważaj, co zapisujesz w obszar MBR dysku twardego. LOADLIN wymaga by partycja Windowsa była bootowalna. Tak więc podczas instalacji Slackware'a upewnij się, że pominąłeś instalację LILO.
Po zainstalowaniu obydwu systemów operacyjnych przekopiuj plik loadlinX.zip (gdzie X jest numerem wersji, np. 16a) z katalogu domowego root'a na partycję Windowsa. Ponadto trzeba też skopiować tam obraz jądra Linuksa. Obydwie czynności należy wykonać spod Linuksa. Poniższy przykład ilustruje, jak to zrobić:
# mkdir /win # mount -t vfat /dev/hda1 /win # mkdir /win/linux # cd /root # cp loadlin* /win/linux # cp /boot/vmlinuz /win/linux # cd /win/linuz # unzip loadlin16a.zip |
Wykonanie powyższych poleceń spowoduje utworzenie katalogu C:\LINUX na partycji Windowsa (oczywiście przy założeniu, że partycja ta pod linuksem widoczna jest jako /dev/hda1) oraz przekopiuje tam rzeczy potrzebne do działania LOADLIN'a. Gdy wszystko jest już zrobione, uruchom ponownie komputer. Czas na ostatni etap konfiguracji LOADLIN'a.
Pod Windowsem przejdź do linii poleceń DOS'a. Przede wszystkim trzeba sprawić, by system nie uruchamiał się w trybie graficznym. Wykonaj następujące polecenia:
C:\> cd \ C:\> attrib -r -a -s -h MSDOS.SYS C:\> edit MSDOS.SYS |
W tak otwartym pliku dodaj następującą linijkę:
BootGUI=0 |
Zachowaj plik i opuść edytor. Teraz dodamy do pliku C:\AUTOEXEC.BAT menu pozwalające na wybór systemu do uruchomienia. Poniższe linie pokazują, jak może wyglądać przykładowy fragment pliku AUTOEXEC.BAT odpowiedzialny za nasze menu:
cls echo System Boot Menu echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Wybrano: -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Uruchamiam Linuksa..." cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Uruchamiam Windows'a..." win goto END :END |
Kluczową rolę pełni linia w której wywoływany jest LOADLIN. Podajemy tam obraz jądra do uruchomienia, wskazujemy partycję Linuksa oraz żądamy zamontowania jej w trybie tylko do odczytu.
Narzędzia niezbędne do wykonania powyższych dwóch metod dostępne są w dystrybucji Slackware Linux. Jest wiele innych bootloaderów na rynku, jednak te dwa są wystarczające w znakomitej większości wypadków.
Przedstawimy teraz najmniej chyba znany sposób na dual-booting. W dawnych czasach LILO nie potrafiło uruchomić Windowsa NT, wymagając od użytkowników Linuksa hackowania NTLDR, który to ze swej strony sprawiał znacznie więcej problemów niż uruchamianie Windowsów z serii 9x. Dziś te czasy to historia, LILO od wielu lat bezproblemowo uruchamia systemy Windows NT/2000/XP/2003. Tak więc hackowanie Windows NT ma sens jedynie wtedy, gdy używasz naprawdę starej maszyny. Oto kolejne kroki tej metody:
Zainstaluj Windows NT
Zainstaluj Linuksa. Upewnij się, że LILO jest zainstalowane na partycji Linuksowej.
Zapisz pierwsze 512 bajtów partycji linuksowej do pliku na partycji Windowsa NT
Edytuj C:\BOOT.INI pod Windows NT, dodając partycję Linuksa.
Zainstalowanie Windowsa NT nie powinno sprawiać problemów, gorzej może być z Linuksem. Od tego momentu zaczyna się ciekawa zabawa. Pobranie pierwszych 512 bajtów partycji linksowej jest łatwiejsze niż się wydaje (musisz być pod Linuksem, by tego dokonać). Przy założeniu, iż twoją partycją linuksową jest /dev/hda2, wykonaj te komendy:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512 |
Gotowe. Teraz trzeba przekopiować nowoutworzony plik bootsect.lnx na partycję Windowsa NT. I tu pojawia się kolejny problem: Linuks nie posiada stabilnego wsparcia dla systemu plików NTFS. Tak więc, jeżeli instalowałeś Windows NT na partycji NTFS, będziesz musiał najpierw skopiować ten plik na dyskietkę i za jej pomocą przenieść go pod Windows NT. Jeżeli Windows NT znajduje się na partycji FAT, możesz bezproblemowo podmontować ją pod Linuksem i skopiować plik bezpośrednio. Jakiego sposobu byś nie użył, cel jest jeden: skopiowanie pliku /tmp/bootsect.lnx z partycji linuksowej do C:\BOOTSECT.LNX na partycji Windows NT.
Ostatnim krokiem jest dodanie odpowiedniej opcji do menu startowego Windowsa NT. Pod tym systemem uruchom linię poleceń i wykonaj następujące polecenia:
C:\WINNT> cd \ C:\> attrib -r -a -s -h boot.ini C:\> edit boot.ini |
Dopisz tę linię na końcu pliku:
C:\bootsect.lnx="Slackware Linux" |
Zapisz zmiany i opuść edytor. Kiedy ponownie uruchomisz Windows NT, zmodyfikowane menu pozwoli Ci na uruchomienie Linuksa.
Tak, ludzie naprawdę instalują po kilka Linuksów na swoich dyskach. Jest to zdecydowanie najłatwiejszy dual-booting. Po prostu, używając LILO, dodaj więcej odpowiednich wpisów do pliku /etc/lilo.conf. To wszystko, co trzeba tu zrobić.