Kopírování - Záchrana poškozených souborů - ignorování chyb

Vítáme všechny návrhy na nové funkce a vylepšení programu Altap Salamander. Pro každý návrh prosím vytvořte samostatný příspěvek.
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Kopírování - Záchrana poškozených souborů - ignorování chyb

Post by zarevak »

Dobrý den,
nedávno se mi objevil vadný sektor na jednom z mých disků a potřeboval jsem tedy data z tohoto disku přesunout jinam. Bohužel tento vadný sektor se nacházel uprostřed několika GB velikého archivu a při pokusu o vytvoření jeho kopie vyskočila chybová hláška, že soubor nelze číst s volbami Opakovat, Přeskočit, Přeskočit vše a Zrušit. Opakování nepomohlo a Přeskočení smazalo celý již částečně nakopírovaný soubor z cílového umístění.

:arrow: Bylo by možné v případě chyby čtení přidat možnost Ignorovat (tuto možnost si pamatuji z dob DOSu)? V souboru by tak vznikly díry se špatnými místy, ale většina souboru/archivu by byla zachráněna... Tato volba by byla ještě více užitečnější u poškrábaných CD/DVD, kde nelze provést softwarovou opravu disku a přesunout vadné sektory na jiné místo.

PS: Po provedení kontroly povrchu disku pomocí chkdsk x: /r bylo po několika hodinách možné soubor se zmíněnými dírami zkopírovat...
xm
Posts: 69
Joined: 11 Dec 2007, 11:11

Post by xm »

+1

zatim na tohle pouzivam free Unstoppable Copier:

http://www.roadkil.net/program.php?ProgramID=29
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Post by Ether »

+1

Myslím, že schopnost vykopírovat soubory, i přestože jejich kopie nebude kompletní, se hodí a do rámce AS jako souborového manažeru spadá. Díry bych plátal asi nulami (0x00), oproti náhodným datům jsou nápadnější.

Ovšem bylo by potřeba asi ještě přidat možnost exportu (třeba do schránky) seznamu míst, kde má soubor díry.

V souvislosti s možností ponechání nekompletního cílového souboru vyvstává jedna featurka, kterou AS ještě neumí - viz http://forum.altap.cz/viewtopic.php?p=12082.
Ελληνικά rulez.
fraktik
Posts: 209
Joined: 27 Apr 2007, 12:13
Location: cz
Contact:

+1

Post by fraktik »

+1
User avatar
zarevak
Plugin Developer
Plugin Developer
Posts: 789
Joined: 04 Feb 2006, 16:49
Location: Prague, Czech Republic

Post by zarevak »

Přesouvám data ze starých CD na disk pro pozdější znovu-vypálení na DVD a bohužel jsem narazil na pár již nečitelných souborů :oops:

Výše zmíněný chkdsk x: /r bohužel v tomto případě nepomůže a je třeba sáhnout po jiném řešení... Naštěstí IsoBuster čitelné části souborů z disku získal. Nečitelná místa však (alespoň v JPG souborech) nijak v cílovém souboru nevyplní a tak extrahovaný soubor je menší než zdrojový. Nevím, zda je takové řešení lepší než výplň pomocí nul. (může narušit relativná adresy struktur v rámci souboru)

Při každé nalezené chybě je zobrazen dialog, zda se chci pokusit číst sektor znova, zda chci sektor přeskočit nebo extrakci ukončit. (je zde i možnost přeskočt všechny případné další chyby, aby dialog zbytečně neobtěžoval)

Po extrakci poškozeného souboru je zobrazen dialog zobrazující celkový počet nečitelných/poškozených sektorů a adresu a kód poslední chyby. Tento dialog slouží k tomu, aby uživatel rozhodl, zda soubor má smysl zachovat nebo je natolik poškozen, že má být okamžitě smazán.

IsoBuster následně zpětně nabízí i seznam sektorů, které se nepodařilo z disku načíst. Osobně však neumím tento seznam využít jinak než pro svoje obveselení...

Zpátky však k Salamanderu: Salamander využívá pro čtení větší bloky než je základní čitelná/nečitelná jednotka disku (sektor). Bylo by však vhodné, aby tato funkce vždy přeskočila co nejmenší poškozenou část a ne celý přenosový blok. Pokud potřebuji data zachraňovat (odpovím v dialogu Retry nebo nově žádanou možnost), tak mi na rychlosti nezáleží a Salamander může zkoušet číst po velmi malých blocích (velikost sektoru? - potřeba však zarovnat se začátkem sektorů...).
User avatar
Ether
Posts: 1471
Joined: 10 May 2007, 16:08
Location: Czech Republic
Contact:

Post by Ether »

zarevak wrote:Nečitelná místa však (alespoň v JPG souborech) nijak v cílovém souboru nevyplní a tak extrahovaný soubor je menší než zdrojový. Nevím, zda je takové řešení lepší než výplň pomocí nul. (může narušit relativná adresy struktur v rámci souboru)
Nevím, kterou používáš verzi IsoBusteru, ale pokud vím, tak vždycky nabízí i možnost vyplnění nečitelných míst nulami.
Ελληνικά rulez.
Post Reply