LINUX.ORG.RU

Как восстановить удаленный файл в Linux (файловая система ext3)?

 


0

0

Создатели ext3 говорят, что никак. Карло Вуд (Carlo Wood) доказывает в своей статье, что это вполне реально. Резюмировать содержание статьи можно следующим образом. Существуют блоки, суперблоки, inode и прочие низкоуровневые элементы файловой системы. С помощью манипуляции с ними теоретически можно восстановить любой файл. Вуд написал такую программу - grep3ext, но выкладывать ее в свободный доступ почему-то не спешит. Вам нужно отправить письмо по адресу carlo@alinoe.com, и Вуд обещает прислать исходный код. Далее набираем в консоли:

$ ext3grep $IMAGE --restore-file $FILENAME

где $IMAGE - файл дискового устройства, а $FILENAME - имя восстанавливаемого файла. Конечно, существует ряд ограничений. Удаленный файл не должен быть физически перезаписан, в некоторых случаях потребуются дополнительные инструменты работы с файловой системой, но Вуд сообщает, что сам смог восстановить любой файл на своем ПК.

Примечание. Редакция Liberatum не несет ответственности за испорченные Карлом Вудом диски своих читателей.

>>> Подробности

anonymous

Проверено: anonymous_incognito ()

Ответ на: комментарий от prizident

> Неясно почему авторы ext3 не добавили такую элементарную функцию как восстановление удалённых файлов, ведь очевидно что это заняло бы не так уж и много кода но спасло бы много нервов людям.

Все ясно. Просто они не хотели виндузятников плодить.

skwish ★★
()
Ответ на: комментарий от Sylvia

> я как то давно $HOME прибила, и ничего, посидела около 4 часов, восстановила все ценное. Сложности с тем как называются файлы, а сами файлы (без названий) восстановить no problemo ) И никаких Карлов Вудов с их мылами.. > Silvy

Расскажи, пожалуйста, где-нибудь подробнее и кинь сюда ссылку, если не сложно.

Восстановленые файлы на диске лежали одним куском, или были сильнофрагментированы?

skwish ★★
()
Ответ на: комментарий от GladAlex

>Дожили! В Линуксе появилась утилита, функционал которой был в ДОС-е ещё году эдак в 82-м :) ;)

Ещё не все потеряно! Дефрагментатора под Линукс до сих пор нет!!!

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от anonymous

>Спасать безмозглых идиотов, случайно удаливших ценные данные, и не имеющих бекапа, за счёт внесения усложнений в файловую систему? А ну марш обратно на микрософторг, вантузоидное быдло.

анонизмус во многом прав, при всех криках о том что линукс рулит, ntfs остается отличной ФС во всех отношениях, в то время как линуксоидам приходится колупаться в зоопарке из десятка ФС, ни одна из которых не умеет даже такую элементарную операцию как восстановление удалённых файлов

prizident ★★★★★
()
Ответ на: комментарий от prizident

>ntfs остается отличной ФС во всех отношениях,

ntfs не плохая в целом система так как слизана с ext2 но вот глючит иногда (например могут пропадать измененнёе файлы) и сторонним софтом плохо поддерживается.

>ни одна из которых не умеет даже такую элементарную операцию как восстановление удалённых файлов

Это именно является доказательством ненадёжности и несекурности ntfs хотя опция --хуйяложилнабезопасноеудаление не помешала бы ;)

DNA_Seq ★★☆☆☆
()

> apt-cache show testdisk
Description: Partition scanner and disk recovery tool
TestDisk checks the partition and boot sectors of your disks.
It is very useful in recovering lost partitions.
It works with :
* DOS/Windows FAT12, FAT16 and FAT32
* NTFS ( Windows NT/2K/XP )
* Linux Ext2 and Ext3
* BeFS ( BeOS )
* BSD disklabel ( FreeBSD/OpenBSD/NetBSD )
....
PhotoRec is file data recovery software designed to recover
lost pictures from digital camera memory or even Hard Disks.
It has been extended to search also for non audio/video headers.
It searchs for
* Sun/NeXT audio data (.au)
* RIFF audio/video (.avi/.wav)
* BMP bitmap (.bmp)
* bzip2 compressed data (.bz2)
* Source code written in C (.c)
....

pacify ★★★★★
()
Ответ на: комментарий от annoynimous

Ты идиот? Прочитай как удаляются файлы в ext2 и ext3.

