Archiv rubriky: grub

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.

Jak se dostat do zaheslovaneho linuxu

Kazdemu se obcas stane, ze zapomene heslo a nemuze se tak dostat ke svemu pocitaci. V pripade linuxu je reseni velmi jednoduche. Moznosti jak ziskat root ucet je hodne, ja uvedu pouze dve nejjednodussi.

1) Pomoci GRUBU

  • v menu zavadece vyberte system, ktery chcete nabootovat a stisknete klavesu   e
  • najedte na radek zacinajici slovem "kernel" a opet zmacknete   e
  • na konec dopiste  init=/bin/bash  a potvrdte enterem
  • zmacknutim klavesy   b  spustte bootovani
  • po chvili mate bash prihlaseny pod rootem         
  • Pokud potrebujete zapisovat na disk, spustte prikaz     mount -o remount,rw /
     

2) Editace /etc/shadow

  • z windows nebo live cd editujte soubor   /etc/shadow
  • najdete radek podobny tomuto root:$1$UPg0HxG2$8TvwZQ5i4yBFZW/fP4i54.:13917:0:99999:7::: podtrzeny text smazte – vysledek by mel vypadat asi takto root::13917:0:99999:7::: a soubor ulozte
  • nabootujte do linuxu a prihlaste se jako root (bez hesla)

Doufam, ze toto budete zkouset pouze na svem pocitaci.

 


Aktualizace:
12-un-2008 19:38
– Testovano v distribucich: Debian 4.0, Ubuntu 7.10.
27-cec-2008 14:17 – Pridan navod k zapisu na disk.

Obrazek na pozadi GRUBU

Obrazek pro zavadec GRUB (GRand Unified Bootloader)

Obrazek musi mit rozliseni 640×480 pixelu a 14 barev, format .xpm.gz.

Upraveni obrazku pomoci baliku ImageMagick

Sezeneme obrazek, ktery chceme pouzit a prikazem convert -colors 14 -resize 640×480 obrazek.jpg pozadi.xpm ho upravime.

  • -colors 14 – prevede na 14 barev
  • -resize 640×480 – upravi rozliseni na 640×480
  • obrazek.jpg – zdrojovy obrazek
  • pozadi.xpm – vysledny obrazek

Ted uz jen staci obrazek zkomprimovat gzipem. gzip pozadi.xpm

Upraveni obrazku v GIMPU

Otevreme si obrazek, ktery jsme sehnali v GIMPU. Otevreme Obrazek -> Rezim ->  Indexovana… . A nastavime Maximalni pocet barev na 14. V menu Obrazek -> Velikost obrazku… zmenime rozliseni na 640×480. Pak to ulozime, za nazev dame .xpm.gz.

Zmenseni poctu barev v GIMPU

Zmenseni poctu barev v GIMPU

 

Zmena rozliseni v GIMPU

Zmena rozliseni v GIMPU

 

Ulozeni obrazku v GIMPU

Ulozeni obrazku v GIMPU
 

Instalace obrazku do GRUBU

Jako root vytvorime adresar /boot/grub/splashimages (mkdir -p /boot/grub/splashimages) a nakopirujeme do nej soubor pozadi.xpm.gz. V souboru /boot/grub/menu.lst pridame (nebo upravime) radek splashimage=(hd0,1)/boot/grub/splashimages/pozadi.xpm.gz

  • (hd0,1) – disk na kterem je obrazek
  • /boot/grub/splashimages/pozadi.xpm.gz – cesta k obrazku

Ted uz jen ulozit menu.lst a restartovat PC.

 

Takhle nejak by to pak melo vypadat:

Pozadi v Grubu - gnu head

 V Ubuntu Feisty Fawn jsou ukazkove obrazky v balicku grub-splashimages .


Testovano na Ubuntu Feisty Fawn (7.04).

Odkazy:

Domovska stranka GRUBU
GRUB na anglicke Wikipedii
ImageMagick na ceske Wikipedii
Oficialni stranka GIMPU
Ceska stranka GIMPU
Ceske stranky Ubuntu