Windows User Group - Slovak Republic
Windows User Group - Slovak Republic Windows User Group - Slovak Republic
RSS
mobilná verzia
Windows User Group - Slovak Republic
prihlásenie
meno login
heslo
Automaticky prihlásiť
zabudli ste heslo?
zaregistrujte sa

kalendár podujatí
september 2017 október 2017 november 2017
po ut st št pi so ne
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
dnes 20.10.2017 dnes 20.10.2017

kto je online?
počet anonymných užívateľov: 2
počet prihlásených užívateľov: 1
teraz je online:
Bing [Bot]

Top 10 najčítanejšie
1.Vytvorenie USB boot jed...
2.Oprava MBR sektoru bez ...
3.Windows 7 download
4.HTPC alebo ako si posta...
5.Konzole pro zotavení v...
6.Windows 7 RC v slovenč...
7.Inštalujte Windows z U...
8.Platené vs Zadarmo
9.Panika menom Conficker
10.Windows 7 RC download -...

Windows User Group - Slovak Republic

Bezpečnosť > Ze života

Jak jsem bootoval

Windows User Group - Slovak Republic

aneb co užitečného se dá najít na instalačním CD Windows Vista

 

V dalším článku z volné série "ze života" se dozvíte, co se může stát, když potřebujete sloučit dva diskové oddíly a nedáte si dostatečně dobrý pozor...


Před několika týdny jsem instaloval 64 bitovou verzi operačního systému Windows Vista (edice Home Basic, ale to je nepodstatné) do virtuálního počítače (používám VirtualBox). Jak všichni víte, Windows Vista patří mezi ty "žravější" systémy. Po čisté instalaci ještě tolik místa nezabírají. To se změní až při následné instalaci nejrůznějších aktualizací, kterých bylo vzhledem ke stáří tohoto systému vydáno již mnoho. I přesto postačí virtuální pevný disk o velikosti 20 GB.

 

Problém

 

Soubor virtuálního pevného disku je však třeba někam uložit, což byl můj problém. Můj notebook disponuje pevným diskem o kapacitě 120 GB, jehož části byly jednotlivým písmenům diskových jednotek přiřazeny způsobem znázorněným v tabulce 1.

 

Písmeno Velikost Volné místo Název
C 20 GB 2 GB Windows XP
D 16 GB 5 GB windows 7
F 30 GB 4 GB DATA
G 40 GB 5 GB Windows Vista
H 10 GB 2 GB (EXT3) Ubuntu
Tabulka 1: Přiřazení písmen jednotlivým diskovým oddílům

 

Z tabulky je patrné, že pro uložení souboru virtuálního pevného disku byly nejvhodnější oddíly s Ubuntu a Windows 7. Virtuální počítač byl pro mě v danou chvíli důležitější než mít čtyři operační systémy na jednom stroji, tudíž jsem byl ochoten tyto oddíly obětovat. Bohužel, soubor virtuálního pevného disku při instalaci aktualizací narůstal a narůstal, až jeho velikost přesáhla 16 GB a nevešel se ani na větší s obou oddílů. Bylo nutné nějaké místo urychleně vytvořit. Jedinou možnost jsem viděl ve sloučení výše zmíměných oddílů, čímž by vznikl prostor o kapacitě 26 GB, který už snad bude dostačovat.

 

Slučování oddílů

 

Podíval jsem se tedy do Správce disků, abych se dozvěděl, jak jsou oddíly rozloženy na fyzickém zařízení pevného disku. Potěšující zpráva byla, že oddíly s Windows 7 a Ubuntu se nacházely těsně za sebou, díky čemuž bylo samotné sloučení možné. Správce disků mě akorát nemile překvapil tím, že je odmítal sloučit. Rozhodl jsem se použít těžší kalibr v podobě programu gparted, který je obsažen na instalačním CDčku linuxové distribuce Ubuntu.

 

Z informací, které zobrazil gparted a které vidíte v tabulce 2, jsem okamžitě pochopil, proč Správce disků nechtěl oddíly sloučit, což od něho bylo správné. Oddíl s Ubuntu byl primární, ale oddíl s Windows 7 logický. Logický oddíl je fyzický reprezentován tak, že je vložen do primárního oddílu typu Extended. Protože primární oddíl typu Extended může obsahovat v podstatě nekonečné množství logických oddílů, padá tím omezení na maximální počet částí, na které je možné podle schématu MBR pevný disk rozdělit.

 