зы. ЭхЪ...мне бы эту статейку, на недельку бы раньше увидеть...:(

Virun
()
Ответ на: комментарий от los_nikos

Я на ноуте пытался пол года назад параллельно Xubuntu поставить оффтопик, а криво написанный инсталлятор прибил раздел с файлОм. Тихо поматерившись, достал с полки http://www.inside-security.de/INSERT_en.html и запустил testdisk. На HD было 4 primar раздела. Оффтоп умудрился так нахимичить, что восстановить полностью затертый с файлом удалось только ценой удаления соседнего, с дебианом. Там геометрия хз чего была нарушена. Но файлы спасти удалось...

А чувак лепит ярко выраженный велосипед. Лучше бы photorec обучил фрагментированные файлы восстанавливать.

Gregon
()
Ответ на: комментарий от los_nikos

Воспоминания самые приятные, кроме тех, что odt файлы оно не восстанавливает. Потерянный курсач спасти не удалось. Восстанавливал по памяти с более старой копии.

anonymous
()
Ответ на: комментарий от Demon37

>Для xfs есть.

В ветке про ext4 анонимус дал ссылку на дефрагментатор для любой файловой системы, не только для xfs. Правда, он только файлы дефрагментирует, свободное место не умеет.

kss ★★★★★
()
Ответ на: комментарий от acheron

>> Дожили! В Линуксе появилась утилита, функционал которой был в ДОС-е >>ещё году эдак в 82-м :) ;)

>Учитывая, что FAT оптимизирована для быстрого удаления файлов,
>неудивительно, что столько утилит для удаления и его отката :)

>acheron

Целью FAT является быть простой файловой системой, не требующей обязательного дефрагментирования.
Возможность восстановления файлов в FAT не является ее фичей. Скорее восстановление файлов делается в противовес ее архитектуре.
Единственная информация, которая есть после удаление - запись о самом файле без первой буквы его имени и номер начала цепочки в FAT пространстве, но как была построена цепочка FAT, никто достоверно не сможет восстановить - только с определенной степенью вероятности, предполагая, что цепочка располагалась непрерывно и последовательно. Можно привести несколько примеров, когда способ восстановления файлов не сработает.

Единственной файловой системой позволяющей _штатно_ восстанавливать файлы - является Netware FS, других не слышал. Если таковые есть - буду рад узнать о них.

Никто не спорит о необходимости backup, но, во-первых, не все им пользуются и не для всех данных. Во-вторых, возможность восстановления файла улучшает потребительские свойства системы. Не надо рассказывать девочке Маше о пользе бэкапа в случае случайного удаления папки, где оказывается были какие-то ценные файлы...
С точки зрения потребителя у EXT3 больше недостатков, чем FAT - поскольку остается меньше шансов на восстановление файла.

О безопасности, в большинстве файловых систем операция удаления означает удаление служебной информации о файле в том или ином виде, задачей операции удаления является _номинальное_ освобождение пространства на диске. Физически никто данные с диска не удаляет (не затирает). Так что говорить, что FS1 гораздо безопаснее FS2 - реально несерьезно - сами данные никто не стирал.

nempyxa ★★
()
Ответ на: комментарий от nempyxa

> Целью FAT является быть простой файловой системой, не требующей обязательного дефрагментирования.

Имхо, просто "простой". О необходимости дефрагментирования на FAT12 ещё не задумывались.

> Единственная информация, которая есть после удаление - запись о самом файле без первой буквы его имени и номер начала цепочки в FAT пространстве, но как была построена цепочка FAT, никто достоверно не сможет восстановить - только с определенной степенью вероятности, предполагая, что цепочка располагалась непрерывно и последовательно.

По-моему, ты не совсем прав. При удалении просто заменяется первая буква названия, а цепочка FAT не меняется. Если в эти кластеры ничего не успели записать, файл легко восстановится, даже если цепочка разрывалась.

Именно это простое удаление я и назвал в шутку "оптимизацией для быстрого удаления". Странно, что кто-то воспринял это всерьёз :)

acheron ★★★★
()
Ответ на: комментарий от acheron

> Как восстановить удаленный файл в Linux (файловая система ext3)?

не создавайте файлов ! пешите все в /dev/null !

anonymous
()
Ответ на: комментарий от acheron

>> Целью FAT является быть простой файловой системой, не требующей обязательного дефрагментирования.

>Имхо, просто "простой". О необходимости дефрагментирования на FAT12 ещё не задумывались.

