SouΦasn² poΦφtaΦ umo₧≥uje pro °eÜenφ r∙zn²ch ·loh pou₧φvat r∙znΘ operaΦnφ systΘmy. Jestli₧e jeÜt∞ nedßvno operaΦnφ systΘmy od Microsoftu nem∞ly prakticky ₧ßdnΘ siln∞jÜφ protivnφky, nynφ se objevila vß₧nß konkurence a zaΦφnß si nßrokovat mφsto na naÜich domßcφch poΦφtaΦφch. Mßm na mysli OS typu Unix - Linux a FreeBSD.
Tyto OS pochßzejφ z oblasti server∙, kde jim pat°φ znaΦnß Φßst trhu. Nabφdnout nßm mohou pom∞rn∞ mnoho: znaΦnou spolehlivost, funkΦnost a stabilitu p°i prßci, nenßroΦnost na zdroje a otev°enost zdrojovΘho k≤du. Do nedßvnΘ doby tyto systΘmy nepot°ebovaly grafickΘ u₧ivatelskΘ rozhranφ, proto₧e ve sv∞t∞ server∙ pln∞ postaΦoval asketick² p°φkazov² °ßdek. A₧ s p°φchodem modernφch grafick²ch rozhranφ do Linuxu zaΦala prudce r∙st popularita tohoto OS i mezi u₧ivateli domßcφch poΦφtaΦ∙. Mnozφ instalujφ alternativnφ OS jednoduÜe ze zv∞davosti, n∞komu se pohodln∞ pracuje v Linuxu a hry si pouÜtφ ve Windows. D∙vod∙ m∙₧e b²t mnoho. V Φlßnku bychom cht∞li ukßzat, jak jednoduÜe si mohou tyto r∙znΘ OS rozd∞lit mφsto na pevnΘm disku vaÜeho poΦφtaΦe.
Struktura pevnΘho disku
Na pevnΘm disku jsou informace ulo₧eny "rozporcovan∞" - po sektorech. Sektor, to je minimßlnφ objem dat, kter² mß na pevnΘm disku unikßtnφ adresu. K tomu, aby se informace daly p°eΦφst nebo zapsat na mφsto, kterΘ je pro n∞ urΦeno, je nutnΘ znßt adresu sektoru, kterß se p°edßvß °adiΦi pevnΘho disku. Velikost sektoru je pro vÜechny pevnΘ disky standardnφ - 512 B. Aby se dal jednoznaΦn∞ adresovat sektor dat, je nutnΘ uvΘst t°i Φφsla: Φφslo stopy (cylindru), Φφslo sektoru na stop∞ a Φφslo hlaviΦky. Tento zp∙sob adresace se naz²vß CHS (Cylinder, Head, Sector). Prßv∞ tento zp∙sob byl v prvopoΦßtku realizovßn v BIOS poΦφtaΦ∙, ale kv∙li vznikl²m omezenφm, spojen²m s neustßl²m zv∞tÜovßnφm velikosti pevn²ch disk∙, byl Φasem vym∞n∞n jinou adresacφ - LBA (Logical Block Addressing).
Sektory na disku se zaΦaly oznaΦovat jednφm parametrem - lineßrnφ adresou sektoru, jednoznaΦn∞ svßzanou s jeho CHS adresou: lba = (C*Head's+H)*Sector's + (S-1). DalÜφ r∙st velikostφ pevn²ch disk∙ principißln∞ znemo₧nil adresovßnφ dat na discφch pou₧itφm d°φv∞jÜφch slu₧eb BIOS. Bylo vyvinuto rozÜφ°enΘ rozhranφ BIOS, kterΘ bohu₧el nenφ zp∞tn∞ kompatibilnφ. A starÜφ OS ( jako nap°φklad MS-DOS), kterΘ pou₧φvajφ starΘ rozhranφ BIOS, nemohou p°eklenout omezenφ 8 GB (problΘm 1024 cylindr∙). Äßdn² souΦasn² OS ji₧ nepou₧φvß BIOS, vÜechny majφ vlastnφ ovladaΦe pro prßci s pevn²mi disky. Proto se zdß, ₧e se na n∞ toto omezenφ nevztahuje. Ale pozor: p°edtφm ne₧ je operaΦnφ systΘm schopen pou₧φt vlastnφ ovladaΦ, musφ ho nejprve spustit (nabootovat), proto je ve fßzi poΦßteΦnφho spuÜt∞nφ nucen pou₧φvat BIOS. A prßv∞ to zp∙sobuje omezenφ rozmφst∞nφ Φßstφ mnoh²ch OS za hranicemi 8 GB.
Pevn² disk se d∞lφ na souvislΘ Φßsti, kterΘ naz²vßme oddφly (partitions). Oddφl m∙₧e b²t minimßln∞ jeden, maximßln∞ mohou b²t Φty°i. Jsou to tzv. primßrnφ oddφly (primary partition). Jeden z nich m∙₧e b²t oznaΦen jako rozÜφ°en² oddφl (extended partition). RozÜφ°enΘ oddφly se samostatn∞ nepou₧φvajφ, mohou pouze obsahovat logickΘ jednotky (logical partitions). Jeden rozÜφ°en² oddφl m∙₧e takΘ obsahovat jin² rozÜφ°en² oddφl.
Tento mechanismus umo₧≥uje rozd∞lit pevn² disk na pot°ebnΘ mno₧stvφ oddφl∙. Logick²m jednotkßm se °φkß logickΘ disky nebo jednoduÜe disky. OS jako disk chßpe bu∩ primßrnφ oddφl, nebo logick² disk. NulovΘmu sektoru ka₧dΘho pevnΘho disku se °φkß Master Boot Record (MBR) a obsahuje tabulku oddφl∙ (partition table). Prvnφch 446 bajt∙ MBR je obsazeno startovacφm programem, jen₧ °φdφ spuÜt∞nφ poΦφtaΦe. Dßle nßsleduje tabulka oddφl∙, kterß je dlouhß 64 bajt∙. A nakonec poslednφ dva bajty se pou₧φvajφ jako kontrola.
Tabulka oddφl∙ obsahuje Φty°i zßznamy, ka₧d² po 16 bajtech, kterΘ definujφ primßrnφ oddφly. Ka₧d² zßznam mß nßsledujφcφ strukturu:
struct partition {char active; /* 0x80: bootovacφ, 0: nebootovacφ */ char begin[3]; /* CHS prvnφho sektoru */ char type; /* typ oddφlu */ char end[3]; /* CHS poslednφho sektoru */ int start; /* 32bitovΘ Φφslo sektoru (poΦφnaje od 0) */ int lenght; /* 32bitovΘ Φφslo poΦtu sektor∙ */ }; kde CHS je Cylinder/Head/Sector.
Jeden ze Φty° oddφl∙ se oznaΦφ jako aktivnφ. To znamenß, ₧e bootovacφ program musφ naΦφst do pam∞ti prvnφ sektor prßv∞ tohoto oddφlu a p°edat mu °φzenφ.
RozÜφ°en² oddφl mß takΘ obdobn² MBR (°φkß se mu EBR - Extended Boot Record), kter² uchovßvß tabulku oddφl∙ se dv∞ma zßznamy: jeden se pou₧φvß pro definici logickΘho oddφlu (uvnit° rozÜφ°enΘho), druh² pro definici jeÜt∞ jednoho rozÜφ°enΘho oddφlu. Tφmto zp∙sobem vznikß jakoby °et∞zec z tabulek oddφl∙. Ka₧d² primßrnφ oddφl a ka₧d² logick² oddφl mß bootovacφ sektory (nulov² sektor oddφlu), kterΘ obsahujφ informace o struktu°e souborovΘho systΘmu danΘho oddφlu. Ka₧d² logick² disk je charakterizovßn velikostφ a souborov²m systΘmem. Na jednom logickΘm disku nem∙₧e b²t vφce souborov²ch systΘm∙ (obr. 1).
V Linuxu se pro oznaΦenφ fyzickΘho disku pou₧φvajφ nßzvy za°φzenφ:
╚φslo IDE kanßlu Master/Slave OznaΦenφ
1 Master /dev/hda
1 Slave /dev/hdb
2 Master /dev/hdc
2 Slave /dev/hdd
Ve Windows majφ logickΘ jednotky jednopφsmennΘ nßzvy, poΦφnaje poslednφm obsazen²m pφsmenem primßrnφho oddφlu. Jestli₧e mßme nap°φklad jeden pevn² disk se dv∞ma primßrnφmi oddφly (C: a D:) a s jednφm rozÜφ°en²m oddφlem, ve kterΘm jsou vytvo°eny dv∞ logickΘ jednotky, pak tyto logickΘ jednotky obdr₧φ nßsledujφcφ pφsmena E: a F:. Mimochodem, ve Windows 2000/XP je mo₧nΘ zm∞nit pφsmennΘ nßzvy oddφl∙.
Ve FreeBSD se pro oznaΦenφ fyzickΘho disku s IDE rozhranφm pou₧φvajφ nßsledujφcφ nßzvy:
╚φslo IDE kanßlu Master/Slave OznaΦenφ
1 Master Ad0
1 Slave Ad1
2 Master Ad2
2 Slave Ad3
Programy pro sprßvu oddφl∙
Pro vytvß°enφ a sprßvu oddφl∙ na pevnΘm disku existuje v ka₧dΘm operaΦnφm systΘmu specißlnφ utilita. Od dob MS-DOS se t∞mto utilitßm °φkß fdisk a tradiΦn∞ jsou bez zvlßÜtnφho grafickΘho rozhranφ. A je to pochopitelnΘ - procedura sprßvy je pom∞rn∞ zßva₧nß a p°edpoklßdß se, ₧e ji budou provßd∞t profesionßlovΘ. Z program∙ jin²ch v²robc∙ mohu uvΘst:
* utilitu fdisk (obr. 2; www.23cc.com/freefdisk) - mß standardnφ rozhranφ od Microsoftu, podporuje pevnΘ disky do 128 GB, rozpoznßvß Non-DOS oddφly, umo₧≥uje pou₧φvat zavßd∞cφ program jin²ch OS, k dispozici je i zdrojov² k≤d utility;
* Partition Magic (www.powerquest.com) program s pohodln²m grafick²m rozhranφm, umo₧≥uje m∞nit oddφly pevnΘho disku bez ztrßty ulo₧en²ch informacφ, m∞nit souborov² systΘm oddφlu z jednoho typu na jin² (obr. 3);
* DiskDrake z distribuΦnφ sady Mandrake Linux nebo ALTLinux (obr. 4).
Postup p°i instalaci OS
Dßle budeme zkoumat kombinace nejrozÜφ°en∞jÜφch OS, p°es palubu hodφme zastaralΘ Windows NT4, 95, 3.1 a MS-DOS. Nebudeme si takΘ vÜφmat OS/2 kv∙li jeho malΘmu rozÜφ°enφ.
Windows 9x/Me + Windows 2000/XP
Jako prvnφ (podle doporuΦenφ Microsoftu) instalujeme libovoln² systΘm Windows 9x/Me (obvykle je p°edinstalovßn na pevnΘm disku vaÜeho poΦφtaΦe). Pro n∞j vyhradφme prvnφ primßrnφ oddφl o velikosti p°ibli₧n∞ 1 a₧ 2 GB, souborov² systΘm oddφlu vybereme FAT32. Velikost oddφlu zßle₧φ na tom, jestli bude na tomto oddφlu umφst∞n odklßdacφ soubor Windows a programovΘ soubory. Potom na druh² oddφl, bez volby re₧imu obnovenφ (upgrade) starΘho OS, instalujeme Windows 2000/XP. V tΘto fßzi problΘmy obvykle nevznikajφ a spouÜt∞nφ r∙zn²ch systΘm∙ funguje bez chyby.
Pon∞kud slo₧it∞jÜφ to bude, pokud ji₧ mßte nainstalovan² systΘm Windows 2000/XP a chcete instalovat Windows 9x/Me. K tomu pot°ebujete, aby byl systΘmov² oddφl (na kterΘm se nachßzφ soubory pro spouÜt∞nφ OS pro Windows 2000/XP to jsou ntldr a ntdetect.com) formßtovßn jako FAT16 nebo FAT32. Bootovacφ oddφl (do kterΘho se bude instalovat Windows 9x/Me) takΘ musφ mφt formßt FAT16 nebo FAT32. Pokud tomu tak nenφ, p°φsluÜnΘ oddφly p°ekonvertujeme.
Proto₧e instalaΦnφ program Windows 9x/Me nelze spustit pod Windows 2000/XP, je nutnΘ ho spustit z bootovacφho instalaΦnφho disku Windows 9x/Me. D°φve ne₧ to ud∞lßme, je dobrΘ si vytvo°it zßchrann² disk (Emergency Repair Disk, ERD) pro Windows 2000/XP. Je to spojeno s tφm, ₧e Windows 9x/Me p°epφÜφ bootovacφ sektor a potom nebude mo₧nΘ nastartovat Windows 2000/XP. Pro obnovenφ mo₧nosti spuÜt∞nφ budeme pot°ebovat disk ERD a spouÜt∞cφ diskety Windows 2000/XP (dajφ se vytvo°it pomocφ utility makeboot.exe, nachßzejφcφ se v instalaΦnφ sad∞ Windows 2000/XP). Po instalaci Windows 9x/Me pou₧ijeme ke spuÜt∞nφ Windows 2000/XP spouÜt∞cφ diskety. Na otßzku o re₧imu vybereme obnovenφ p°edchozφ instalace Windows 2000/XP, nato nßm bude nabφdnuto vlo₧it ERD. V d∙sledku tΘto procedury budou p°epsßny soubory bootovacφho oddφlu a p°i p°φÜtφm spuÜt∞nφ si bude moci u₧ivatel vybrat OS Windows 2000/XP nebo Windows 9x/Me. Pokud se tak nestane, je nutnΘ ruΦn∞ zm∞nit soubor boot.ini na disku C:, na konec sekce [operating systems] p°idat nßsledujφcφ °ßdek C:\= "Microsoft Windows".
Po restartu by se m∞la objevit mo₧nost v²b∞ru pot°ebnΘho operaΦnφho systΘmu.
Windows 9x/Me + Linux
Jako prvnφ instalujeme libovoln² systΘm Windows 9x/Me, ale obvykle je ji₧ p°edinstalovßn a zavßd∞cφ program je zapsßn v MBR. Pro Linux je teoreticky dobrΘ mφt dva oddφly: ko°enov² (/) a odklßdacφ oddφl (linux swap). Pro zv²Üenφ spolehlivosti a v²konnosti systΘmu je ·ΦelnΘ vyhradit nevelk² oddφl (20 MB) pro adresß° /boot, ve kterΘm bude umφst∞no jßdro a soubory pot°ebnΘ ke spuÜt∞nφ. Oddφl musφ b²t umφst∞n v prvnφch 8 GB a typ souborovΘho systΘmu pro adresß° /boot musφ b²t ext2. TakΘ vytvo°φme jeÜt∞ dva oddφly: ko°enov² (/) a odklßdacφ oddφl (linux swap). Rozm∞r prvnφho urΦφme z hlediska toho, ₧e ·plnß instalace celΘho systΘmu m∙₧e zabrat vφce ne₧ 2,5 GB.
Pro vytvo°enφ oddφlu vybereme souborov² systΘm ext2, nebo protokolovanΘ ext3, nebo ReiserFS. DoporuΦenß velikost odklßdacφho oddφlu pro souΦasnß jßdra je rovna dvojnßsobnΘ velikosti operaΦnφ pam∞ti RAM (minimßln∞ 128 MB, ale ne vφce ne₧ 2 GB). Jako typ souborovΘho systΘmu vybereme Linux Swap. Tento oddφl se doporuΦuje umis¥ovat blφ₧e k zaΦßtku disku. Jak rozd∞lit pevn² disk v tomto p°φpad∞? Je to mo₧nΘ tak, jak je nap°φklad zobrazeno na obr. 5.
P°i instalaci Linuxu je nutnΘ uvΘst, ₧e zavßd∞Φ Linuxu, nap°φklad LiLo, musφ b²t umφst∞n v MBR. LiLo nahradφ stßvajφcφ zavßd∞Φ a vytvo°φ spouÜt∞cφ menu, kterΘ se vyvolßvß klßvesou TAB p°i bootovßnφ. Zcela jist∞ vytvo°te spouÜt∞cφ disk pro Linux. M∞jte na pam∞ti, ₧e pokud pozd∞ji p°einstalujete Windows 9x/Me, Linux se p°estane spouÜt∞t. Pokud mßte bootovacφ disk pro Linux, nastartujte z n∞j, p°ihlaste se do systΘmu jako root, zadejte p°φkaz lilo a restartujte poΦφtaΦ p°φkazem reboot.
Windows 9x/Me + Windows 2000/XP + Linux
Oba OS od Microsoftu instalujeme tak, jak je to popsßno v odstavci "Windows 9x/Me + Windows 2000/XP". Potom nainstalujeme OS Linux. Pro umφst∞nφ tohoto OS vymezφme prostor podle nßvodu popsanΘho v odstavci "Windows 9x/Me + Linux". Nßsledn∞ obdr₧φte rozd∞lenφ oddφl∙ na disku p°ibli₧n∞ podle obr. 6.
P°i instalaci tohoto OS si musφte vybrat, kam nainstalovat zavßd∞Φ LiLo - do MBR, nebo do prvnφho sektoru oddφlu, na kterΘm je nainstalovan² Linux (root-partition - "/").
Na rozdφl od doporuΦenφ z p°edeÜlΘho odstavce vyberte rad∞ji druhou variantu, tzn. nainstalujte zavßd∞Φ do prvnφho sektoru.
Nynφ je nutnΘ provΘst nßsledujφcφ kroky:
* "namountovat" Φistou neformßtovanou disketu pomocφ Windows FAT, p°φkazem: mount -t vfat /dev/fda0 /mnt/floppy;
* zkopφrovat spouÜt∞cφ sektor Linux na tuto disketu p°φkazem dd if=/dev/hdaX of=mnt/floppy/bootsect.lnx bs=512 count=1, kde hdaX je oddφl, na kterΘm je nainstalovan² Linux;
* restartovat poΦφtaΦ, vybrat ve spouÜt∞cφm menu spuÜt∞nφ Windows 2000/XP;
* zkopφrovat soubor a:\bootsect.lnx do ko°enovΘho adresß°e systΘmovΘho disku (tam, kde jsou umφst∞ny soubory, kterΘ odpovφdajφ za zavßd∞nφ - boot.ini a ntldr);
* p°idat °ßdek c:\bootsect.lnx="Linux" do souboru boot.ini na konec sekce [operating systems], kde c je systΘmov² disk;
* restartovat poΦφtaΦ, v menu vybrat polo₧ku "Linux", kterß se tam objevila.
Windows 9x/Me + FreeBSD
Nejprve instalujte Windows 9x/Me. VyΦle≥te nerozd∞lenΘ mφsto na pevnΘm disku o velikosti minimßln∞ 1 GB. Na toto mφsto nainstalujte FreeBSD. Souhlaste s instalacφ zavßd∞Φe do MBR.
Windows 2000/XP + FreeBSD
Instalujeme Windows 2000/XP, vyΦlenφme volnΘ mφsto pro FreeBSD. Nainstalujeme ho a nastavφme na spuÜt∞nφ z jeho vlastnφho oddφlu, a ne z MBR! "Namountujeme" disketu formßtovanou v DOS do adresß°e /mnt p°φkazem: mount_msdos /dev/fd0 /mnt. Hledßme zavßd∞cφ sektor - je to prvnφ sektor v "/". Pokud nevφte, kter² oddφl je mountovan² jako ko°enov², zadejte p°φkaz "df" a ve sloupci "Mounted onÄ najd∞te "/". V p°φsluÜnΘm °ßdku sloupce "FilesystemÄ uvidφte nßzev za°φzenφ, kterΘ obsahuje po₧adovan² sektor, nap°φklad: ad0s3a.
Zkopφrujeme ho p°φkazem: # dd if=/dev/rad0s3a of=/mnt/bootsect.bsd bs=512 count=1, kde if je odkud, of je kam, bs znaΦφ velikost sektoru, count je poΦet sektor∙ danΘho oddφlu.
Nßsledn∞ obdr₧φme soubor bootsect.bsd, kter² obsahuje pot°ebnou kopii zavßd∞cφho sektoru. Nynφ "rozmountujeme" disketu p°φkazem: umount/mnt.
Restartujeme poΦφtaΦ, zkopφrujeme soubor bootsect.bsd z diskety do ko°enovΘho adresß°e systΘmovΘho disku Windows. Opravφme soubor boot.ini tak, ₧e p°idßme °ßdek na konec oddφlu [operating systems]: C:\BOOTSECT.BSD="FreeDSB", kde C: je systΘmov² disk.
StaΦφ jen restartovat poΦφtaΦ a vybrat v menu pot°ebn² operaΦnφ systΘm.
Windows 9x/Me + Windows 2000/XP + FreeBSD
Pßr OS Windows 9x/Me + Windows 2000/XP instalujeme tak, jak bylo popsßno v odstavci "Windows 9x/Me + Windows 2000/XP". Dßle pokraΦujeme podle doporuΦenφ odstavce "Windows 2000/XP + FreeBSD" pro nastavenφ spouÜt∞cφho menu pro n∞kolik OS.
Windows 9x/Me + Windows 2000/XP + Linux + FreeBSD
PoΦφnßme si jako v odstavci "Windows 9x/Me + Windows 2000/XP + Linux", potom podle doporuΦenφ v odstavci "Windows 2000/XP + FreeBSD". Disk bude rozd∞len p°ibli₧n∞ tak, jak je vid∞t na obr. 7. Nynφ p°i spuÜt∞nφ uvidφte nßsledujφcφ menu (viz obr. 8).
Zßv∞r
Nynφ se vßÜ pevn² disk podobß kukaΦΦφmu hnφzdu nebo zoologickΘ zahrad∞. V jednotliv²ch oddφlech - klecφch - jsou zav°enΘ operaΦnφ systΘmy. Ale nezapomφnejte zßlohovat d∙le₧itß data, proto₧e zvφ°e, kterΘ se najednou dostane na svobodu za hranice svΘ klece, m∙₧e vÜechny ostatnφ zahubit.
Igor Kozlovsk²
SPOLE╚N╔ POUÄ═V┴N═ DISKOV╔HO PROSTORU WINDOWS 9X/ME A 2000/XP
Proto₧e se operaΦnφ systΘmy Windows, umφst∞nΘ na vaÜem poΦφtaΦi, spouÜt∞jφ jednotliv∞, nic nebrßnφ tomu, aby pou₧φvaly spoleΦn² odklßdacφ soubor. Nebo¥ se parametry odklßdacφho souboru ve Windows 9x/Me zadßvajφ v sekci [386Enh] v souboru SYSTEM.INI, m∙₧eme ho otev°φt v libovolnΘm textovΘm editoru a p°idat nßsledujφcφ °ßdky (pokud tam ji₧ jsou, opravφme je):
PagingDrive=C:
PagingFile=C:\Pagefile.sys
MinPagingFileSize=262144
MaxPagingFileSize=262144
Prvnφmi dv∞ma parametry se nastavuje umφst∞nφ odklßdacφho souboru. Zde je C logick² disk, na kterΘm je umφst∞n odklßdacφ soubor Pagefile.sys - nßzev odklßdacφho souboru (cesta m∙₧e b²t i slo₧it∞jÜφ, nap°φklad C:\Folder1\Folder2\Folder3\Pagefile.sys, ale proΦ?).
Nßsledujφcφmi dv∞ma parametry se urΦuje jeho velikost (v KB). ProΦ takovΘ hodnoty? Proto₧e ve Windows 2000/XP se velikost odklßdacφho souboru, kter² se nachßzφ na disku, zadßvß v megabajtech a 1 MB = 1024 KB. Proto kdy₧ zadßme 256 MB, dostaneme 262144 KB.
Mimochodem, je tu jeÜt∞ jeden problΘm. Pokud disk C: nebude dostupn², Windows 9x/Me se nedokß₧φ spustit, budou hlßsit fatßlnφ chybu. Proto je zapot°ebφ dbßt na to, aby souborov² systΘm disku C: byl p°φstupn² pro oba systΘmy Windows bez dodateΦn²ch ovladaΦ∙. Pokud p°esto fatßlnφ chyba vznikne, pou₧ijte spouÜt∞cφ disketu nebo pomocφ rozÜφ°enΘho spouÜt∞nφ spus¥te Windows 2000/XP a jednoduÜe opravte soubor SYSTEM.INI ve Windows 9x/Me.