Wstęp
Każdy użytkownik peceta w zależnoci od własnych potrzeb może wybrać odpowiedni dla siebie system operacyjny. W zależnoci jednak od zastosowania żaden system nie jest idealny, czasem więc istnieje koniecznoć posiadania kilku OS-ów (OS- Operating System) na jednym komputerze. Choć istnieje około siedmiu systemów operacyjnych mogšcych obsłużyć PC-ta tu zajmiemy się tylko tymi najbardziej popularnymi gdyż w zależnoci od konkretnych systemów postępowanie w przypadku "pogodzenia" ich jest różne.
Podstawowym problemem jest fakt by nowo zainstalowany OS nie wpłynšł negatywnie na pracę starego systemu, z drobnymi wyjštkami najczęciej wišże się to z koniecznociš partycjonowania, drugš kwestiš jest wymiana danych pomiędzy systemami, zwišzane jest to bezporednio z pojęciem systemu plików.
Budowa dysku twardego
Budowa fizyczna
Aby łatwo można było poruszać się po skomplikowanej strukturze dysku, cylindry, głowice i sektory zostały ponumerowane. Odwołanie do konkretnego miejsca na dysku wymaga, więc podania trzech informacji (liczb) w standardzie C/H/S - Cylinder / Head (głowica) / Sector (sektor). (Dokładnie taki schemat stosowano w przypadku starszych dysków o pojemnociach do 528 MB - obecnie istnieje koniecznoć stosowania tzw. translacji adresów).
Budowa logiczna
Większoć popularnych systemów operacyjnych musi zostać zainstalowana na partycji typu primary (głównej), co - ze względu na strukturę tablicy partycji - umożliwia zainstalowanie do czterech rożnych systemów na jednym dysku. Oprócz partycji typu primary można założyć również partycję extended (rozszerzonš). Jej główna zaletš jest to, że zajmujšc tylko jedno miejsce w tablicy partycji dysku, można na niej utworzyć znacznie większš liczbę dysków logicznych - czyli partycji na partycji extended.
Partycja rozszerzona zakładana jest niemal na każdym dysku. W przeciwieństwie do partycji podstawowych dyski logiczne utworzone na partycji extended sš widoczne zawsze, jeli system plików zgodny jest z zainstalowanym systemem operacyjnym.
W pierwszym sektorze dysku znajduje się MBR zawierajšcy tablicę partycji. Do oznaczenia cylindrów i głowic wykorzystuje się cyfry zaczynajšce się od 0. Szesnacie głowic ma zatem numery od 0 do 15. Sektory oznaczane sš liczbami od 1 do 63. Każda partycja zaczyna się od rekordu ładujšcego (boot sectora). Co zostało przedstawione na poniższym rysunku.
Boot sector. Skok do kodu ładujšcego system operacyjny, opis systemu plików.
Ponieważ poczštek pierwszej partycji może znajdować się na zerowym cylindrze, ale pierwszej głowicy i pierwszym sektorze (CHS = 011), pomiędzy MBR i BS pozostajš wolne 62 sektory (31 KB), które nie sš wykorzystywane
FAT - dwie kopie tablicy alokacji plików, druga kopia utrzymywana jest jako backup.
Po BS znajduje się obszar, w którym zapisane sš informacje o rozmieszczeniu danych na partycji. Aby nie posługiwać się zwykle bardzo dużš liczbš sektorów, powstała jednostka alokacji (zajętoci) zwana klastrem (cluster), łšczšca kilka sektorów w jednš całoć. Tak więc klaster o rozmiarze 2 KB składa się z 4 sektorów, 4 KB łšczš 8 sektorów itd.
Każdy DOS-owy system plików ma dwie tablice rozmieszczenia plików (FAT - File Allocation Table), zawierajšce informacje o położeniu i wielkoci plików na danej partycji. Budowa taka została podyktowana względami bezpieczeństwa - po utracie tablicy FAT zniszczeniu ulegajš wszelkie dane.
Katalog Główny - zawiera meta-dane plików w katalogu głównym partycji.
Ostatniš organizacyjnš częciš partycji jest katalog główny dysku (root directory), zawierajšcy nazwy plików oraz informacje o ich wielkoci i pierwszym zajmowanym klastrze.
Dane - informacje zapisane w plikach i puste miejsce.
Po katalogu głównym dysku znajduje się największa częć partycji służšca do przechowywania danych.
Bardzo podobnie wyglšda organizacja partycji rozszerzonej. Tutaj jednak odpowiednik MBR, zwany EMBR (Extended MBR), znajduje się przed każdš kolejnš partycjš. Każdy EMBR zawiera informacje (adres) o jej poczštku i końcu.
Wracajšc do pierwszego sektora na każdym dysku, nazywanego MBR (Master Boot Record - CHS = 001) to warto zaznaczyć, że zawiera on IPL - Initial Program Loader (zwany również bootstrapem) oraz informację o organizacji partycji na dysku umieszczonš w Tablicy Partycji (TP). Umożliwia ona zapisanie informacji o maksymalnie czterech partycjach. Każdš z nich cechuje: stan (aktywna lub nie), adres poczštkowy zapisany w standardzie CHS, typ (primary lub extended), adres końcowy - CHS, numer poczštkowego sektora oraz liczba zajmowanych (alokowanych) sektorów.
Po włšczeniu zasilania procesor wykonuje instrukcje zawarte w pamięci ROM komputera (to włanie program BIOS - podstawowe procedury startowe). Na koniec BIOS nakazuje procesorowi odczytanie pierwszego sektora (cieżka 0, głowica 0, sektor 1) dyskietki lub twardego dysku (pierwszego w kolejnoci, jeli jest kilka napędów), na którym znajdujš się dalsze wskazówki, co do uruchamiania systemu. Ów pierwszy sektor dysku to włanie wyżej wspomniany MBR (ang. Master BOOT Rekord - podstawowy zapis startowy). Podczas startu systemu po testach POST jest on ładowany pod adres 0:7COO i wykonywany.
A co za tym idzie wywoływany jest IPL - mały program sprawdzajšcy informacje zawarte w tablicy partycji i uruchamiajšcy system operacyjny z partycji, która ma ustawionš (włšczonš) flagę aktywnoci.
Oto struktura MBR:
Offset |
Rozmiar |
Zawartoć |
+0 |
1BE h |
Instrukcje odczytujšce informacje o partycjach, wczytujšce blok ładujšcy aktywnej partycji i dajšce mu sterowanie |
+1 BE h |
10 h |
Opis partycji #1 |
+1 CE h |
10 h |
Opis partycji #2 |
+1DE h |
10 h |
Opis partycji #3 |
+1 EE h |
10 h |
Opis partycji #4 |
+1 FE h |
2 |
Znacznik końca tablicy partycji (0AA55 h) |
Oczywicie instrukcje ładujšce blok aktywnej partycji mogš doć znacznie różnic się od siebie. W przypadku instalowanych w MBR boot-loaderów np: linuxowego lilo, to w przypadku standardowego MBR od razu kopiuje on się pod 0:0600 ponieważ pod 0:7COO będzie kopiowany boot sektor aktywnej partycji. Następnie szuka on aktywnej partycji ( pierwszy bajt opisu partycji równy 80H patrz ramka poniżej), następnie sprawdza czy przypadkiem inna partycja nie jest ustawiona jako aktywna. Jeli jest więcej niż jedna aktywna partycja, lub nie ma żadnej to drukowany jest komunikat "Invalid partition table" i program pozostaje w nieskończonej pętli. W przeciwnym wypadku jako parametry przerwania 13H podawane sš głowica, cieżka i sektor poczštku partycji (pobrane z bajtów 2-4 opisu aktywnej partycji). Na koniec sprawdzana jest obecnoć magicznej liczby AA55H na końcu opisów tablic partycji, jeli go nie ma to jest wywietlany napis "Drive not ready".
Należy zauważyć, że MBR zajmuje jeden sektor (512 bajtów) i koniecznie musi się miecić w pierwszym sektorze dysku.
Ostatnia częć tego bloku zawiera tablicę partycji. Jest to 4-pozycyjna struktura (każda pozycja 16 bajtów), zawierajšca informacje o podziale dysku na strefy. W systemach do DOS 4.0 podział na strefy był jedynš metoda obsługi dysków powyżej 32 MB. W nowszych wersjach praktycznie każdy dysk może mieć tylko jedna strefę. ale możliwoć podziału jest w dalszym cišgu zachowana. Jak już wczeniej zostało to wspomniane każda partycja ma w MBR swój 16 bajtowy opis, którego struktura jest następujšca:
MBR wczytuje blok ładujšcy aktywnej partycji pod adres 0:7COO. Blok ładujšcy znajduje się na poczštku każdej partycji. Jego struktura jest następujšca:
Uwaga: powyższa tabelka jest dla rozszerzonego FAT32, dla FAT16 BPB kończy się w +3EH (z tego powodu inny też jest adres skoku w +0). Dla FAT32 boot record zajmuje 2 sektory (!). W czasie startu systemu po przekazaniu sterowania do bloku ładujšcego aktywnej partycji opis tej partycji jest wskazywany przez parę rejestrów DS:DI.
Podsumowujšc MBR zawiera główny program uruchomieniowy i tzw. tablicę partycji, czyli szczegółowy spis wszystkich partycji utworzonych na dysku. Tablica przechowuje informacje o typie partycji, jej adresie startowym i końcowym oraz statusie. Włanie status partycji jest najważniejszy z punktu widzenia procedury startowej komputera: każda partycja może być widzialna lub ukryta, a w danej chwili może być aktywna tylko jedna partycja podstawowa.
Jako, że system uruchamiany jest z aktywnej partycji podstawowej, główny program uruchomieniowy przeszukuje tablicę partycji, odnajduje aktywnš partycję i przekazuje jej kontrole (każda partycja podstawowa ma w pierwszym sektorze własny program uruchomieniowy typowy dla zainstalowanego systemu operacyjnego).
W czasie startu systemu po przekazaniu sterowania do bloku lšdujšcego aktywnej partycji opis tej partycji jest wskazywany przez parę rejestrów DS:DI.
Planujšc podział dysku, zawsze powinnimy pamiętać o możliwoci wymiany danych pomiędzy różnymi systemami operacyjnymi. Niestety, nie każdy system operacyjny potrafi odczytywać obce systemy plików.
Systemy plików
Większoć systemów operacyjnych - w tym DOS i wszystkie Windows - wykorzystuje do uruchomienia aktywnš partycję podstawowš, lecz nie wszystkie.
System operacyjny |
Wykorzystywana partycja do uruchomienia |
DOS |
Aktywna partycja pierwszego dysku |
Windows 3x/9x/Me |
Aktywna partycja pierwszego dysku |
Windows NT/2000 |
Partycja logiczna (program startowy musi być umieszczony na aktywnej partycji podstawowej pierwszego dysku twardego) |
OS/2 |
Partycja logiczna nie przekraczajšca pierwszych 2 GB (to wynik przestarzałego sposobu adresowania, z czasów, gdy dyski twarde miały setki megabajtów pojemnoci. Aby dokonać instalacji OS/2 na dysku logicznym trzeba posłużyć się dołšczonym do systemu programem BOOT Manager) |
Linux |
Partycja logiczna (bez wymagań dotyczšcych aktywnej partycji) |
BeOS |
Partycja logiczna (bez wymagań dotyczšcych aktywnej partycji) |
Każdy system operacyjny musi stworzyć na swojej partycji system plików, który pełni dwie funkcje. Po pierwsze łšczy wiele sektorów w logiczne bloki, dzięki którym adresy sš krótsze a zarzšdzanie danymi łatwiejsze i przede wszystkim szybsze. Po drugie system operacyjny decyduje o położeniu zbiorów na dysku. Niestety systemy plików nakładajš pewne ograniczenia, które dotyczš maksymalnego rozmiaru partycji.
Tam, gdzie nie ma standardu, zawsze pojawia się problem niezgodnoci: niektóre systemy operacyjne rozpoznajš tylko jeden system plików, inne natomiast sš w stanie korzystać z kilku. W tym drugim przypadku ważny jest dobór właciwego systemu plików.
Co to jest system plików?
Większoć systemów operacyjnych przechowuje informacje zarówno w szybkiej, ale nietrwałej pamięci RAM jak i stosunkowo wolnej, ale trwałej pamięci (dyskietki, dyski twarde, płyty CD, etc.). Sposób organizacji danych w takiej trwałej pamięci w logicznš strukturę nazywa się systemem plików. W zależnoci od używanego systemu operacyjnego partycja może mieć różne systemy plików - inaczej struktury przechowywania i zarzšdzania danymi. Struktura taka zwykle składa się z sektora rozruchowego, katalogów i plików. Do zadań systemu plików należy ledzenie zajętej i wolnej przestrzeni dyskowej, przechowywanie nazw plików i katalogów oraz kontrola fizycznego położenia plików na dysku.
System plików zapewnia:
- dostęp do danych (często z uwzględnieniem uprawnień)
- spójnoć zapisanych danych (czyli, że odczytane dane będš identyczne z tymi, które zostały zapisane)
- dostęp do informacji o własnym stanie (np. iloć wolnego miejsca)
- dostęp do meta-danych, czyli wszystkich informacji dotyczšcych plików z wyjštkiem samych danych w plikach (np. czas dostępu, rozmiar, uprawnienia, etc.)
Obecnie w pecetach najczęciej spotykane sš systemy plików:
- FAT16 i VFAT
W systemie plików FAT16 (File Allocation Table) nazwy plików mogš mieć długoć maksymalnie omiu znaków, po których następuje trzy znakowe rozszerzenie (struktura 8.3). VFAT jest rozszerzeniem FAT16 opracowanym dla Windows 95, gdzie można stosować dłuższe nazwy plików niż w formacie 8.3. Wadš FAT16 i VFAT jest ograniczenie wielkoci każdej partycji do 2GB (wyjštek: Windows NT z ograniczeniem do 4GB).
- FAT32
Microsoft w Windows 95 OSR2 wprowadził nowy system plików. Oprócz nadania plikom długich nazw, umożliwia on tworzenie partycji do 2TB. Klastry w tym systemie mogš być znacznie mniejsze, niż w FAT16. wadš tego systemu jest brak zgodnoci ze starszymi systemami operacyjnymi (DOS, Windows NT4).
- NTFS
Dla Windows NT Microsoft opracował system plików o nazwie NTFS (New Technology File System). Został on zoptymalizowany pod kštem obsługi dużych partycji. Do zarzšdzania plikami służy tablica MTF (Master File Table). W odróżnieniu od powyższych systemów plików NTFS przechowuje informacje o prawach dostępu do każdego pliku i folderu.
- HPFS
Wykorzystywany przez OS/2 system plików HPFS zrównuje rozmiar klastrów z rozmiarem sektorów (512 bajtów). Dzięki temu w przypadku przechowywania wielu małych plików tracimy znacznie mniej miejsca. HPFS dzieli partycje na 8-megabajtowe strefy z własnymi mapami alokacji, co pozwala zmniejszyć przesunięcie głowic dysku podczas poszukiwania anych.
- ETX2
Maksymalny rozmiar ETX2 (Extended file system 2 - standardowy system plików Linuksa) pozwala na utworzenie partycji do 4TB.
Z obcymi systemami plików najlepiej radzi sobie Linux. Wystarczy jedynie do pliku /etc/fstab wpisać nazwę urzšdzenia i oznaczenie systemu plików, aby partycja stała się dostępna. Jeli z poziomu Windows 9x lub NT chcemy uzyskać dostęp do partycji Linuksa, pomoże nam w tym użyteczne narzędzie systemowe o nazwie Explore2fs, które wywietla wszystkie informacje w oknie podobnym do Eksploratora Windows. Uwaga: przed włšczeniem opcji umożliwiajšcej zapis na partycji linuksowej (polecenie Enable Write Support ) należy przeczytać plik README.TXT.
Nie należy również zapominać o NetWare, Linux Swap itp. Nie zagłębiajšc się w szczegóły budowy tych systemów - oprócz FAT'u, należało by wiedzieć, które z nich rozpoznawane sš przez który system operacyjny:
System plików |
Systemy operacyjne, które je rozpoznajš |
FAT |
DOS, Windows 3x/9x/Me/NT/2000/XP, OS/2 |
FAT32 |
Windows 95 OSR2, Windows98/Me/2000/XP |
NTFS |
Windows NT/2000/XP |
HPFS |
OS/2, starsze wersje Windows NT |
Linux Ext2, Linux Swap |
Linux |
NetWare File System |
Serwery NetWare |
Be File System |
BeOS |
Jak widać, problem wyboru systemu plików jest szczególnie istotny dla używajšcych różnych wersji Windows. System FAT (znany też jako FAT16) jest najbardziej uniwersalny, ale też najmniej ekonomiczny - nie radzi sobie z partycjami powyżej 2 GB, a przy pojemnoci powyżej 512 MB traci się mnóstwo miejsca z powodu zbyt dużych klastrów.
Klaster to najmniejsza możliwa do zaadresowania partia danych, rodzaj stałej wielkoci kontenera na informacje. Nawet jeli zostanie wypełniony tylko w kilku procentach, procentach tak zajmie powierzchnię całš swojš objętociš. Straty miejsca z tego wynikłe sięgajš 25% - 40% partycji powyżej 512 MB (np. na prawie całkowicie zapełnionej partycji 2GB FAT16 z Windows 2000 marnuje się około 400 MB).
W przypadku FAT32 problem klastrów i małej maksymalnej pojemnoci został praktycznie wyeliminowany, ale DOS i starsze Windows w ogóle nie rozpoznajš tego systemu plików. Podobnie rzecz się ma z NTFS, który jest fantastycznym rozwišzaniem dla Windows NT/2000, lecz kompletnie niedostępnym z innych wersji (chyba że przy pomocy specjalnego oprogramowania).
I tak na dysku twardym z dwiema partycjami FAT16: jednš podstawowš, drugš rozszerzonš (z dwoma dyskami logicznymi) znajdujš się kolejno:
1. MBR (Master Boot Record) - główny blok ładujšcy
2.Pierwsza (podstawowa) partycja FAT16
- Boot Sector - blok ładujšcy.
- FAT (File Allocation Table) - tablica rozmieszczenia plików wraz z kopiš
- Root Directory - katalog główny.
- Data Space - obszar danych.
Struktura systemu plików FAT: |
Zarezerwowany region ( zawiera boot sektor) |
Tablica alokacji plików (FAT) |
Katalog główny |
Region (obszar) danych |
3.Druga (rozszerzona) partycja FAT16
- MBR - główny blok ładujšcy rozszerzonej partycji FAT16. Ma on podobnš budowę
do głównego MBR dysku. Będzie zawierał opisy dwóch partycji logicznych po czym
nastšpi sygnatura końca opisów AA55H.
- Boot Sector - blok ładujšcy logicznej partycji nr. 1.
- FAT (File Allocation Table) - tablica rozmieszczenia plików wraz z kopiš logicznej
partycji nr. 1.
- Root Directory - katalog główny logicznej partycji nr. 1.
- Data Space - obszar danych logicznej partycji nr. 1.
- Boot Sector - blok ładujšcy logicznej partycji nr. 2.
- FAT (File Allocation Table) - tablica rozmieszczenia plików wraz z kopiš logicznej
partycji nr. 2.
- Root Directory - katalog główny logicznej partycji nr. 2.
- Data Space - obszar danych logicznej partycji nr. 2.
Jeli chodzi o logiczna struktura danych na dysku FAT32 to na pierwszy rzut oka nie ma wielu różnic. Omówimy tu identyczny przypadek jak powyżej dla FAT16. Różnica polega na tym że w partycji rozszerzonej drugi opis partycji nie będzie wskazywał bezporednio na drugi logiczny dysk, lecz na kolejnš partycje rozszerzonš, która będzie miała MBR (jak każda partycja rozszerzona), oraz jeden wpis w MBR opisujšcy drugi dysk logiczny. Gdyby tych dysków logicznych było 10, to po prostu w każdej kolejnej partycji rozszerzonej byłby opis kolejnego dysku logicznego (opis partycji nr.l) oraz kolejnej partycji rozszerzonej (opis partycji nr.2). Pamiętajmy o tym, że na dysku może znajdować się do 4 partycji podstawowych/rozszerzonych jednak dos'owy fdisk nie pozwoli na stworzenie więcej niż jednej partycji podstawowej.
FAT (File Allocation Table) jest to struktura okrelajšca, które jednostki przydziału (klastry) sš przyporzšdkowane plikom. Każda pozycja w tablicy FAT odpowiada jednemu klastrowi. Klastry na których zapisany jest plik zorganizowane sš w łańcuch. Oznacza to że chcšc odczytać dany plik system odczytuje ze struktury opisujšcej dany plik pierwszy klaster jaki zajmuje ten plik. Jeli zajmuje on więcej niż jeden klaster to wartoć podanego klastra wskazuje na następny klaster w którym przechowywana jest kolejna częć pliku. Jeli klaster ma wartoć FFEH-FFFH oznacza to że jest to ostatni klaster (na nim kończy się plik). Oto możliwe wartoci klastrów w tablicy FAT:
Wartoć |
Znaczenie |
|
OOOH |
Klaster jest wolny. |
|
FFOH-FF6H |
Klaster zarezerwowany dla bootrecord, rootdirectory) . |
danych systemowych (MBR, |
FF7H |
Klaster uszkodzony. |
|
FF8H-FFFH |
Koniec pliku (ostatni klaster zajęty przez dany plik). |
|
002H-FEFH |
Następny numer klastra w |
łańcuchu opisujšcy dany plik. |
Tablica 5: Wartoci klastrów w tablicy FAT
Pierwsza pozycja w tablicy FAT to identyfikator dysku (ten sam który znajduje się w bloku ładujšcym). Zwykle pierwsza kopia FAT znajduje się w sektorze l a druga kopia (zapasowa) zaraz po pierwszej.
Katalog główny (Root Directory) znajduje się za tablicami FAT. Przechowywuje informacje o plikach/katalogach w głównym drzewie partycji dysku twardego. Informacje o "podrzędnych" plikach czy katalogach przechowywane sš już w obszarze danych. W przypadku FAT16 wszystkie dyski przeznaczały stały obszar na katalog główny o wielkoci 32 sektorów (32*512=16384B). Każdy plik czy katalog (który z punktu widzenia systemu też jest plikiem, tylko że z ustawionym bitem Directory), sš opisane przez 32 bitowš strukturę (będšcš zapisanš w Katalogu głównym). Jak łatwo policzyć w 16384 bajtach Katalogu głównego zmieci się 512 takich 32-u bajtowych struktur - i to jest maksymalna iloć plików/katalogów w głównym drzewie partycji FAT16. W każdej takiej strukturze sš między innymi takie informacje jak nazwa pliku, jego rozszerzenie, atrybuty, data założenia, data ostatniej modyfikacji oraz pierwszy klaster zajmowany przez plik. W przypadku FAT32 jednš z ważniejszych zalet jest to, że obszar ten może leżeć w dowolnym miejscu partycji FAT32. Ponadto rozmiar Katalogu głównego nie jest już ograniczony 32 sektorami, a tylko i wyłšcznie pojemnociš dysku twardego, (dlatego w Windows 95 możesz mieć tylko 512 plików w katalogu głównym a w Windows 98 tyle ile masz miejsca na dysku).
Różnice między FAT16 a FAT32:
O wielu różnicach jest wspomniane wyżej. Pozostałe to:
- oszczędnoć - FAT32 jest znacznie bardziej oszczędny, ponieważ dla dysków do
8GB stosuje klastry 4KB, (czyli najmniejszy plik zajmuje 4KB), natomiast FAT16
już w przypadku dysków powyżej 1GB używa klastrów 32KB.
- partycje FAT32 mogš teoretycznie mieć wielkoć 2TB (pamiętacie że w
rozszerzonym BPB pole całkowita duża liczba sektorów na dysku jest 4 bajtowe
czyli 32 bitowe co daje 4 miliardy sektorów po 512 bajtów każdy czyli w sumie
2TB. Dla porównania FAT16 miało maksymalnš liczbę sektorów zapisanš w polu
16 bitowym, co daje 65535 sektorów po 512 bajtów każdy, czyli tylko 32MB, Nawiasem mówišc w międzyczasie pojawiły się partycje FAT16, które pokonywały tę barierę 32MB.
- w FAT32 katalog główny może być ulokowany gdziekolwiek na partycji. W
rozszerzonym BPB zapisane sš poczštkowe klastry Katalogu głównego (czego
oczywicie w FAT16 nie było).
- w FAT32 boot record zajmuje 2 sektory ze względu na rozrastajšcy się BPB.
- w systemie plików FAT16 (File Allocation Table) nazwy plików mogš mieć długoć maksymalnie omiu znaków, po których następuje trzy znakowe rozszerzenie (format 8.3). Natomiast w FAT32 pliki mogš mieć długie nazwy.
Podsumowujšc FAT jest najprostszym systemem plików, używanym przez DOS i Windows, jest to system oparty na tablicy alokacji plików FAT (File Allocation Table). Pierwotnie stworzony na potrzeby zapisu na dyskietkach, dzięki swojej prostocie trafił do obsługi dysków sztywnych w systemach Microsoftu. System FAT poczštkowo traktował jako jednostkę alokacji danych pojedynczy sektor, w wyniku czego przy 16-bitowej architekturze systemu operacyjnego umożliwiał obsługę dysków o pojemnociach nie przekraczajšcych 32 MB (65536 sektorów).
Obsługę większych pojemnoci umożliwiło dopiero użycie większych jednostek alokacji, nazywanych klastrami (ang. cluster - pęczek, grono). Przy obsłudze woluminów większych od 32 MB wielkoć klastra jest zależna od wielkoci woluminu i w przypadku np. dysku o pojemnoci 1 GB klaster liczy sobie 16 kB, a dysk 2,5 - gigabajtowy wymaga już klastrów o pojemnoci 64 kB. Każdy zapisany plik to trochę zmarnowanej przestrzeni, rednio połowa pojemnoci klastra, bo przecież długoć plików jest wielkociš przypadkowš. W przypadku, gdy dysk służy do przechowywania bazy danych, złożonej z kilku plików po kilkaset megabajtów, nie ma to żadnego znaczenia, ale w przypadku kilku tysięcy plików o różnych długociach, jakie znajdujš się na dysku typowego użytkownika, może to być kilkanacie megabajtów straconego miejsca. A w dodatku system odczytuje całe klastry - w przypadku potrzeby wczytania liczšcego sobie 300 bajtów pliku, np. *.ini, system żšda od dysku odczytu całego klastra. Oprócz straty miejsca jest to również strata czasu. Dzięki rozmaitym rozszerzeniom i protezom (jak np. VFAT) system FAT dotrwał do chwili, kiedy programici Microsoftu zdołali stworzyć 32 - bitowš tablicę alokacji. Zmiana nie tyle jakociowa, co ilociowa dopiero dysk pojemnoci większej od 2 GB wymaga stosowania jednostek alokacji większych od sektora.
O wadach systemu FAT, zwłaszcza w jego microsoftowych realizacjach, można by długo pisać. Oprócz wspomnianych już kłopotów, wywołanych przez zbyt małš liczbę dostępnych jednostek alokacji, poważnš wadš systemu FAT jest silna fragmentacja plików pomiędzy wiele klastrów o bardzo różnym fizycznym położeniu na dysku. Pocišga to za sobš koniecznoć okresowej defragmentacji przy użyciu specjalnych narzędzi programowych, a także powoduje stosunkowo duże prawdopodobieństwo powstawania błędów zapisu, polegajšcych na przypisaniu jednego klastra dwóm plikom (tzw. crosslink), co kończy się utratš danych z jednego lub obu "skrzyżowanych" plików.
Typowym błędem, pojawiajšcym się w systemie FAT, jest również pozostawianie tzw. zgubionych klastrów, tj. jednostek alokacji nie zawierajšcych informacji, ale opisanych jako zajęte. O tym, jak duże jest prawdopodobieństwo tego rodzaju błędów, wiadczy fakt wyposażenia DOS-u od samego poczštku w narzędzie do ich wykrywania i likwidacji (polecenie CHKDSK).
Aby mieć zawsze dostęp do wszystkich danych na partycjach Windows, należy wybrać kompromisowy system plików albo założyć oddzielna partycję z takim systemem na współużytkowane dane.
Systemy plików przedstawiane sš w tablicy partycji jako liczby w systemie szesnastkowym. Ich znaczenie podajemy w tabeli:
System plików |
System operacyjny |
Cechy partycji |
Typ partycji |
FAT12 |
MS-DOS |
Mniejsza niż 32MB |
01 |
FAT16 |
MS-DOS |
Mniejsza niż 504MB; wersja wyższa od 3.3 |
04 |
FAT16 |
MS-DOS, Win 95/95OSR2/98/Me/NT/2000, OS/2 |
Mniejsza niż 2GB (4GB - NT/2000), kończšca się przed 8GB |
06 |
FAT16 |
MS-DOS, Win 95/95OSR2/98/Me/2000, OS/2 |
Mniejsza niż 2GB (4GB W2K), kończšca się poza 8GB |
0E |
FAT32 |
Win 95OSR2/98/Me/2000 |
Kończšca się przed 8GB (dla W2K mniejsza od 127 GB) |
0B |
FAT32 |
Win 95OSR2/98/Me/2000 |
Kończšca się poza 8GB (dla W2K mniejsza od 127 GB) |
0C |
NTFS |
Win NT/2000 |
Zaczynajšca się nie dalej niż na cylindrze 1024 |
07 |
HPFS |
OS/2 |
Mniejsza niż 2GB, kończšca się przed 8GB |
07 |
Ext2 |
Linux |
Zaczynajšca się nie dalej niż na cylindrze 1024 |
83 |
Swap |
Linux |
Dodatkowa oprócz Ext2 |
82 |
NetWare286 |
Novell NetWare |
|
64 |
NetWare3.11 |
Novell NetWare |
|
65 |
Be File System |
BeOS |
|
EB |
Partycja rozszerzona |
Wszystkie |
Zwykła |
05 |
Partycja rozszerzona |
Wszystkie |
Większa niż 8GB lub poza granicš 8GB |
06 |
Okienka na jednej partycji
Istnieje możliwoć zainstalowania okienek na jednej partycji takie rozwišzanie przynosi jednak pewne ograniczenia tzn. powstanie wtedy wspólny dla obu systemów folder Program Files co może wywołać sporo zamieszania oraz co najważniejsze nie jest możliwe uzyskanie korzyci jakie daje NTFS.
Aby nie uszkodzić używanego dotychczas systemu, podczas instalacji Windows 2000 wybieramy opcję Zainstaluj nowš kopię systemu Windows 2000 (instalacja od nowa).
Należy zwrócić szczególnš uwagę by w momencie kiedy program instalacyjny proponuje konwersję partycji do systemu plików NTFS pod żadnym pozorem nie powinnimy się na to zgodzić. W przeciwnym razie Windows 98 przestanie działać.
Po zakończeniu instalacji Windows 2000 i ponownym uruchomieniu komputera ujrzymy nowe menu startowe. Dzięki temu będziemy mogli wybrać, który system chcemy załadować.
Linux na wspólnej partycji z Windows 2000/NT
Każdy, kto do tej pory używał Linuksa zainstalowanego na pierwszej partycji dysku i teraz chce doinstalować Windows 2000, musi się przygotować na spore problemy. Nawet wtedy, gdy oprócz partycji linuksowych na dysku twardym jest wolne miejsce, nie da się zmusić programu instalacyjnego Windows do umieszczenia nowej partycji za dyskami Uniksa. Również próba utworzenia za pomocš narzędzi Linuksa partycji FAT32 i zainstalowania na niej Windows zakończy się niepowodzeniem. Dział pomocy technicznej firmy Microsoft potwierdził możliwoć występowania problemów w opisanej wczeniej konfiguracji. Jeżeli program instalacyjny Okien napotka partycję podstawowš dowolnego typu, próbuje umiecić w jej sektorze startowym menedżera uruchamiania systemu. W przypadku partycji linuksowej z oczywistych względów operacja taka jest skazana na niepowodzenie. W efekcie instalacja Windows zostanie przerwana na etapie próby utworzenia partycji systemowej. Jest to spowodowane faktem, iż instalator Windows nie obsługuje innych systemów plików niż FATxx/NTFS. Rozwišzaniem w tej sytuacji jest Corel Linux lub Winlinux który może być instalowany na partycji Fat32, wišże się to jednak ze znacznym spadkiem wydajnoci.
Jak widzimy na powyższych przykładach instalacja dwóch systemów na jednej partycji jest możliwa lecz bilans zysków i strat wypada na niekorzyć tego rozwišzania. Najbezpieczniejszym i jednoczenie najwygodniejszym sposobem rozwišzania tego problemu jest instalacja systemów na dwóch osobnych partycjach. Wišże się to jednak z koniecznociš zorganizowania miejsca na dysku oraz zastosowaniem rozwišzania dzięki któremu moglibymy wybierać który system ma zostać uruchomiony. Istnieje spora grupa narzędzi które możemy wykorzystać.
Partycjonowanie dysku
Partycjonowanie dysku nie tylko porzšdkuje w pewien sposób dysk, ale także zwiększa wydajnoć pracy podsystemu dyskowego. Podział dysku sprawia, że efektywny czas dostępu do danych w ramach jednej partycji jest krótszy. Granice partycji wyznaczajš jej pojemnoć, a co za tym idzie, zakres, w jakim poruszajš się głowice dysku, odczytujšc lub zapisujšc dane na tej partycji. Trzymanie danych na mniejszej partycji sprawia, że sš one blisko położone na talerzu (lub talerzach) magnetycznym, więc podczas odczytu głowice przesuwajš się na mniejsze odległoci niż w dysku tylko z jednš, dużš partycjš. Praca systemu plików na mniejszej partycji jest szybsza, włanie ze względu na mniejsze rednie odległoci pomiędzy danymi.
Partycja jest to wydzielona do okrelonych celów (np. dla okrelonego systemu operacyjnego) częć twardego dysku. Wyróżniamy trzy "odmiany" partycji:
podstawowe - na nich można zainstalować system operacyjny. Zwykle mamy do czynienia z jednš partycjš podstawowš na dysku (C:), warto wiedzieć, że tabela partycji umieszczana w sektorze MBR (Master Boot Record specjalny sektor rozruchowy, znajdujšcy się tylko na jednym dysku, z którego jest uruchamiany system operacyjny) ma miejsce na cztery tego rodzaju partycje;
rozszerzone - stanowiš odmianę partycji podstawowych, ale ich zadaniem jest "przechowywanie" tzw. dysków logicznych. Służš do ominięcia limitu czterech partycji podstawowych. Dzięki partycji rozszerzonej można w ramach jednego napędu fizycznego utworzyć praktycznie dowolnš liczbę partycji (tzw. dysków logicznych). Jednak pamiętajmy: na dysku może istnieć tylko jedna partycja rozszerzona;
dyski logiczne - dzielš jednš partycję rozszerzonš na częci (praktycznie dowolnš ich liczbę).
Każdy dysk musi zawierać przynajmniej jednš partycję pierwszoplanowš. Niestety, w danym momencie tylko jedna partycja pierwszoplanowa może być aktywna (jest wtedy dyskiem logicznym C). Aby zrozumieć, dlaczego założono, iż tylko jedna partycja może być aktywna, trzeba sobie przypomnieć, co się dzieje w momencie uruchamiania komputera. Otóż wtedy specjalny, zawarty w pamięci BIOS, program czyta tzw. rekord inicjujšcy dysku (MBR master boot record), a wraz z nim tzw. tabelę partycji (partition table). Tabela ta, oprócz samego wykazu partycji, zawiera również informację, która z nich jest aktywna. Odczytany z MBR program czyta swojego "następcę" z tej włanie, aktywnej partycji. Rolš "następcy" zapisanego w rekordzie inicjujšcym partycję (PBR partition boot record) jest załadowanie i uruchomienie odpowiedniego systemu operacyjnego. Jeżeli nie ma takiego systemu, to standardowo jestemy o tym informowani na ekranie.
Ze względu na to, iż klasyczna tabela partycji dopuszcza istnienie tylko czterech tego typu jednostek dyskowych, to w celu przełamania tego ograniczenia wymylono specjalny jej rodzaj tzw. partycję rozszerzonš. Partycja tego typu bez zdefiniowanej struktury nie jest miejscem przechowywania danych. Taka możliwoć pojawia się dopiero, kiedy podzielimy jš na tzw. partycje logiczne. Aby każda z partycji (zarówno logicznych, jak i pierwszoplanowych) mogła pomiecić okrelone pliki danych i programów, musi zostać wczeniej sformatowana, a póniej obsługiwana przez okrelony system plikowy, który jest częciš składowš systemu operacyjnego. Znaczna częć systemów operacyjnych zawiera po kilka systemów plikowych. Wynika to z potrzeby zachowania okrelonych standardów (np. CD-ROM, sieci) i zgodnoci ze starszymi wersjami systemów operacyjnych (np. Windows NT zawiera zarówno obsługę NTFS, jak i starszego FAT).
Narzędzia do partycjonowania dysku.
FDISK jest standardowym programem konfiguracyjnym dysku twardego pod systemami Windows, oprócz braku interfejsu graficznego posiada nie wielkš iloć funkcji:
ˇ utworzenie podstawowej i rozszerzonej partycji DOS;
ˇ utworzenie logicznego dysku w rozszerzonej partycji DOS;
ˇ ustawianie aktywnej partycji;
ˇ usuwanie partycji lub logicznego dysku;
ˇ wywietlanie informacji o partycjach.
W przypadku tworzenia więcej niż jednej partycji, tworzy się partycję rozszerzonš zajmujšcš pozostałš częć dysku. W partycji rozszerzonej można założyć dowolnš iloć następnych partycji poprzez tworzenie dysków logicznych. Po przeprowadzeniu całej operacji nowe partycje należy sformatować.
Fdisk dla Linux'a
Istnieje Linuxowy odpowiednik Fdisk'a spod okienek i charakteryzuje się podobnymi możliwociami.
Wszystkie opisane poniżej programy pozwalajš manipulować na partycjach w sposób, który nie niszczy danych, dozwolone jest dodatkowo przenoszenie danych, przesuwanie, formatowanie, konwertowanie oraz wiele innych operacji. Praktycznie wszystkie programy przedstawione poniżej posiadajš te same możliwoci różnice uwidaczniajš się w iloci obsługiwanych systemów plików, interfejsie użytkownika, szybkoci działania oraz co najważniejsze cenie.
- OS Selector Delux firmy Acronis
- Partition Commander firmy V Communications
- Partition Magic firmy PowerQuest
- Ranisz Partition Manager autorstwa Mikhaila Ranisha
- Disk Druid
Nasze szczególne zainteresowanie wzbudziły dwa programy, które postanowilimy przybliżyć. Pierwszy to Partition Magic drugim za jest Ranish Partition Manager.
a) Partition Magic
Najnowsza ósma już wersja programu Partition Magic'a oferuje całš gamę obsługiwanych systemów plików jedyne czego brakuje to obsługa BeFS, w stosunku do poprzedniej wersji operacje na partycjach przebiegajš bardzo szybko nie bez znaczenia jest też prosty w obsłudze graficzny interfejs. Praca w głównej aplikacji jest skoncentrowana wokół wybranego w danym momencie fizycznego dysku. Centralne okno dialogowe na bieżšco wywietla niezbędne informacje w tym podział dysku na partycje, wykorzystanie dostępnej przestrzeni (systemy plikowe FAT, FAT32, NTFS, HPFS lub Linux Ext2, Ext3, Swap, partycja extended, wolne, inne, nie sformatowane) czy też status (partycje aktywne, ukryte, uruchomieniowe, ukryte uruchomieniowe). Analiza klastra jest funkcjš działajšcš jedynie na partycjach FAT. Wykorzystuje ona fakt, iż podstawowš jednostkš wymienionych systemów plikowych jest klaster. Dany plik na wolumenie FAT zajmuje całkowitš liczbę klastrów, a liczba wszystkich klastrów (oraz ich wielkoć w bajtach) zależy od wielkoci takiego wolumenu.
Wychodzšc z tego założenia analiza klastra pozwala nam dobrać najoszczędniejszy jego rozmiar i odpowiadajšcš temu wielkoć partycji. Po zatwierdzeniu zalecanych zmian wybrana partycja, jeżeli istnieje taka możliwoć (kwestia danych aktualnie rezydujšcych na tejże partycji) jest konwertowana do nowych rozmiarów. Z kolei funkcja sprawdzania poprawnoci (Check) zbliżona swym działaniem do DOS-owych narzędzi typu SCANDISK i CHKDSK potrafi obsłużyć wszystkie standardowe partycje, czyli te z systemami FAT16, FAT32, NTFS i HPFS. W sšsiedztwie funkcji Check znajdujš się:
Copy - (kopiowanie danej partycji do wolnego obszaru dysku, tworzona jest wtedy dokładna kopia zawartoci jednej partycji do drugiej, nowo utworzonej);
Create - (tworzenie nowej partycji na wolnym obszarze dysku, mamy do wyboru, m.in. rodzaj partycji FAT, FAT32, NTFS, HPFS, rozszerzona lub nie sformatowana);
Delete - (kasowanie partycji wraz z umieszczonymi na niej danymi);
Format - (czyli formatowanie wybranej partycji w zadanym systemie plików FAT, FAT32, NTFS, HPFS);
Info - (wywietla informacje o partycji, m.in. zużycie dysku, straty na nie wykorzystanych do końca klastrach, ewentualne błędy wynikłe przy sprawdzaniu partycji, fizyczne położenie partycji na dysku, informacje dotyczšce zainstalowanego na niej systemu plików);
Label - (ustalanie etykiety partycji);
Move - (przesuwanie partycji w granicach sšsiadujšcych z niš wolnych obszarów dysku);
Resize - (zmiana wielkoci klastra i rozmiaru partycji).
b) Ranish Partition Manager
Ranish to propozycja skierowana głównie do bardziej zaawansowanych użytkowników.. Oprócz standardowych informacji o typach i nazwach zainstalowanych partycji udostępniane sš także ich szczegółowe dane. W zależnoci od wybranego trybu wywietlania można zobaczyć liczbę sektorów zajmowanych przez poszczególne partycje lub poczštkowe i końcowe ich położenie w notacji CHS (Cylinder Głowica Sektor). Dzięki prostej budowie programu konfiguracja jest stosunkowo intuicyjna, za użytkownika wspomaga system kolejnych podpowiedzi.
Standardowo możliwe jest za to utworzenie jednej z kilku partycji (FAT16, FAT-32, Extended, BeOS, Linux i Linux Swap). Wraz z programem użytkownik otrzymuje także prosty konwerter partycji typu FAT-16 na FAT32. Oczywicie, aby z niego skorzystać, wymagany jest system Windows 95 OSR2 lub wyższy (np. Windows 98 bšd Windows 2000). Pozostałe systemy nie obsługujš bowiem FAT32.
Największš, niespotykanš u konkurencji, zaletš programu jest możliwoć modyfikacji listy startowych partycji nawet w czasie uruchamiania komputera. Dzięki temu po odtworzeniu jednej z nich (np. z kopii znajdujšcej się na dysku CD-ROM) i ponownym uruchomieniu komputera możliwe jest jej natychmiastowe dołšczenie do listy i uruchomienie z niej systemu operacyjnego.
Ranish Partition Manager umożliwia zachowanie i odtworzenie zawartoci MBR dla dowolnego systemu. Opcja ta ma szczególne znaczenie, gdy pojawiš się problemy po zainstalowaniu programu. Możliwe jest poza tym dowolne uwidacznianie i ukrywanie partycji. Dzięki kolejnej opcji - modyfikacji bufora klawiatury z poziomu programu - został znacznie ułatwiony proces uruchamiania niektórych konfiguracji.
Oprócz powyższych funkcji sš także następujšce funkcje dodatkowe: możliwoć defragmentacji partycji, zmiany rozmiaru bez utraty danych, kopiowania i przenoszenia partycji oraz kontrolowania ich lub całego dysku. Znacznš niedogodnociš jest brak obsługi NTFS5.
Reasumujšc PM oraz RPM wzajemnie się uzupełniajš posiadanie obu narzędzi umożliwia obsługę praktycznie wszystkich systemów plików, sš bardzo szybkie i posiadajš wbudowane Bootmanagery. PM jest produktem komercyjnym RPM jest natomiast w wersji freeware.
Bootmanagery
MENEDŻER ŁADOWANIA (Bootloader, bootmanager lub po prostu loader) to program który odpowiada za wybór systemu operacyjnego podczas uruchamiania komputera. Przeważnie znajduje się na poczštku partycji lub w pierwszych sektorach dysku. Szczególnie przydatny jest w sytuacji, gdy na dysku posiadamy kilka systemów operacyjnych i nie chcemy do uruchamiania każdego z nich używać dyskietek startujšcych. Programy takie dostępne były już wczeniej w takich systemach, jak Linux (LILO - Linux Loader), Windows NT (NTLoader) czy OS/2 (OS/2 Boot Manager). W przypadku dwóch pierwszych większy nacisk położono na funkcjonalnoć i możliwoci, mniejszy - na interfejs użytkownika (który pozostawia wiele do życzenia). Aplikacja zaimplementowana w systemie OS/2 ma już, łatwiejsze w obsłudze, okienkowe menu, niestety, w porównaniu z poprzednimi wymaga do pracy osobnej partycji.
Najpopularniejszym tego typu programem rozpowszechnianym z dystrybucjami Linuksa jest LILO (Linux Loader,lub GRUB). Posiada wiele możliwoci niestety dla poczštkujšcych użytkowników jest doć trudny w obsłudze i konfiguracji. LILO rozpowszechniany jest praktycznie z każdš dystrybucjš Linuksa. Poza tym wszystkie dystrybucje używajš go jako domylnego bootloadera.
Wszystko zaczyna się od programu zawartego w MBR. Ponieważ obszar ten odwieżany jest przy każdej modyfikacji partycji na dysku (tworzenie, usuwanie, zmiana rozmiarów itp.), po zainstalowaniu dowolnego bootmanagera nie można stosować żadnych programów operujšcych na partycjach - np. FDISK, Partition Magic. Nadpisujš one bowiem MBR, a zainstalowany w nim program zamieniany jest na standardowy MBR odwołujšcy się do aktywnej partycji. Z drugiej strony programy takie przydajš się, gdy z jakiego powodu trzeba odwieżyć MBR. Uruchomienie np. programu FDISK z opcjš /mbr powoduje wpisanie do MBR standardowego kodu (programu) zwanego też czasem bootstrap. Przełšcznik ten może się przydać np. użytkownikom, którzy zainstalowali Linuxa z opcjš LILO (Linux Loader) w MBR, za póniej pozbyli się partycji linuxowej, a LILO zostało. Po uruchomieniu FDISK-a z przełšcznikiem /mbr LILO zostanie zastšpione przez standardowy kod bootstrapa. Niestety, nie można go w żaden sposób konfigurować i system zawsze ładowany jest tylko z aktywnej partycji typu primary. Głównym zadaniem bootmanagerów jest zatem uaktywnienie tej partycji primary (może ich być maksymalnie cztery), na której zainstalowany jest system, który chcemy włanie załadować.
Wczeniej przedstawialimy kilka pakietów do partycjonowania, lecz oprócz tego każdy z nich ma wbudowany własny program umożliwiajšcy wystartowanie dowolnego systemu. Obsługa tych programów jest niezwykle prosta i intuicyjna, dlatego też nie opiszemy dokładnie jak przebiega konfigurowanie Bootmanagerów.
Inaczej wyglšda sprawa ustawień w budowanym narzędziu Linux'a - LILO jest ona trochę bardziej skomplikowana i wyglšda tak:
Na LILO składa się program ładujšcy, plik konfiguracyjny /etc/lilo.conf, plik map /boot/map zawierajšcy położenie jšdra i polecenie lilo które czyta plik konfiguracyjny i wykorzystuje informacje pochodzšcš stamtšd do utworzenia lub uaktualnienia pliku mapy i do zainstalowania plików potrzebnych do LILO.
Konfiguracja LILO zapisana jest w pliku /etc/lilo.conf (wcześniej wspomnianym), plik zawiera nazwy systemów jakie mogš być uruchomione oraz wskazuje, w jakim miejscu na dysku znajduje się program uruchomieniowy. Pierwsza linijka okrela konfigurację, jaka jest automatycznie wczytana, gdy upłynie czas okrelony w timeout i jeżeli niema dyrektywy default. Do zmiany domylnego systemu służy opcja default z odpowiedniš etykietš. W przykładowym pliku do default możesz przypisać etykietę linux, suse lub windows. W konfiguracji na obrazku, domylnym systemem, który uruchomi się po upływie 15 sekund jest windows. Zauważ, że czas okrelany jest w 0.1 sekundy. Sekcje zaczynajšce się od image= odnoszš się do Linuksa, a zaczynajšce się od other dotyczš innych systemów np. DOS czy Windows. Istnieje możliwoć przekazywania poprzez LILO parametrów do jšdra. Na przykład zapis append = "mem=128M" w lilo.conf poinformuje że w komputerze masz 128 MB pamięci RAM (niektóre starsze wersje jšdra nie widziały pamięci powyżej 64 MB).
Przykładowy plik lilo.conf:
boot = /dev/hda4
lba32
timeout = 25
prompt
message = /boot/message
default = linux
read-only
map=/boot/map
install=/boot/boot.b
image = /boot/vmlinuz-2.4.13
label = linux
root = /dev/hda4
other = /dev/hda2
label = dos
Najważniejsze opcje oznaczajš:
boot - lokalizacja bootsectora (czyli gdzie ma być zainstalowany LILO)
timeout - czas, po którym LILO załaduje wpis default, podany w decysekundach
default - który wpis ładować domylnie
image - nazwa pliku jšdra Linuksa w katalogu /boot
label - etykieta wpisu
root - lokalizacja głównego systemu plików dla wpisu
other - inny system do zbootowania (poza Linuksem)
message - obrazek w formacie PCX, który LILO wywietla podczas startu
Uruchamianie Linuxa z DOSa
Ta metoda ładowania systemu jest wykorzystywana najczęciej gdy BIOS nie współpracuje z LILO. Aby załadować Linuxa z DOSa wykorzystamy programik Loadlin. Znajdziecie go na płytce instalacyjnej z Linuxem. Zaczniemy jednak od utworzenia katalogu vmlinuz na naszym dysku C. Skopiuj tam plik z kompaktu h:\dosutils\loadlin.exe (gdzie h to CD-ROM) - jest to plik który nam załaduje jšdro, które również musisz skopiować do tego samego katalogu jšdro znajdziesz w h:\dosutils\autoboot\vmlinuz. Bingo to już wszystko, teraz uruchom DOSa, przejd do katalogu c:\vmlinuz\ uruchom program loadrelin komendš:
loadlin c:\vmlinuz\vmlinuz root=/dev/hda2 ro
zauważ, że hda2 to dysk i partycja gdzie jest zainstalowany twój linux, jak masz go zainstalowanego na innych dysku, np.: na SCSI 3 partycji to musisz wpisać innš cieżkę.
Jeli nie chce ci się wpisywać całej tej komendy do wywołania Linuxa możesz utworzyć plik wsadowy z tymi samymi komendami. Nazwij go np.: go.bat i umieć w tym samym katalogi co loadlin.exe czyli c:\vmlinuz\. Póniej wywołasz Linuxa poleceniem go.
Instalowanie wielu systemów operacyjnych na jednym dysku
W ogólnym przypadku proces instalacji kilku systemów na jednym komputerze (na różnych partycjach - takie rozwišzanie uznawane jest za najkorzystniejsze) przebiega według pewnego schematu:
1. Zorganizowanie miejsca na dysku pod nowy OS;
Możemy wykorzystać w zależnoci od naszych potrzeb który z programów od wbudowanych (Fdisk) do komercyjnych produktów (Partition Magic);
2. Zainstalowanie nowego systemu na przygotowanej partycji;
3. Konfiguracja Bootloadera;
W zależnoci od instalowanych systemów możemy także skorzystać z wbudowanych (NTLoader, Lilo) lub pakietowych (Partition Magic, Ranish).
Linux i Windows NT na jednym komputerze
Wbrew opiniom niektórych użytkowników możliwe jest zainstalowanie i używanie na jednym komputerze systemów Windows NT oraz Linux. Jednym z rozwišzań jest skorzystanie z wbudowanego bootloadera Windows NT. Najlepiej jednak w tym celu wykonać kilka poniższych czynnoci.
Najpierw instalujemy Windows NT. Konfiguracja programu startujšcego zawarta jest w pliku BOOT.INI, umieszczonym na partycji systemowej. Ma on strukturę na przykład podobnš do poniższej:
[boot loader]
timeout=30
default=multi(O)disk(0)rdisk(0)partition(2)\WINNT
[operatinq systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="NT Y4"
multi(0)disk(O)rdisk(O)partition(2)\WINNT= "NT Y4 YGAMODE"
/baseyideo /sos
C:\="Tutaj jest DOS"
Interesuje nas sekcja operating systems, z której bootloader czerpie informacje na temat sposobu uruchamiania wybranej konfiguracji. Do sekcji tej dopisujemy linię:
C:\BOOTSECT.LIN="A tutaj jest Linux"
Kolejnym krokiem jest zainstalowanie Linuksa. Wybieramy przy tym instalację LILO, linuksowego programu ładujqcšgo system, który musi się jednak znaleć w sektorze startowym partycji linuksowej, a nie w głównym MBR dysku twardego - w przeciwnym razie stracimy możliwoć uruchomienia Windows NT.
Kiedy Linux działa już poprawnie, musimy jeszcze utworzyć plik BOOTTSECT.LIN, w którym zawarta będzie kopia linuksowego rekordu startowego. W tym celu z poziomu Linuksa wydajemy polecenie:
dd if=/dev/hda3 bs=512 count=1
of=/dosc/bootsect.lin
Zakładamy przy tym, że nasz Linux jest zainstalowany na partycji odpowiadajšcej urzšdzeniu /dev/hda3, natomiast partycja DOS-owa, na której chcemy umiecić gotowy obraz rekordu, została zamontowana w- katalogu /dosc. Ostatnim krokiem jest skopiowanie obrazu w miejsce, wskazane w pliku BOOT.INI. Jeli mamy problemy z uzyskaniem dostępu do dysku Windows (ponieważ jest to na przykład partycja NTFS), możemy użyć jako medium dyskietki, którš odczytamy póniej pod NT. Gdy przebrniemy pomylnie przez ostatnie zadanie, będziemy mogli wybierać Linuksa z menu startowego Windows NT.
Windows 9x, 2000, Linux
Łatwš do zrealizowania kombinacjš jest DOS lub Windows 9x lub 2000 i Linux na jednym dysku. W tym celu najpierw instalujemy Windows, pamiętajšc, by zostawić odpowiedniš iloć wolnego, niespartycjonowanego miejsca na dysku.
W większoci dystrybucji Linuksa proces tworzenia nowej partycji przebiega podobnie. Na pytanie, czy chcemy dysk podzielić na partycje czy w całoci przeznaczyć dla Linuksa, musimy odpowiedzieć, wybierajšc w programie instalacyjnym pierwszš opcję; w przeciwnym razie wszystkie dane umieszczone na partycji z Windows zostanš bezpowrotnie stracone.
Jeli na twardym dysku znajduje się dostatecznie duży obszar nie przypisany do żadnego systemu, Linux go wykryje i zaproponuje umieszczenie tam swoich partycji. Zazwyczaj w tym miejscu tworzona jest duża partycja Ext2 i niewielkš partycja Swap przeznaczona do realizacji pamięci wirtualnej.
WIN95. Idea z WINDOWS 2000 Professional jest podobna.
Drive Boot Start End Blocks Id System
/dev/hda1 * 1 501 402451+ 0c Win95 FAT32 (LBA)
/dev/hda2 502 1002 402482 83 Linux Native
/dev/hda3 1003 1011 72292 82 Linux Swap
Po stworzeniu partycji dla Linux możemy przejć do fazy jego instalacji. Po instalacji wszystkich wybranych pakietów Linux zgłasza komunikat z zapytaniem gdzie ma umiecić LILO. Należy wybrać instalację na głównš partycję Linuxowš (First sector of boot partition). Koniecznie ! W momencie zgłoszenia przez Linux komunikatu czy utworzyć dyskietkę startowš systemu należy jš utworzyć ! Tak więc jestemy szczęliwymi posiadaczami dwóch dyskietek startowych - jedna dla NT druga dla LINUXa.
Uruchamiamy system LINUX z dyskietki startowej stworzonej po instalacji Linuxa (wczeniej należy zmienić opcję bootowania w BIOS z CDROM na FDD). Po uruchomieniu systemu LINUX i zalogowaniu się jako root wydajemy polecenie: # dd if=/dev/XXXX of=/bootsect.lin bs=512 count=1
gdzie:
XXXX - jest identyfikatorem numeru dysku i partycji (w tym przypadku LINUX Native) np.:
hda1 - dysk 1 partycja 1
hdb1 - dysk 2 partycja 1
hdc2 - dysk 3 partycja 2
Korzystajšc z Midnight Commandera (polecenie: mc) nagrywamy plik bootsect.lin znajdujšcy się w katalogu root na dyskietkę NT (podmontowujšc wczeniej napęd FDD poleceniem mount).
Po reboocie zgłasza się ntloader oraz zaczyna się standardowy proces uruchamiania Windows NT Professional. Po zakończeniu poprawnego załadowania systemu kopiujemy z dyskietki startowej WINDOWS plik bootsect.lin do c:\, następnie na c:\ odszukujemy plik boot.ini i poddajmy go edycji na przykład w poniższy sposób:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional"
dodajemy za sekcjš
[operating systems] wpis np.:
C:\bootsect.lin="RED HAT 6.2"
co da ostatecznš postać pliku boot.ini:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional"
C:\bootsect.lin="RED HAT 6.2"
Zapisujemy boot.ini i reboot systemu WINDOWS. Po restarcie powinna być możliwoć wyboru i poprawnego uruchamiania systemów: Microsoft Windows 2000 Professional oraz RED HAT 6.2.
Funkcję bootmanagera pełni darmowy (dostępny w każdej dystrybucji) program LILO (LInux LOader). Po włšczeniu komputera LILO czeka przez okrelony przez użytkownika czas i - jeli nie dokonamy żadnego wyboru ładuje domylnie wybrany system operacyjny.
Ustawienia LILO możemy zmienić, modyfikujšc plik /etc/lilo.conf. Aby zmiany w tym zbiorze odniosły jakikolwiek skutek, należy, po zapisaniu pliku - wydać komendę lilo. Np. jeli chcemy, aby system Windows 95/98 był także uruchamiany przez LILO, musimy na końcu pliku /etc/lilo.conf dopisać następujšce linie:
other=/dev/hda?
label=win95
gdzie hda? oznacza partycję, na której zainstalowano system Windows 95/98, a win95 jest etykietš, którš będzie trzeba wpisać po zgłoszeniu się LILO, aby wystartowany został system Windows. Po dokonaniu powyższych zmian zapisujemy je i aby zostały uwzględnione przy następnym uruchomieniu komputera, wydajemy poniższe polecenie:
lilo -v
Jeli w trakcie uaktualniania LILO nie widzimy żadnych błędów, to możemy następnie zrestartować komputer.
Poniżej zamieszczona została przykładowa zawartoć pliku /etc/lilo.conf:
default=linux
image=/vmlinuz
label=linux
read-only
# restricted
# alias=1
other=/dev/hda1
label=win95
# restricted
# alias=2
Windows i OS/2 na jednym dysku
Korzystanie z Windows i OS/2 na jednym komputerze również nie powinno stanowić problemu. Partycję głównš powinnimy zarezerwować dla Windows, ponieważ OS/2 potrafi wystartować z partycji logicznej, o ile znajduje się ona w obrębie pierwszych dwóch gigabajtów dysku. Cechš charakterystycznš OS/2 jest własny bootmanager, który wymaga osobnej partycji typu primary o rozmiarze około 1 MB na pierwszym dysku. Po zainstalowaniu rozpoznaje on wszystkie zainstalowane dotychczas systemy operacyjne i umieszcza je w swoim menu startowym.
Linux i BeOS
Firma Be przygotowała także linuksowš edycję swego najnowszego produktu. Instalacja wyglšda podobnie jak w przypadku wersji okienkowej. Pierwszym krokiem jest utworzenie katalogu, w którym umiecimy pliki BeOS-a:
mkdir /beos
Następnie kopiujemy plik Be0S4Linux.tar.gz do kartoteki /beos na dysku i rozpakowujemy go. Czynnoć tę rozpoczynamy, przechodzšc do katalogu /beos i wydajšc polecenie:
tar xfvz Be0S4Linux.tar.gz
Na koniec używamy komendy:
do if=floppy.img of=/dev/fd0 bs=512 conv=sync; sync
Spowoduje ona utworzenie na dyskietce dysku startowego BeOS-a. Ponieważ nic nie
zostało zmienione w sektorze startowym partycji linuksowej (BeOS nie został zainstalowany na dysku, a jedynie rozpakowany do katalogu /beos), po wyjęciu dyskietki ze stacji zostanie uruchomiony Linux. Start komputera z umieszczonš w napędzie dyskietkš spowoduje uruchomienie BeOS-a.
Aby korzystać z BeOS-a, majšc już zainstalowanego Linuksa, potrzebujemy 600 MB wolnego miejsca oraz dyskietki startowej.
Instalacja więcej niż dwóch systemów operacyjnych
Sytuacja staje się bardziej skomplikowana, kiedy na dysku pojawia się więcej systemów operacyjnych - DOS-owy fdisk jest wówczas bezużyteczny. Jednym ze sposobów na utworzenie kilku partycji głównych jest wykorzystanie linuksowego programu fdisk. Dodatkowo umożliwia on zmianę identyfikatora partycji (Partition ID) bez jej niszczenia. Obsługa programu odbywa się w trybie tekstowym, dlatego też wiele osób korzysta z okienkowego narzędzia cfdisk, które zapewnia identycznš funkcjonalnoć.
Jeli na komputerze zainstalowane sš więcej niż dwa systemy operacyjne, z reguły ich liczba zwiększa się w sposób ewolucyjny; kolejne systemy dodawane sš jeden po drugim. Praktycznie za każdym razem, kiedy dodawany jest nowy system, okazuje się, że stary podział dysku na partycje nie jest już odpowiedni do nowych potrzeb.
Problemy tego typu możemy rozwišzać za pomocš profesjonalnych narzędzi do partycjonowania dysków, takich jak na przykład Partition Magic albo Ranish Partition Manager. Programy takie oferujš bez porównania więcej możliwoci zwišzanych z zarzšdzaniem dyskami niż fdisk. Między innymi potrafiš one zmniejszać rozmiar istniejšcych partycji bez utraty danych i optymalizować wielkoć klastrów. Bardzo użytecznš funkcjš jest możliwoć konwersji z jednego systemu plików do innego.
Większoć programów do partycjonowania dysków wyposażona jest też w bootmanagera z własnym menu startowym. Same programy za zwykle pracujš w rodowisku Windows lub DOS-a.
Programy współpracy dwóch systemów operacyjnych (emulatory)
Istniejš programy, które umożliwiajš kontrolowanie się systemów operacyjnych między sobš.
Przykładem takiego programu może być program o nazwie SAMBA. Samba służy do łšczenia Linuksa (lub innych systemów uniksowych) z sieciš Microsoft Network. Dzięki temu możemy używać zasobów komputerów działajšcych pod kontrolš systemu Windows z poziomu Linuksa i odwrotnie. Po uruchomieniu pakietu Samba, nasz komputer będzie widoczny w Microsoft Network tak samo jak normalny host z systemem Windows.
Nawet najbardziej zagorzali zwolennicy Linuksa chcš czasem skorzystać z aplikacji napisanych dla rodowiska DOS lub Windows. Z pomocš mogš im przyjć programy DOSEMU i WINE. Zasada działania tych emulatorów jest stosunkowo prosta: uruchamiajš one nowe procesy, które za porednictwem BIOS-u ładujš oryginalny system z DOS-owej partycji lub dyskietki. Takie rozwišzanie jest szybsze w porównaniu z metodami polegajšcymi na tłumaczeniu poleceń DOS-a na jšdro systemu Linuks. Ponadto zapewniajš pełnš kompatybilnoć, ponieważ rodowisko systemu operacyjnego Linuks jest takie samo jak w DOS-ie. Jedyny problem stanowiš bezporednie odwołania do zasobów sprzętowych komputera z wykorzystaniem rozkazów systemowych.
VMWare jest to program, uruchamiany w Win2000 lub WinNT, który działa jak wirtualny komputer, tzn. komputer w komputerze, na którym można uruchomić dowolny system operacyjny. Sztandarowy produkt firmy VMware jest pełnoprawnym symulatorem "komputera w komputerze", umożliwiajšcym jednoczesnš pracę w kilku całkiem odmiennych systemach operacyjnych. Konkurencyjne produkty prezentujš zazwyczaj nieco uproszczone rozwišzanie, skupiajšc się na emulacji jednego, wybranego systemu operacyjnego. Autorzy prezentowanej aplikacji poszli znacznie dalej. Po uruchomieniu programu do dyspozycji użytkownika zostaje oddany nowy, pełnoprawny komputer, wyposażony we własny bios, dysk twardy, pamięć, kartę muzycznš i sieciowš. Pod jego kontrolš uruchamiany jest wybrany przez nas system. To jednak nie wszystko - możliwa jest jednoczesna praca kilku komputerów połšczonych między sobš w sieć. Zalety takiego narzędzia trudno przecenić - tworzenie oprogramowania w architekturze klient-serwer, jego póniejsze testowanie, możliwoć szybkiej wymiany informacji między aplikacjami pracujšcymi na różnych platformach systemowych - to obszary zastosowań, w których pakiet w rodzaju VMware bardzo by się przydał.
Nie ma wersji pod Win98/95; jest natomiast wersja dla Linuxa (która to była pierwsza). Wirtualnemu komputerowi przydzielamy RAM, priorytet dostępu do procesora (High, Normal, Low), ustawiamy z której partycji ma bootować. Możemy też utworzyć wirtualnš partycję i zainstalować na niej nowy system (np. Linux pod Win2000). VMWare ma dostęp do CD-ROMu, drukarki, karty dwiękowej, sieciowej, portów COM i LPT, działa SCSI i IDE, stacja dysków, mysz (emulowana jako PS/2). Wszystko jak w prawdziwym PCecie. Najciekawsze jest to, że VMWare ma swój BIOS (Phoenix).
Win4Lin instaluje się bezporednio w systemie plików Linuksa, zatem wszystkie pliki emulowanego rodowiska (np. dokumenty) sš również dostępne z poziomu Linuksa. Jest to wygodne w porównaniu z VMware, który tworzy wirtualne dyski jako duże, pojedyncze monolityczne pliki dostępne tylko z poziomu VMware. Bez problemu działajš wszystkie popularne aplikacje biznesowe - MS Office, Adobe Photoshop, Lotus Notes, wiele narzędzi programistycznych i innych. Generalnie program będzie działał, jeli nie korzysta z DirectX, protokołów innych niż TCP/IP i specyficznych wywołań systemowych.
Program zawiera również prosty emulator DOS, a teoretycznie możliwe jest uruchamianie Windows 3.x choć niczego na ten temat nie znajdziemy w dokumentacji. Ogromnš wadš jest natomiast brak możliwoci emulacji Windows NT/2000, w tym wypadku jedynym rozwišzaniem pozostaje nadal Vmware.
Win4Lin jest przeznaczony dla użytkowników domowych i do biur. Bardziej wymagajšcy wybiorš zapewne VMware, ale dzięki niskiej cenie i wietnej obsłudze pakietu MS Office wiele osób sięgnie po ten program. Wadš jest koszt Win4Lin - do niewysokiej ceny samego pakietu trzeba doliczyć cenę licencji na Windows 95/98. Kolejna wada to brak obsługi polskich czcionek i klawiatury, choć podobno trwajš prace nad usunięciem tego ograniczenia. Win4Lin będzie znakomicie działał w komputerze z 64 MB RAM, podczas gdy przy takiej konfiguracji VMware pracuje bardzo ociężale.
Wadami Win4Lin sš: jedyny obsługiwany protokół sieciowy TCP/IP, brak obsługi dwięku, portów szeregowych oraz DirectX. Niewielka jest również możliwoć obsługi urzšdzeń zewnętrznych (np. modemów).