Сложно сказать, известные более простые системы хранения файлов, без таблицы размещения файла (таблица FAT) - таблица хранит имя, атрибуты, номер блока на диске начала файла. И удалять там проще - удалил запись и все - не требуется ковырять FAT таблицу, чтобы удалить цепочку.
Но такие файловые системы уже трудно использовать без регулярной оптимизации - сжатия пустых дырок.
Кстати, одна из причин популярности дядюшки Нортона - утилита speeddisk, популярность пришедшая за популярностью ДОС.
Мелкософт, как, обычно некоторую работу оставил сторонним компаниям. До поры до времени...

>> Единственная информация, которая есть после удаление - запись о самом файле без первой буквы его имени и номер начала цепочки в FAT пространстве, но как была построена цепочка FAT, никто достоверно не сможет восстановить - только с определенной степенью вероятности, предполагая, что цепочка располагалась непрерывно и последовательно.

>По-моему, ты не совсем прав. При удалении просто заменяется первая буква названия, а цепочка FAT не меняется. Если в эти кластеры ничего не успели записать, файл легко восстановится, даже если цепочка разрывалась.

Нет. Цепочка в таблице FAT удаляется тоже. Именно поэтому сразу после удаления четко коррелирует информация свободном месте. И именно поэтому восстановление файла в системе FAT задача не всегда успешная. И точно не является фичей этой файловой системы.

>Именно это простое удаление я и назвал в шутку "оптимизацией для быстрого удаления". Странно, что кто-то воспринял это всерьёз :)

Извини. Вообще, мысли, выраженные на грани смысла, часто приводят к ложному толкованию.

nempyxa ★★
()
Ответ на: комментарий от nempyxa

>Не надо рассказывать девочке Маше о пользе бэкапа в случае случайного удаления папки, где оказывается были какие-то ценные файлы...

ДевАчка Маша удаляет в корзинку и даже не знает как мимо неё можно что-то пронести.

>С точки зрения потребителя у EXT3 больше недостатков, чем FAT - поскольку остается меньше шансов на восстановление файла.

Так может говорить только тот кто при ( скачке напряги | непроизвольном нажатии ресет | зависоне системы) не терял все данные с фат разделов. Сие "достоинство" фат перекрывает все его так сказать недостатки. В общем, сравнивать фс с точки зрения "потребителя" ака домохозяйки - это надо головой удариться.

vtVitus ★★★★★
()
Ответ на: комментарий от nempyxa

> Никто не спорит о необходимости backup, но, во-первых, не все им пользуются и не для всех данных. Во-вторых, возможность восстановления файла улучшает потребительские свойства системы. Не надо рассказывать девочке Маше о пользе бэкапа в случае случайного удаления папки, где оказывается были какие-то ценные файлы...

Как ни говори о дружелюбности Linux, но система предполагает разумного администратора. Иначе мы бы скатились до исполнения перловых однострочников от пользователя system, а не root.

1) девочка Маша ничего не знает о бекапах. Она даже о них не предполагает, а бекапы есть и работают. 2) девочка Маша удаляет файлы не командой `rm`, как это принято считать на LOR'е, а перетаскивает их мышкой в корзину, откуда они могут быть без труда восстановлены. Даже самой девочкой Машей.

skwish ★★
()

для тех кто неуверен, нужно ли ему удалить файл навсегда, придумали корзину. Из нее можно абсолютно штатно восстанавливать удаленные файлы. Нафиг эти недокументированные велосипеды, да еще и, как выясняется потом, с квадратными колесами.

sid350 ★★★★★
()
Ответ на: комментарий от vtVitus

Ну-ка, детко, расскажи, как файлы, удаленные в Линуксе помещаются в корзину? Что, корзина есть только в KDE и GNOME? Для mc ее не придумали?

anonymous
()
Ответ на: комментарий от anonymous

> Ну-ка, детко, расскажи, как файлы, удаленные в Линуксе помещаются в корзину? Что, корзина есть только в KDE и GNOME? Для mc ее не придумали?

Ну-ка, детко, тебе не рассказывали, что для использования mc, bash и всех этих хакерских штучек нужен `/dev/мозг`. Иди обратно в DE и пользуйся корзиной. Интересно, когда появится человек, который предложит намертво вшить `-i` в rm. И спрашивать 2 раза, если файл принадлежит какому-либо пакету.

skwish ★★
()
Ответ на: комментарий от anonymous