Typ oddílu Velikost Název
Primární 20 GB Windows XP
Primární 40 GB Windows Vista
Primární 10 GB Ubuntu
Primární (Extended) 46 GB Obsahuje logické oddíly "Windows 7" a "DATA"
Logický 16 GB Windows 7
Logický 30 GB DATA
Tabulka 2:Fyzická struktura oddílů

 

Sloučení dvou oddílů, ač jeden z nich byl primární a jeden logický, nevypadalo příliš složitě. Prostě zruším primární oddíl, čímž vznikne před logickým oddílem (a tedy i primárním oddílem typu Extended) volné místo. Potom posunu začátek oddílu Extended tam, kde začínal právě odstraněný primární oddíl s Ubuntu.

 

Vše proběhlo hladce, stačilo jenom restartovat do Windows (XP nebo Vista) a začít využívat prostor nového oddílu. Restart ale neproběhl úspěšně. Důvodem byl fakt, že mým zavaděčem se po instalaci Ubuntu stal GRUB, který si zřejmě na oddíl s linuxovou distribucí ukládal nějaká data. Jelikož tento oddíl již neexistoval, data GRUBu byla v trapu, na což zavaděč celkem logicky reagoval chybovou hláškou.

 

Instalační CD Windows vista a jeho skryté možnosti

 

Tato situace mě nijak nevyvedla z míry. Poškozen je pouze spouštěcí kód hlavního zaváděcího sektoru (Master Boot Record - MBR) a případně ještě kód prvních sektorů některých diskových oddílů. Vše napraví Konzole pro zotavení se svými příkazy fixmbr a fixboot. Naneštěstí jsem nemohl najít instalační médium k Windows XP, ze kterého bych se do Konzole pro zotavení dostal. Nakonec nezbývalo než prozkoumat, jaké záchranné funkce vývojáři integrovali do instalačního CD k Windows Vista.

 

Naštěstí i instalační médium k Windows Vista obsahuje něco velmi podobného Konzoli pro zotavení. Spouštění tohoto programu je lehce netriviální, protože musíte předstírat, že chcete Windows Vista nově nainstalovat a předtím, než samotný proces instalace zahájíte, je nutné stisknout kombinaci klávse [Shift] + F10. Toto magické zaklínadlo způsobí spuštění příkazové řádky. Zajímavé je, že o tomto kouzlu jsem se čirou náhodou dozvěděl den před incidentem, který popisuji v tomto článku. Jeden nikdy neví, kdy se mu náhodou nabyté informace mohou hodit.

 

Ihned po zobrazení známého černého okna interpretu příkazů cmd.exe jsem vyzkoušel fixmbr a fixboot. Moje představa, že tím se všechno vyřeší, byla naivní a mylná. Windows tyto příkazy totiž vůbec neznala. Bylo mi divné, že by vývojáři na něco takového zapomněli, a tak jsem zkoumal adresářovou strukturu a hledal nějaké .exe soubory, které by v sobě mohly skrývat funkce pro obnovu obsahu bootovacích sektorů.

 

Nakonec jsem objevil příkaz bootsect nacházející se ve složce D:\boot, kde D bylo písmeno mechaniky CD-ROM (uhodl jsem je, neznám žádný interní příkaz příkazového řádku, který by zobrazil dostupné diskové jednotky a jejich písmena). Příkaz je to vskutku mocný a pokrývá funkčnost fixmbr i fixboot. Jeho syntax je následující:

 

bootsect TYP_SEKTORU UMÍSTĚNÍ [/mbr] [/force]

 

Pole TYP_SEKTORU může nabývat hodnot /nt52, nebo /nt60 a udává, jakým kódem se má nahradit obsah bootovacích sektorů diskových oddílů. /nt52 nahrazuje kódem kompatibilním se zavaděčem ntldr, který používají Windows XP a Windows Server 2003. /nt60 způsobí nahrazení kódem kompatibilním se zavaděčem bootmgr, který používají Windows Vista a novější.

 

UMÍSTĚNÍ určuje, obsah jakých sektorů se má přepsat. Může nabývat následujících hodnot:

  • ALL - opraví se obsah všech oddílů.
  • SYS - opraví se obsah pouze systémového oddílu, pokud jej systém rozpozná. Myslím si, že systémový oddíl je ten, který je v tabulce oddílů v hlavním zaváděcím sektoru označen jako aktivní.
  • X: - X je písmeno diskové jednotky, jejíž bootovací sektor se má opravit.

