Portál AbcLinuxu, 30. dubna 2025 17:38
Chyba bude v boot sektoru, řekl jsem si, za těch několik let jistě udělali v Microsoftu pokrok, vyzkoušíme Recovery konzoli z instalačního kompaktu Windows – nástroje jako fixboot, fixmbr jistě svoji práci dělají výborně.
Nesouhlasím. Nedávno jsem chtěl provést takovou trivialitu jako obnovit zaváděč Visty, v MBR byl totiž GRUB. Největšími experty na světě opěvovaný jakýsi Mbrfix mi hrdě oznámil, že oprava se povedla, Ale GRUB vesele bootoval dál
Zkusil jsem tedy instalační DVD Visty s otu jejich slavnou recovery console. Spustil jsem program k opravě MBR určený, jakýsi Bootrec. Ten mi úspěšně našel instalaci Visty, a poté mi oznámil, že oddíl s Vistou není NTFS Podotýkám, že Vista byla funkční a nomrálně bootovala přes GRUB.
Jestli myslíte tento MbrFix, tak podle popisu pouze pracuje s MBR. Jenže já jsem měl problém s boot sektorem jednoho jediného oddílu.
Kratky blik HDD Led potvrdi spravnost operacie.
Spíš, že se něco někam zapsalo nebo odněkud četlo. Rozhodně ne úspěšnost – fixboot taky blikal, ale jediné, co dělal, bylo, že přepisoval kód zaveděče, nikoliv již geometrii uloženou hned vedle.
fixmbr
plus fixboot
, ale ja pokazde musel pouzit nejaky nastroj na editaci rozdeleni disku - vetsinou stacilo otevrit a zas ulozit.
Horsi je stav, kdy z nejakeho duvodu Windows prepisi zacatek disku - nevim proc to delaji (osobne bych to odhadoval na chybu ovladacu disku), ale uz jsem tahal data z nekolika stroju, jejich disk byl ze zacatku prepsan nesmysly nebo naopak nulami. Sice se uz vetsinou nezachrani prvni oddil, ale z ostatnich jsem vzdy vsechna data vytahal (proto kazdemu s Windows doporucjuju disk rozdelit alespon na dva oddily).
Urcite existuji komercni nastroje, co tohle umi, ale ja si vystacil s dd
(nebo dd_rescue
ci pv
) na vytvoreni image na mem disku (na povodni disk jsem pak kopiroval zachranene soubory), loopbackem a jednoduchym vlastnim programkem, ktery hledal zacatek NTFS partition pomoci vyskytu retezce "NTFS" (ofset 3-6) a boot signatury 0x55 0xAA (ofset 510-511) sektor po sektoru (tj. po 512 bytech).
Pokud programek najde neco, co vypada jako zacatek NTFS, vypise jeho ofset. Soubor se pak pripoji loopbackem (pres losetup
s prislusnym ofsetem jako parametr) a nasledne se zkusi namountovat. Pokud to nehodi zadne chyby (je dobre sledovat hlaseni jadra), je to ono, jinak se loopback odpoji a postupuje se na dalsi nalezeny offset. Korektni oddily se mohou nechat pripojene, tedy alespon dokud nedojdou vilne loopbacky ntfsfix
vytahl data i z napoprve nenamountiovatelneho oddilu.
Nejspis to jde i pro FAT32, ale protoze vsichni, kterym jsem data z pozkozenych disku tahal, byli jen bezni uzivatele (=lamy) a meli vsude NTFS, tak jsem nikdy data z FAT32 tahat nemusel (jen z FAT16 a jen fotky z pametovych karet pres magicrescue
). Obecne by rozpoznat zacatek FAT32 oddilu nemelo byt o moc slozitejsi, napriklad se muze spolu s boot signaturou hledat text "MSWIN" na obdobnem ofsetu jako u NTFS text "NTFS".
Ghosta (který funguje, ale není volně šiřitelný).Je volně cracknutelný
Nefungovalo, protože:
Please note that the partition information is taken from your MBR, which is expected to be the same as before image creation - expect surprises if you change something between image creation and deployment.
g4u reads the disk bit by bit
A popravdě řečno nevidím jediný důvod, proč stahovat, instalovat a bootovat další systém, když dělá to samé jako dd.
Po bitvě je každý generál, takže jsem ještě hledal a našel GPL program pro Linux, který řeší přesně můj problém.
Jmenuje se ntfsreloc, starají se o to lidi od ntfsprogs (třebaže zatím není jeho součástí) a dostal jsem se k němu přes manuál ntfsclone(8).
Umí jak automatickou opravu geometrie disku a umístění oddílu, tak podle ručně zadaných hodnot, funguje i nad obrazem blokového zařízení v souboru.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.