Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Секреты Windows


xedox

Рекомендуемые сообщения

Для начала всем привет . :dontgetit:

Есть такой небольшой но интересный вопрос допустим в папке лежат два вайла MS Word я переношу туда ещё два файла word с таким же название но другим содержимым соответственно ось спрашивает заменить файлы или переименовать я отвечаю ему заменить.

ВОПРОС: можно ли найти после этой операции файлы которые я заменил (они просто удаляються из системы или ложать куда-то)? :D

Заранее все спасибо за ответы :D

Ссылка на комментарий
Поделиться на другие сайты

xedox

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

P.S. "Стирает" не значит "затирает", просто область, занимавшаяся файлами, объявляется доступной для перезаписи новыми файлами. Новые файлы могут быть записаны и туда и в другое место (поэтому и бывает можно восстановить старые файлы), это зависит от размеров файлов.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

Я могу ошибаться, но процессы при этом аналогичны удалению файла мимо мусорки. Т.е. простым логическим путем их не восстановить. При этом сомневаюсь, что ось будет физически затирать на жестком старые файлы и писать в то же место новые.

Поэтому видимо, если есть желание восстановить те - низкоуровневые утилиты по восстановлению информации с жестких дисков.

Сомневаюсь, что сильно помог :dontgetit:

Так... мысли вслух!

Александр.

Ссылка на комментарий
Поделиться на другие сайты

Не я не имел ввиду программы для востновления я просто спрашиваю он удаляет файлы без следно или кидает их например в TEMP

Ссылка на комментарий
Поделиться на другие сайты

он помечает место где содержались старые файлы (замененные) как свободное, а те что ты копируешь копируеться в др. место.

Это проверяеться очень легко.

Сначала заменяеться файл большого объема (например 600 мб) а потом заменяеться файл маленький... после этого анализируеться время коприрования... вывод делайте сами =)

пояснения:

если разница вр времени не значительная - значит файл просто помечен как удаленный =)

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

желательно при данном эксперименте использовать утилиты показывающие реальное нахождение файла на диске (на блине)... ведь как вы знаете скорость записи\чтения разнИца довольно сильно в зависимости от рельного положения файла (извеняюсь за каламбур).

вариант второй (пришедший на ум при написании первого)

береться утилита см. вар. 1. и смотрица изначальное положение файла, потом файл заменяеться и смотрица его физическое положение на блине винчестера, если файл до и полсле операции не поменял место дислокации, значит windows записывает его на прежнее место, если нет, значит нет =)))

ps

я с очень большой увереностью могу сказать что файлы он записывает в др. месть, а бывший файл просто помечает как пустое место (соответственно они подлежат восстановлению, такими утилитами как EasyRecovery Professional, кстати очень сильно ее рекомендую для восстановления удаленных файлов)

обратите внимание при восстановлении.

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

все устал писать, задавайте конкретные вопросы :)

Ссылка на комментарий
Поделиться на другие сайты

я с очень большой увереностью могу сказать что файлы он записывает в др. месть,
Не уверен... Винда еще так делает, что копирует в другое место, а вот word, excel они начинают копировать в файл с того места на диске как он начинаются :D . Т.е. затирают поверх и продолжают данный файл. Но сталкивался я с этим только в 98-й и без Norton utilites.

В ХР можно, в принципе, открыть папочку System Volume Information\_restore{ХХХХХХХХХХХХХХХХХХХХХХХХХХХ}\RPХХХ и найти эти файлики. Считает ли винда их системными :blink: или нет, не важно, но они там есть! И оттуда же и просмотреть их.

Ссылка на комментарий
Поделиться на другие сайты

matva

В ХР можно, в принципе, открыть папочку System Volume Information\_restore{ХХХХХХХХХХХХХХХХХХХХХХХХХХХ}\RPХХХ и найти эти файлики. Считает ли винда их системными  или нет, не важно, но они там есть! И оттуда же и просмотреть их.

Ок а если это Ось 9х то куда там они могут прятаться тоже в папочку востановления системы :blink:

Мужики не бойтесь писать ответы если не верны они будут то кто то поправит зато тема интересная довольно!

И ещё разок всем огромное спасибо за отвтеы!

Изменено пользователем xedox
Ссылка на комментарий
Поделиться на другие сайты

Насчет 9х, могут, если только 9х==Милень. В 95/98 такого точно не было. Кроме того, если отключена служба восстановления (я, к примеру, ее всегда выключаю, ибо считаю бесполезной и прожорливой), то System Volume Information - пустая. Этот случай и есть самый интересный.

А насчет всяких там алгоритмов перезаписи, скорее всего оффис не шаманствует. 90%, что при перезаписи вызывается сис.ф-ция CreateFile с параметром CREATE_ALWAYS, т.е. создать файл, а если он есть, то обнулить его содержимое. Что при этом происходит- МС знает. Запись в каталоге может, и сохранится, а вот данные просто не найти будет. Я когда-то исследовал возможности восстановления перезаписанного файла (еще в ДОС), но так ни к чему и не пришел :(

Но насчет перезаписи, это предположения. MS-Office я, ессно, дизасмом не ковырял...

При попытке воостановления замененного файла требуеться полное сканирование виньчестера

А вот это необязательно, хотя и очень вероятно. Если повезет - запись в каталоге получит метку "удаленный" (для FAT* - замена первого символа имени), а там если повезет еще раз, то и кластера окажутся свободными и подряд_идущими. Скан диска может помочь если точно известен формат искомого файла и содержимое. Хотя говорить об "известном содержимом" можно только для истинно-текстовых файлов...

Ссылка на комментарий
Поделиться на другие сайты

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

word, excel они начинают копировать в файл с того места на диске как он начинаются

если не секрет откуда сведения? это предположение? или научно обоснованый факт? :) ....

