Resil jsem, jak na pocitaci s Windows 98 (pouze na prohlizeni Internetu) resit zabezpeceni. Programy (ani antiviry) se pod Win98 uz skoro nedelaji. Rozhodl jsem se nepouzit zadny antivir a cas od casu obnovit system.
Preinstalace trva dlouho, proto jsem se rozhodl pro obnovu z Linuxu. Pocitac ma 4.3GB disk, rozdelil jsem ho na 2 oddily:
- 1,2GB na Win98
- 3,1GB na Linux
Win98 se mi krasne vejde do 1,2GB (a jeste hodne zbyde). Distribuci jsem pouzil Debian 5.0, ten po instalaci samotny zabere 430MB:
Samozrejme, ze by slo Debian jeste vice zmensit, ale 430MB je tak malo, ze nema cenu se s tim dal zabyvat.
Na disk s Linuxem ulozim pomoci dd obraz disku s Win98 a kdyz je potreba, tak ho zapisu zpet na disk.
Instalaci Debianu jsem zvolil minimalni, bez volitelnych soucasti:
Zavadec
Nejdriv ze vseho je potreba upravit zavadec. Hlavni je, nastavit bootovani Win98 jako vychozi a zaheslovat Linux (aby nemohl Windows obnovit kdokoliv). Paranoidni lide mohou pouzit md5. Dale je potreba nastavit lockalternative na true, tim se potlaci zobrazeni zbytecnych zaznamu v zavadeci (zaznamy pro obnovu Linuxu). Muj soubor /boot/grub/menu.lst :
default 0
timeout 5
color cyan/blue white/blue
password MOJE_TAJNE_HESLO
lockalternative=truetitle Microsoft Windows 98
rootnoverify (hd0,0)
savedefault
makeactive
chainloader +1title Obnovit system
root (hd0,1)
kerne /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.26-2-686
lock
Zaloha
Jeste pred zalohou je dobre "vycistit" disk. Nejdrive je potreba disk s Win98 pripojit a pote na nej zapsat "nuly", tim se prazdne misto stane opravdu prazdnym a lze pak komprimovat. Volne misto se smaze programem dd:
mkdir /media/win
mount -t vfat /dev/hda1 /media/win
dd if=/dev/zero of=/media/win/nuly
prikaz dd nakonec skonci chybou. Pote je potreba soubor smazat:
rm nuly
Samotna zaloha se provede nasledujicim prikazem (samozrejme jako root):
dd if=/dev/hda1 | gzip -c –fast | split -b 1024M – /windows.img_
Prikaz je natolik "jednoduchy", ze si zaslouzi vysvetlit.
Dd, cte disk s windows (if). Gzip cte z roury vystup dd a zapisuje ho na standartni vystup (-c), pouziva se nejnizsi komprese (–fast), vystup se opet posila do roury. Z te cte (–) program split a rozdeluje ho na dily o velikosti (-b) 1024MB vystup se uklada do souboru /windows.img_. Takze soubory budou vypadat nasledovne: windows.img_aa windows.img_ab windows.img_ac … windows.img_ba windows.img_bb …
Obnoveni
Ja pouzivam pro obnoveni upraveny skript /etc/rc.local, tento skript se spousti automaticky v prubehu bootovani.
Muj soubor /etc/rc.local obsahuje nasledujici:
#!/bin/sh -e
clear
echo ""
echo "##############################################"
echo ""
echo "Obnovuji system, cekejte prosim…"
echo ""cat /windows.img_* | gunzip -c | dd of=/dev/hda1
echo ""
echo "System byl obnoven, nyni bude pocitac"
echo "restartovan do noveho systemu."sleep 15
rebootexit0
Po zadani hesla v grubu a nabootovani do Linuxu se automaticky spusti obnova (neni nutne se ani prihlasovat). Po obnoveni se pocitac restartuje a je mozne z grubu nabootovat do funkcnich Windows.
Samozrejme se da takto obnovovat jakykoli system, napr. Windows XP.