Obnova Windows 98 z Linuxu

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. 1,2GB na Win98
  2. 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:
df
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:
vyber programu

 

 

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=true

title                Microsoft Windows 98
rootnoverify    (hd0,0)
savedefault
makeactive
chainloader    +1

title                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

zavadec

 heslo v zavadeci

 

 

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
reboot

exit0

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.
 
obnova

obnova

 

Samozrejme se da takto obnovovat jakykoli system, napr. Windows XP.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.