
Dohady kolem obsahu boot sektoru
Prosím o vyjádření k problematice obsahu boot sektoru na systémovým a nesystémovým disku ve smyslu diskuse ve vláknu http://pc.poradna.net/q/view/413171-win-xp-si-prir adilo-pismeno-j
Pořád se mi zdá, že tam dvě strany mluví o něčem jiným. Děkuji.
Pavel
no tak uplne po lopate ako pre maleho chlapca, ktory ma potrebu sa hadat , obsah boot sektoru po naformatovani particie:
mozes konfrontovat napr. tu:
A Disk Editor View of the NTFS Boot Sector
a ak ta tak velmi zaujima spustitelny kod, tak tu:
An Examination of the (Assembly) Code
jednoznacnejsie uz neviem ako to chces
Pokud se vrátíme k počátku sporu, šlo o to, zda je obsah boot sektoru na systémovým a nesystémovým disku stejnej nebo ne. Já tvrdím, že obecně se liší a záleží na tom, čím byl disk formátován.
Soudím, že ty tvrdíš, že obsah boot sektoru se neliší v případě systémovýho a nesystémovýho disku? Je to tak?
Taky jsem psal, že obecně se obsah těxhto souborů liší, tj. může být operační systém, ve kterým se obsahy neliší.
Tolik tedy moje vyjádření.
Pavel
Vypisal si bootsektor oddielu, nie MBR. Takze u takeho disku este neznamena ze to bude bootovat, ptz ak je MBR prazdny tak bootovat sa nebude. A z naformatovanej particie sa tiez nic bootovat nebude ptz v nej neni subor ntldr atd, takze ten bootsektor co si vypisal je tam po formatovani uplne zbytocne.
P.S. a nenapisal si ze cim si to formatoval. Instalator po formatovani tam samozrejme bootsektor nacpe, to ale neznamena ze to tam bude po formatovani vzdy. Nejaky linux, prikaz format, tam samozrejme windowsovsky bootsektor nenacpe
ja tvrdim, ze v boot sektore je vzdy spustitelny kod a rovnako, ze nie je ziadny rozdiel medzi boot sektorom systemoveho a nesystemoveho disku, pretoze ci je disk systemovy je len pojem z pohladu OS a nijako to nezavisi od filesystemu
ktory boot sektor bude nacitany je zalezitostou MBR
co si do certa uz neotvoris nejaky diskeditor a nepozries sa, takto tu predostieras len svoje domnienky a k nicomu to nevedie
140418
To mi dáváš sežrat naprosto zbytečně, to jsem nikdy netvrdil.
Protože já to řeším obecně, ne konkrétně v mé situaci na mým disku.
Pavel
no, a to mi povedz kde sa tu hovori o systemovom a nesystemovom disku
vypis, boot sektora, ktory som ti dal bol z novo formatovaneho disku, takze v ziadnom pripade nejde o systemovy disk, ja naozaj neviem o co ti ide, mas tam presne ten kod, ktory je zodpovedny za volanie NTLDR,t.j. ked sa z novo formatovaneho disku pokusis bootovat, dostanes znamu hlasku NTLDR is missing pretoze sa na nom nenachadza NTLDR ale kludne nan mozes prekopirovat obsah ineho systemoveho disku a win nabehne
okrem toho sa tu bavime dost nepresne, pretoze z pohladu MS je systemovy disk ten kde sa nachadza NTLDR a boot disk ten kde sa nachadza adresar Windows, to len preto aby nedoslo k nedorozumeniu
mam pocit ze je zbytocne dalej nieco vysvetlovat, pretoze jednoducho pochopit nechces
Na konci toho citovaný odstavce, konkrétně:
Ano, v tomto konkrétním případě je to tak, jak říkáš. Program, kterej ten disk formátoval mu evidentně nastavil stejnej obsah boot sektoru jako pro systémovej disk, i když tento není. Ale to přece nic nedokazuje. Já tvrdím, že obecně se obsah boot sektorů (sytémovej/nesystémovej disk) liší. Obecně. Ne tedy při formátování ve WinXP, ale obecně.
No a my nevíme, jakým postupem byl formátován disk tazatele. To jen na okraj.
Pavel
Pavle, kdyz se k tomu o vikendu dostatnu, zkusim zaexperimetovat s grubem a ext3 ve virtualnim prostredi a zkusim si pocist v prvnich 512 bitech tech disku.
OK, to bude poučný. A sesumíruj to, prosím, pro normální lidi. Akorát navrhuju podrápat se v 512 bytech, to bude přínosnější
Pavel
UltraOT: Jak to tady čtu, napadlo mě jediné: normálním lidem je obsah boot sektoru naprosto volný...
obsah bootsektoru je dany:
1. filesystemom
2. operacnym systemom, ktory je pomocou tohoto bootsektora zavadzany
ziadny rozdiel systemovy/nesystemovy neexistuje
mozes si dalej zit vo svojich predstavach
HOWG
Proč zakládáte další vlákno? Ono nešlo pokračovat v plodné debatě v původním?
Protoze puvodni dotaz byl o necem jinem, tak Pavel nechtel OT debatou pokracovat tam. Navic takhle je to snaze vyhledatelne, v pripade potreby.
Jak mám chápat tohle:
já jsem zatím žil v domění, že NTLDR je v XP stejně jako ve W2k
XP nemám, jinak bych se podíval
citát je zkopírovaný z tohoto:
http://thestarman.narod.ru/asm/mbr/NTFSbrHexEd.htm
Taky mi to přijde divně formulovaný. V XPčkách NTLDR je.
Pavel
ntldr: v nt4/w2000/xp je, liší se podle servicepacku - zvláště v případech kdy ms zvětšoval podporu pro maximální velikost bootovacího oddílu - ntldr nebyly kompatibilní.
bootsektor: co tuším, obsahuje jména bootovacích souborů které se mají vyhledat a zavést (iosys, msdos.sys, ibmpc.sys, ... ntldr, + název filesystému, + chybové hlášení když se na bootovacím oddílu boot-soubory nenajdou)
co tam zapisuje linux formátující na fat/fat32 - asi něco podobného, vodoznak ms pochopitelně není povinný.
zdejší odkazy nečtu, anglicky neumím, tak nevím jestli to tu někde bylo zmíněno.
Boot sector asi tezko bude obsahovat jmena, protoze zavadec nic takoveho nechape. Mel by obsahovat pointer kamsi do disku (tedy sektor). kde se nachazi zavadec operacniho systemu.. Ale jenom lovim z hlavy, uz dlouho je tomu, co jsem o tom neco cetl.
http://www.cknow.com/cms/vtutor/dos-boot-sector.ht ml
Čili, buď je tam kód, kterej vypíše "není systémový disk, bla bla", nebo je tam kód, kterej pokračuje v bootování. Z toho mi dedukcí vyplynulo, že obsah se liší.
Pavel
nie, je tam jediny kod, v pripade ze sa tam nachadzaju systemove subory (konkretne IO.sys) tak sa pokracuje v bootovani, ak nie vypise sa chybova hlaska
Bootsektorov je na disku viac:
1) MBR = master boot sektor (nulty sektor).
2) bootsektor ma aj kazdy oddiel (prvy sektor oddielu)
Jedina spravna odpoved na tvoju otazku je: v bootsektore je to, co tam niekto zapisal.
MBR obsahuje tabulku oddielov, a hlavny bootovaci kod. BIOS po POST nacita MBR z disku ktory je nastaveny ako bootovaci, a spusti ho. Predtym otestuje ze ci v tom MBR vobec je platna hlavicka, ked nie tak BIOS pokracuje nacitanim MBR z dalsieho zariadenia v boot order BIOSu, alebo vypise "invalid disk" apod.
Standardny kod v MBR robi to, ze si v tabulke oddielov pozre ktory oddiel ma flag active, a nacita bootsektor aktivnej particie, a spusti ho. (alebo error invalid disk ak neni ziadna aktivna).
Bootsektor v oddieli v ktorom je WinXP (t.j. nie MBR) sa snazi potom najst v tom svojom oddieli subor ntldr (tu uz tento bootsektor musi poznat filesystem ptz uz sa pracuje na urovni suborovej), nacitat a spustit ho, atd.
Vyssieuvedene bootsektory sa zapisuju pri instalacii OS, MBR len na ten disk ktory je bootovaci, a bootsektor particie len na aktivnu particiu.
Standardny MBR kod sa da zapisat pomocou fdisk /MBR (plati pre DOS), alebo pomocou fixmbr v konzole pre zotavenie WinXP, alebo pomocou inych partition toolov. bootsektor particie vo WinXP konzole pre zotavenie napr. pomocou fixboot.
BTW. k tomu inemu threadu, MBR ani ziaden iny bootsektor nema nic spolocne s pismenom disku. Pismeno disku je vyhradne vec OS (konieckoncov napr. linux ziadne pismena nema, tak to je spravne, na rozdiel od dementnych DOSWIN hraciek)
v zasade suhlas, az na to ze bootsektor sa pri formatovani zapise vzdy, nie len na aktivnu particiu
Samo sa nic nezapise. Zapise ho program ktorym formatujes, a otazka je ze co do neho zapise. Zapisovat tam nejaky funkcny bootovaci kod nema zmysel (ptz na tej particii nic neni tak z nej neni co bootovat a za druhe tool od tretej strany nie od vyrobcu OS tam ani nema co zapisat - tretia strana nevyraba ziaden OS a teda nema co bootovat). Ked tam formatovanie pod Win zapisuje funkcny kod tak to je cisto vec microsoftu, iny OS alebo formatovaci tool tam kludne moze zapisat nuly alebo co.
Aj keby tam bol funkcny bootovaci kod XP, tak pri pokuse o jeho spustenie (nastavenie tej particie ako aktivnej a pokus o nabootovanie) skonci hlaskou ntldr is missing, ptz na tej sformatovanej particii samozrejme neni ziaden ntldr subor, a myslim ze nikde inde ako na tej jednej particii subor ntldr XP-ckovy bootkod hladat nebude.
P.S. To ze bootsektor sa zapise len u aktivnej particie som pisal k tomu ze co zapisuje kam instalator OS. Instalator to tam zapise tusim aj ked zvolis pri instalacii ze neformatovat, ale zavisi od instalatora, kazdy vyrobca OS si moze instalator urobit jak chce.
samozrejme s tym plne suhlasim, staci vsak na tu particiu dokopirovat ntldr, ntdetect a boot.ini a boot proces pokracuje standardne
samozrejme, zalezi co tam nastroj, ktory to formatuje zapise ale zatial, nemam poznatok ze by nejaky nastroj zapisoval nieco ine ako standardny kod, pokial som si stacil vsimnut, vsetky bezne pouzivane nastroje tam zapisu rovnaky spustitelny kod, iste, vynimka a neda vylucit ale je to nanajvys nepravdepodobne
Ano, ked tam das ntldr atd subory tak to moze potom aj bootovat (ak je v boot.ini spravny odkaz na oddiel kde je OS).
K tomu formatu: Fakt myslis ze prikaz format v linuxe tam zapise nejaky kod na ktory ma copyright microsoft?
Formatovanie neni len o NTFS ale formatovat sa da aj na FAT32 a aj v linuxe. Napriklad 
P.S. inac napr. vista musi do toho bootlboku zapisat nieco ine, ptz tusim ze vista uz nepouziva subor ntldr. Ale neviem zhlavy nie som si isty
vsak som vyssie pisal:
to je predsa uplne jasne, tu sa vsak jednalo o problem boot sektor a systemovy disk, co je uplny nezmysel
Ano tie 2body su spravne. A z toho vyplyva ze neexistuje ziaden "standardny kod" (pisal si v predch.prispevku ze formatovaci tool zapise "standardny kod")
Existuje bootsektor pre XP, iny bootsketor pre visty, bootsektor pre grub alebo co, atd.
Formatovaci tool tretej strany by tam tazko zapisal nieco rozumne, kedze formatovaci tool nemoze vediet ze co chce potom uzivatel z tej particie bootovat, ci visty alebo linux alebo co. Mozem formatovat pod XP novy oddiel na ktory potom dam linux alebo grub apod.
, je to uplne fuk, ptz bez toho aby som na tu particiu nainstaloval nejaky OS, sa ten bootsektor nebude spustat.
Vpodstate je to jedno co tam zapise formatovaci tool (kludne nech si tam zapise aj kod ktory vypise "ahoj debil bootojes z blbej particie" ked sa to niekto pokusi spustit
Dolezite je to, aby instalator OS zapisal pri instalacii do bootsektoru particie spravny kod, aky potrebuje ten konretny OS ktory sa do tej particie instaluje.
Ja nejak nechapem otazku mam pocit ze bolo nepochopene ze co to je bootsektor a co to je master boot record a ze aj v nom je bootsektor a ako to vsetko funguje tak som to vsetko napisal a ani som poriadne necital diskusiu. Odpovedal som formou ze co kde je, a co sa odkial spusta, ptz myslim ze potom uz clovek s informaciami ktore som napisal by si mal vediet uz sam posudit ze jaky ma vlastne problem a ako ho riesit
samozrejme, kazdy nastroj moze zapisat co chce, povodny thread hovoril o XP, preto som o inych OS nic nerozoberal, a ani som nerozoberal boot proces, pretoze predpokladam, ze taketo zakladne znalosti tu kazdy ovlada,vyjadroval som sa len k problemu systemovy/nesystemovy disk, teraz sa tato debata ubrala uplne inym smerom, ktory nema nic spolocne s povodnym problemom
Ja si myslim ze debata neni od veci ptz mu umozni pochopit ze co je v bootsektore a aj preco. Z diskusie aj vyplyva ze v bootsektore oddielu na ktory nikdy neinstaloval OS moze byt cokolvek, ptz nikto nemoze vediet ze s cim bol ten jeho "nesystemovy disk" (resp. nie disk ale oddiel) formatovany.
P.S. a v pripade ze chce z noveho oddielu nieco bootovat tak nech spusti instalator a nemusi riesit ze co bolo v bootsektore predtym... A ked nechce z neho bootovat, tak potom nemusi riesit ze co tam je :)
Ano je mozne ze to standardne formatovanie vo WinXP tam da funkcny boot-kod pre XP, ja sa nehadam. V tom pripade ma na kazdom oddieli disku rovnaky kod v bootsektore, ak ich vsetky formatoval z XP.
s tym plne suhlasim, ja len tvrdim, ze nie je rozdiel systemovy/nesystemovy, pretoze z pohladu formatovania(samozrejme rovnakym nastrojom) tu nie je ziadny rozdiel
nechce se mi moc rozepisovat, ještě teď je mi ze serverovny zima (mám tam svoje testovací počitadlo).
jsem zvyklý logické disky vytvořit (a formátovat) nějakým acronisím disk directorem z cd, nikdy nativním diskmgmt z windows.
- když vytvořím další oddíl fat16, zkopíruju do něj 3 boot soubory (boot.ini, ntdetect.com, ntldr), bootovacím acronisím cd opravím flag "active" na tento oddíl, nenabootuju - místo toho dostanu jen chybové hlášení "Non-system disk..." a winimagem zobrazený začátek disku 512byte je prázdný:
![[http://pc.poradna.net/file/view/1704-boot-e-no-png ]](/file/view/1704-boot-e-no-png)
- testovací oddíl na ntfs překonvertovat nešel, tak jsem ho smazal a vytvořil nový ntfs, nakopíroval znovu boot soubory, flag oddílu opravit na bootovací (vyzkoušeno se všemi nesystémovými oddíly), xp normálně nabootovaly. obsah acronisího bootsektoru:
![[http://pc.poradna.net/file/view/1705-boot-e-ntfs-p ng]](/file/view/1705-boot-e-ntfs-png)
pro legraci - pohled do správce disků (nenechte se zmást debilním označováním boot a system disku podle ms).
pozn.: pokud byl (d:) oddíl jako extended, nešel mi acronisem označit jako active. protřeboval nejdřív konverzi na primary, pak se z něj směle bootovalo.
různým os selectorům to však nevadí a dovedou nabootovat i z takové partition.
to je uplne jasne, len poniektori to maju problem pochopit
A četls i tu první část? Ta podporuje moje tvrzení.
Pavel
ano samozrejme, zalezi to od nastroja, ktorym sa robi format, pretoze boot sektor je zavisly na type OS
ked formatujes na FAT16 pod win, tak je zapisany platny boot sektor pomocou ktoreho je mozne bootovat win, ziadny rozdiel systemovy/nesystemovy sa nerobi
to ze nastroj tretej strany nezapise na miesto spustitelneho kodu nic je uplne jasne, nemoze predsa vediet co sa ide bootovat, takze vobec nema zmysel hovorit o probleme systemovy/nesystemovy
Prozatím to vypadá, že WinXP opravdu rozdíl nedělají a cpou všude bootovací obsah boot sektoru. Trvám ale na tom, že obecně tohle neplatí a obecně se systémovej a nesystémovej disk rozlišuje/rozlišoval. Určitě se takhle chová např. MS DOS.
K úplně původnímu problému tazatele: my opravdu nevíme, čím byl oddíl C: zformátován. Zda instalátorem (nebo programem) z WinXP, či jiným nástrojem. Např. výše zmíněným Acronisem. Nevíme ani nic o souborovým systému. Tedy, moje odpověď, že nemusí vždy stačit jen změnit aktivní oddíl na C: a dokopírovat tři soubory platí a to z toho důvodu, že boot sektor nemusí na jeho disku C: obsahovat žádný bootovací kód.
Pavel
Ou, takovouhle skoro-hádku jsem způsobil
.
Stalo se to, že jsem si přes combofix doinstaloval opravnou konzolu a ntldr a tyhle soubory to šouplo na Dčko.
Tohle není hádka, tomu se říká konstruktivní diskuze. Každý se tu něco dozvěděl.
bavili sme sa o XP, teraz sme presli na DOS, a mozme prebrat este aj nejake exoticke systemy a filesystemy...
moj nazor je taky, ze si otazku specifikoval nespravne, pretoze pojem systemovy/nesystemovy disk moze byt rozne interpretovany, a nijako nesuvisi priamo s formatovanim a z tohoto dovodu nenajdes nikde nijaky odborny vyklad na temu formatovanie vs systemovy/nesystemovy disk, pretoze taketo spojenie jednoducho nedava vyznam
otazka mala zniet ci moze byt boot sektor bez spustitelneho kodu, co samozrejme moze
Ano, bavili jsme se o XP v tom smyslu, jak zaznělo od tazatele. Z ničeho nevyplynulo, čím byl oddíl C: formátován.
Já celou dobu tvrdím, že obecně se liší boot sektor na systémovým a nesystémovým disku. Že tomu tak není v případě formátování ve WinXP vůbec nevylučuje to, že v případě DOSu tomu tak je. Uvidíme, co řeknou linuxáci.
Já jsem nespecifikoval žádnou otázku. Systémový disk byl odjakživa ten, na kterým byl operační systém a ze kterýho se zaváděl (i když ve spec. případě to můžou být disky dva).
Trvám na tom, že v DOSu se liší obsah boot sektoru při formátování "format C:" a "format C: /s", tedy liší se v tomto smyslu obsah na systémovým a nesystémovým disku. Neboli, v obecné rovině neplatí tvrzení, že se při formátování systémovej a nesystémovej disk nerozděluje. Obecně.
Pavel
já taky, nevěřil jsem ani tomu prvnímu případu s fat16 - odpovídá tomu co tvrdí pavel.
v tomto případě by se skutečně musel použít fixboot e: - neměl jsem sebou instalační cd win, neověřoval jsem.
On by dokonce v tomto případě (FAT16) ani fixboot nemusel (mohl/nemusel) být k užitku, protože XPčka si rezervujou 16 sektorů. Ve FAT16 je ale implicitně rezervován jen jeden sektor (pro boot sektor).
Ale to by se muselo ověřit.
Pavel
Z čehož mi (prozatím) vyplynulo:
1) Při formátování na FAT není zřejmé, jaký OS se (pravděpodobně) bude používat a protože se disk/oddíl nepřipravil jako systémovej, neobsahuje boot sektor zavaděč. Alespoň v tomto konkrétním případě (Acronis Disk Director).
2) Při formátování na NTFS se zřejmě předpokládá, že se bude bootovat nějaká verze NT řady (2000, XP, ...) a formátovací program (v tomto případě Acronis Disk Director) automaticky nastavuje obsah sektoru jako bootovací.
Díky za tu práci a exaktní výzkum!
Pavel
Info přímo od Microsoftu z jejich knowlidge base, 140418
Konkrétně:
Pavel
jj, tohle jsem kdysi použil a v práci jsem na všech disketách tu hlášku "Non-system disk or disk error" přepsal na "Sorry, vole, error !"
. Mimochodem, tenkrát právě diskety formátované pod M-602 tam měly taky něco po svém, už si ale nepamatuju co.