Avatar
Domiy
Neregistrovaný
Avatar
Domiy:

Dobrý den,
přepsal jsem prvních 19,5 MB disku s MBR a jedním VBR (partitionem) uvádějícím NTFS. Takže mám všechna data vpořádku - jen chybí databáze která je někde blízko VBR. NTFS obecně (bez přesných adres) znám - vím, že na konci toho disku jsou zálohy. (Zkusil jsem dissasemblovat a zdá se to být ono.) Tak se ptám - jak to opravit? (Myslel jsem, že ve Windows, na kterém jedou všichni doma krom mě, to zvládne lépe. Nikoliv.) Když už nic jiného - jak z toho dostat alespoň soubory? Zítra jdu za kamarádem, který to jistě umět bude, ovšem zaprvé mé ego :) a za druhé mi to nepřijde závažné. MBR a VBR jsem přepisoval už tolikrát, že mi to přijde úplně normální. (Ať už šlo o změnu systému, odstranění BootLoaderu z MBR atd.) Bratr ještě přišel s tím, že je to větší problém proto, že se jedná o externí disk s USB kabelem.
Děkuji.

 
Odpovědět 16.6.2013 17:29
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Ahoj,

pokud těmi zálohami, co NTFS dělá, myslíš soubor $MFTMirr, tak do něj se myslím zálohuje jen prvních 16 záznamů Master File Table (což je ta databáze, kterou zmiňuješ). Měl byses z ní dozvědět, kde se Master File Table nachází, takže by jsi měl být schopen její části najít a zreonstruovat. Neznamená to ale, že zachráníš všechno. Záleží, jak velkou část MFT jsi tím přepisem 19 MB disku zničil.

Problém trochu je, že informace o položkách v adresářích se obvykle neukládají do MFT (pokud je počet položek adresáře vyšší než 2-4), ale zabírají další clustery. A tyhle clustery také mohou být přepsány. Ale zas až takový problém to asi není, protože zničením těchto clusterů nepřijdeš o data, jen o hierarchii souborů a složek.

Záznamy v MFT lze detekovat i automaticky, protože začínají signaturou FILE. Záznamy s informacemi o položkách adresáře začínají signaturou INDX.

Bohužel nevím, jak tento krok provést automaticky (tzn. pomocí nějaké utility). Na ruční řešení nemám ani hotový program ani čas ho tvořit, i když tu mám základ NTFS parseru v C++ hotový (už několik let).

To, že se jedná o externí disk, vidím jako výhodu. Kdyby sis takhle přepsal hlavní disk, kde máš na nějakém oddílu i operační systém, byl by mnohem větší průšvih. Takhle máš aspoň funkční stroj.

Moje zkušenosti na toto téma jsme kdysi dávno shrnul v článku:
http://www.secit.sk/…m-formatoval

Pokud to tvůj kamarád dokáže opravit, velmi by mě zajímalo jak a čím.

Nahoru Odpovědět 17.6.2013 14:52
2 + 2 = 5 for extremely large values of 2
Avatar
Domiy
Neregistrovaný
Avatar
Odpovídá na Martin Dráb
Domiy:

Měl jsem pravdu já. Brácha mi to vytýkal - bylo to triviální - opravila to obyčejná Windowsácká kontrola disku. Příště se spolehnu jen na sebe.

 
Nahoru Odpovědět 17.6.2013 15:22
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Domiy
David Čápka:

Matesi, běž prosím ten svůj egoismus rozvíjet jinam.

Nahoru Odpovědět  -1 17.6.2013 15:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Domiy
Neregistrovaný
Avatar
Odpovídá na David Čápka
Domiy:

Vždyť netušíš o co šlo. Zaprvé mi bratr tvrdil, že je potřeba MBR i pro jeden partition - že je na něm identifikace disku. Dále, že NTFS na disku nemá zálohy systémových souborů. A dále, že se to ve Windows nedá tak snadno opravit, jak jsem si představoval. Hádali se mnou kvůli tomu celý víkend. Pak jsem zašel za kamarádem, který spustil obyčejnou kontrolu disku a potvrdil vše, co jsem hájil ty 2 dny. Tak mi nevykládej nic o egoismu. Takové ptákoviny, jako, že popis disku je v MBR fakt nehodlám poslouchat. Popis je vždy v ROM. Atd.

 
Nahoru Odpovědět 17.6.2013 17:14
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Takové ptákoviny, jako, že popis disku je v MBR

MBR si o každé partition pamatuje její typ, což u primárních partition znamená obvykle souborový systém, kterým je formátována. Jedná se o pátý bajt záznamu o oddílu. Hodnota 07 znamená NTFS. Myslím, že je ale Windows schopen poznat bootsector pro NTFS, i když dané zařízení nemá MBR. Ale nikdy jsem to nezkoušel.

že je na něm identifikace disku

Ano, je na něm identifikace disku (bajty 440-443, číslováno od 0), která se používá při mapování diskových oddílů na písmena, pod kterými jsou přístupné. Mrkni se do klíče:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

Na Wikipedii v tématu "Master Boot Record" popisují formát některých hodnot v tomto klíči. Pokud disk nemá MBR, žeší se mapování zřejmě jiným způsobem.

Dále, že NTFS na disku nemá zálohy systémových souborů

Nevím, jak systémových souborů. Má zálohy souborů s metadaty ($Mft, $MftMirr, ., $Bitmap...), takže pokud poškodíš jen začátek MFT a systémové soubory jsou až trochu dál, tak obnovením MFT z $MFTMirr se "obnoví" i systémové soubory. Ale je možné, že Windows nějak zálohuje i systémové soubory, takhle do hloubky jsem tyhle procesy nezkoumal.

Nahoru Odpovědět 17.6.2013 17:43
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.