Pokud je nepovinný přepínač /mbr přítomen, nahradí se i kód hlavních zaváděcích sektorů všech pevných disků počítače. Parametr /force určuje, zda se mají změny sektorů provádět i na oddíly, které jsou přístupné pod nějakým písmenem, a tedy na nich může mít nějaký program otevřené soubory.

 

Pomocí bootsect /nt60 ALL /mbr /force jsem opravil zaváděcí kód ve všech bootovacích sektorech i v MBR. Potom už Windows Vista začala psát smysluplné chybové hlášky typu "chybí bootmgr" či "nemůžu najít BCD". Nebylo těžké změnit aktivní oddíl na oddíl s Windows Vista a nakopírovat naň BCD i bootmgr. A Windows Vista vesele bootovala.

 

Závěr

 

Bohužel s windows XP jsem takové štěstí neměl (připomínám, že na strji jsem měl nainstalovány jak Visty, tak XPčka). Ať jsem se snažil, jak jsem chtěl, opravoval jejich bootovací sektor, jak jsem uměl, počítač se vždy po vybrání položky "Starší verze operačního systému" restartoval. Nakonec jsem jsem své snahy vzdal a spokojil se s windows Vista.

 

Z tohoto příběhu jsem si přinesl několik zajímavých a užitečných informací ohledně možností instalačního CDčka Windows Vista. Jelikož schopnosti Konzole pro zotavení přebírá v podstatě plnohodnotná příkazová řádka, bylo by teoreticky možné vytvořit si z instalačního CD (které podle mnoha zdrojů lze snadno přenést na USB flashdisk, ze kterého je pak možné nabootovat) velmi mocný záchranný systém, který dokáže nejen obnovit poškozené bootovací sektory, ale i zbavit počítač malware a zálohovat důležité soubory. Tuto domněnku však nejdříve musím potvrdit dalším výzkumem.

Windows User Group - Slovak RepublicWindows User Group - Slovak Republic Martin Dráb | pondelok 28. decembra 2009 18:51 | Prečítané: 6804 x | neohodnotené |
Windows User Group - Slovak Republic
Windows User Group - Slovak Republic
RE: Jak jsem bootoval reagovať

iba malá poznámka, systém WinXP ani nemohol byť po procese obnovy MBR funkčný, pretože bol na obnovu použitý príkaz " bootsect /nt60 ALL /mbr /force" a nie príkaz "bootsect /nt52 ALL /mbr /force".

Vysvetlenie ste si napísal sám tu, citujem:

"Pole TYP_SEKTORU může nabývat hodnot /nt52, nebo /nt60 a udává, jakým kódem se má nahradit obsah bootovacích sektorů diskových oddílů. /nt52 nahrazuje kódem kompatibilním se zavaděčem ntldr, který používají Windows XP a Windows Server 2003. /nt60 způsobí nahrazení kódem kompatibilním se zavaděčem bootmgr, který používají Windows Vista a novější."

Otázkou zostáva, čo by sa stalo, keby bol použití príkaz "bootsect /nt52 ALL /mbr /force", predpokladám, že WinXP by bol funkčný, ale nie WinVista ani Win7.

Ale takéto experimenty by som rozhodne netestoval na stroji, kde sú nejaké dáta, resp. by som ich odzálohoval niekam inam a až potom to testoval.

snehuliak-1 streda 06. januára 2010 15:15
Windows User Group - Slovak Republic

 
Windows User Group - Slovak Republic
Dráb Martin
Dráb Martin
Windows User Group - Slovak Republicmartin.drab@secit.sk
Dráb Martin332970040
Dráb Martinwww.secit.sk
Windows User Group - Slovak Republic
Windows User Group - Slovak Republic
moje rubriky:
Windows User Group - Slovak Republic
vyhľadávanie v blogu autora

vyhľadávanie

Gopas kurzy

sponzori








facebook


Windows User Group - Slovak Republic
Windows User Group - Slovak Republic
Windows User Group - Slovak Republic

Copyright © 2008 Windows User Group Slovensko
podmienky používania prehlásenie o súkromí

Windows User Group - Slovak Republic domov Windows User Group - Slovak Republic o nás Windows User Group - Slovak Republic podujatia Windows User Group - Slovak Republic odkazy Windows User Group - Slovak Republic informačné kanály Windows User Group - Slovak Republic
Windows User Group - Slovak RepublicPageRank ikona zdarma Valid HTML 4.01 Transitional