Вообще трезвый человек должен представлять, что вероятность потерять данные есть всегда. И от `сгоревшего винта` она выше, чем от `случайно удаленного файла`. Поэтому бекапы необходимы. А восстановление файлов после их удаления - это скорее минус, чем плюс.

skwish ★★
()
Ответ на: комментарий от anonymous

>Для mc ее не придумали?

Вообще-то она там есть.

anonymous
()
Ответ на: комментарий от prizident

>ни одна из которых не умеет даже такую элементарную операцию как восстановление удалённых файлов

Ты уверен что это обязанность FS?

Rodegast ★★★★★
()
Ответ на: комментарий от DNA_Seq

>Ещё не все потеряно! Дефрагментатора под Линукс до сих пор нет!!!

Да есть он, но только редко используется ибо сама дефрагментация обычно не имеет никакого смысла.

Rodegast ★★★★★
()
Ответ на: комментарий от nempyxa

> Нет. Цепочка в таблице FAT удаляется тоже.

Под MS-DOS я часто восстанавливал и файлы, состоящие из нескольких частей. Более того, знаю случаи, когда запускали Defrag именно для того, чтобы он очистил таблицу FAT, и восстановить файлы стало невозможно. Про Windows не знаю, может там что-то изменили.

> мысли, выраженные на грани смысла, часто приводят к ложному толкованию

:)

acheron ★★★★
()
Ответ на: комментарий от anonymous

в slackware по умолчанию прелагалась reiserfs (до скачка по версиям).

как в этой системе сейчас дела с фс обстоят?

anonymous
()
Ответ на: комментарий от pacify

> TestDisk checks the partition and boot sectors of your disks.

> PhotoRec is file data recovery software designed to recover

+1 У меня флэшка в фотоаппарате сдыхала, так я из тех секторов что удалось командой dd считать восстановил почти всё!

anonymous
()
Ответ на: комментарий от anonymous

> +1 У меня флэшка в фотоаппарате сдыхала, так я из тех секторов что удалось командой dd считать восстановил почти всё!

и чё? флешка теперь работает нормально?

anonymous
()
Ответ на: комментарий от anonymous

>новость не читал. все камменты одобряю.

+1

anonymous
()
Ответ на: комментарий от los_nikos

> А кто его уже использовал? Какие остались воспоминания о полученных результатах?

У меня Mandriva снесла таблицу разделов - восстановил testdisk'ом.

pacify ★★★★★
()
Ответ на: комментарий от annoynimous

> Восстановление файлов (с рутовыми правами) уж бог весть сколько есть в mc

Но не на ext3, а только на ext2.

anonymous
()
Ответ на: комментарий от anonymous

Его повесят. А за ним Столлмана.

anonymous
()
Ответ на: комментарий от skwish

Трезвый человек должен иметь возможность восстановления случайно удаленных файлов. А безмоглый фанатик вроде вас а-ля "раз этого нет, значит не надо" не нужен.

anonymous
()
Ответ на: комментарий от skwish

Пук в лужу испарил 80% жидкости, поздравляю. Перечитай еще раз мой пост, и еще раз, пока не поймешь сути.

anonymous
()
Ответ на: комментарий от anonymous

>>Трезвый человек должен иметь возможность восстановления случайно удаленных файлов. А безмоглый фанатик вроде вас а-ля "раз этого нет, значит не надо" не нужен.

Укороти фразу. Трезвый человек должен иметь возможность восстановления. Все. Помимо тупого удаления файла юзер может записать поверх новую версию. А потом захотеть старую. После удаления файлов (а оно для читски места) поверх пишут любимый фильм. Затем тянут одмина за ийцо и говорят "хочу старый файл". Уверенность в том что оно может подняться после удаления -далеко не повод отказываться от бекапа. Почитайте книжек, чтоль, типа "виндовс для чайника". Там расписано что как и почему надо делать. Организовать бекап хомы автоматом задачка не из сложных. Делается один раз и на всю оставшуюся жизнь.

anonymous
()
Ответ на: комментарий от skwish

>Ну-ка, детко, тебе не рассказывали, что для использования mc, bash и всех этих хакерских штучек нужен `/dev/мозг`. Иди обратно в DE и пользуйся корзиной. Интересно, когда появится человек, который предложит намертво вшить `-i` в rm. И спрашивать 2 раза, если файл принадлежит какому-либо пакету.

во многих дистрах стоит в .bash_profile

alias rm="rm -i"

dikiy ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.