Ссылка на комментарий
Поделиться на другие сайты

винда файлы не удаляет и на их место ничего не записывает.

Она не удаляет содержимое кластеров. Удаляются только ссылки. Иначе почему 650метровый файл долго пишется и мгновенно удаляется?

А после, при создании файла ищется первая свободная (или помеченная как удаленная) запись в том каталоге, где требуется создать файл, а при записи данных - первый свободный кластер. Может какие-то файловые системы и не так поступают... но так проще.

А "удаление" в корзину - только перемещение ссылки на (мета)данные... Неудаленный физически файл (имеющий ненулевое количество ссылок на данные) не может быть и перезаписан. А все, что помечено как "свободное" - в распоряжении драйвера файловой системы. Если данные не имеют на себя ссылок, но не помечены свободные - вечная проблема FAT* - потерянные кластеры.

Ссылка на комментарий
Поделиться на другие сайты

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

Сначала заменяеться файл большого объема (например 600 мб) а потом заменяеться файл маленький... после этого анализируеться время коприрования...

И какой же ответ на такой вопрос: заменяем (overwrite) 600МБ файл на 1кбайтный? Сколько займет времени? А наоборот - 1Кб файл - > 600МБ?

А как насчет хранения инфы о файле в секторах данных (b-tree системы ака ufs,ntfs и т.п.)? Их же прочитать польностью надо, проанализировать и тоже освободить...

Расположение файла на разделе зависит от драйвера ФС.

Ну, не в курсе он о том, что у тебя за файл. У него есть структуры, в которые он вписывает инфу о положении данных, и в каком-то виде резерв свободного места. Все, что он гарантирует, .это то, что ты можешь получить свой поток данных в том же виде, в котором записывал. Насколько я в курсе, ни одна ФС не гарантирует тебе правильного un-erase. Изврат с корзиной/restore не в счет - это не средства ФС. Так что файл кладется как драйвер положит - может туда же, а может и нет...

желательно при данном эксперименте использовать утилиты показывающие реальное нахождение файла на диске (на блине)...

Этого достаточно будет, если утиль покажет коды блоков ФС, куда попали данные.

Но если обнуляются сектора, то тогда все. Убито насмерть.

Тролль-то сразу ответ исчерпывающий дал... см. его пост от 26.10.2004 - 13:27

Ссылка на комментарий
Поделиться на другие сайты

Andrew.Egorovsky

А насчет всяких там алгоритмов перезаписи, скорее всего оффис не шаманствует. 90%, что при перезаписи вызывается сис.ф-ция CreateFile с параметром CREATE_ALWAYS, т.е. создать файл, а если он есть, то обнулить его содержимое. Что при этом происходит- МС знает. Запись в каталоге может, и сохранится, а вот данные просто не найти будет

Что-то я тебя немного не понял????? :) :) :(

Ссылка на комментарий
Поделиться на другие сайты

Цитата 

word, excel они начинают копировать в файл с того места на диске как он начинаются

если не секрет откуда сведения? это предположение? или научно обоснованый факт?

Практика... :(
Ссылка на комментарий
Поделиться на другие сайты

xedox

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

В общем, после перезаписи фал практически не восстановить. разве только руками по кусочкам собирать. :g:

Ссылка на комментарий
Поделиться на другие сайты

Видел, трогал. Он не более продуман, он более отлажен (по сравнению с Офф.ХР) и компонентов добавлено. :) Хотя, в каждой версии МСО были некоторые плюсы и очень неприятные ошибки... Я думаю, с 2003м то же самое будет...

Видишь ли, пользователь-то должен иметь на плечах голову. Ну невозможно предусмотреть все ошибки пользователя. Даже если он по ошибке перезапишет файл. Ну, не приставишь же ему свою башку. :)

Вот раньше было в Borland'овских IDE (Pascal, C) - возможно было создание резервных копий при сохранении. Т.е. жмешь сохранить, и тебе перед сохранкой старый файл переименовывался в .bak Кстати, может в МСО подобное есть, не замечал (да и не смотрел, честно говоря)... :)

ПС. Пока сию тему не почитал, даже не задумывался о сохранении старого файла при его перезаписи. Считал, что вопроса пользователю вполне достаточно...

Ссылка на комментарий
Поделиться на другие сайты

Andrew.Egorovsky

Вот раньше было в Borland'овских IDE (Pascal, C) - возможно было создание резервных копий при сохранении. Т.е. жмешь сохранить, и тебе перед сохранкой старый файл переименовывался в .bak Кстати, может в МСО подобное есть, не замечал (да и не смотрел, честно говоря)...
В Word'е это есть, старый файл при соответствующей установке будет не перезаписываться, а сохраняться с расширением WBK.
Ссылка на комментарий
Поделиться на другие сайты

Andrew.Egorovsky

Пока сию тему не почитал, даже не задумывался о сохранении старого файла при его перезаписи. Считал, что вопроса пользователю вполне достаточно...

То-тоже яж говорю тема нтересная.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...