- Открыт. Файл существовал задолго до событий, имел содержание, которое и редактировалось. Точнее, дописывалось.aleksvolgin писал(а):Файл был открыт или создан с нуля?
Восстановить файл .txt из 0 bytes
-
- Full Member
- Сообщения: 245
- Зарегистрирован: 02.09.2005,02:53
- Откуда: СПб, Россия
- Контактная информация:
-
Вклад в сообщество
Sergio писал(а):В принципе, это финиш. К сожалению.
ATauenis писал(а):99%, что остатки txt-шника переписались тем, что помешало ему сохраниться.
Ситуация: был файл, имел содержание, занимал какое-то место на диске. В процессе редактирования я увеличивал его размер - пока, до "Сохранить", конечно, как бы. К моменту, когда я начал сохранять, свободного места на диске уже не осталось и то, что было сверх прежнего размера файла, сохраниться не смогло.Sergio писал(а):Что там искать-то, если диск был после того как забит в ноль?
Вопросы в связи с приведенными выше цитатами и вообще:
- Почему остатки txt-шника должны были переписаться тем, что помешало ему сохраниться? Ведь его размер до "Сохранить" имел, так сказать, законное место на диске. Соответственно, это прежнее содержание не должно было быть затронуто тем, что нечто съело свободное место на диске.
- Если файл до начала событий имел свое место на диске, то как на него могло повлиять то, что свободное место на диске было заполнено?
- Какова может быть причина, что файл превратился в 0 bytes? Ведь, по идее, он просто должен остаться тем, чем он был до моей попытки редактирования? Что такого в подобной ситуации делает NTFS, что файл мог превратиться в 0 bytes?
-
- Advanced Member
- Сообщения: 5209
- Зарегистрирован: 17.08.2009,19:21
- Откуда: Подмосковье
-
Вклад в сообщество
типа дискэдита что-то надо юзать.Но прежде ответить надо на вопрос на сколько дорог файл (в рублях)
1.старая менялка с моими интересами
http://www.phantom.sannata.ru/forum/index.php?t=5186&&st=0
2.свежий пополняемый обменник
http://www.phantom.sannata.ru/forum/index.php?t=16788&a=stdforum_view&o=&st=0
-
- Full Member
- Сообщения: 245
- Зарегистрирован: 02.09.2005,02:53
- Откуда: СПб, Россия
- Контактная информация:
-
Вклад в сообщество
- Вроде не слишком дорог (более точно выясню позже). Просто сам принцип - файл внезапно превращается в 0, нельзя же это просто так оставить? Так же любопытство: как решить проблему в связи с plain text файлом, ибо с более специфичными (изображения, pdf и т.п.) вроде вопрос как-то решается.Mihail-1 писал(а):Но прежде ответить надо на вопрос на сколько дорог файл (в рублях)
- ATauenis
- Advanced Member
- Сообщения: 5527
- Зарегистрирован: 30.04.2015,21:30
- Откуда: Москва
- Контактная информация:
-
Вклад в сообщество
qa писал(а):Какова может быть причина, что файл превратился в 0 bytes?
При записи произошла ошибка файловой системы, и вместо выдачи ошибки "нет места", файл записался с нулевой длиной, и бывшие его кластеры превратились в свободное место, которое сожрали новые файлы.qa писал(а):Ведь его размер до "Сохранить" имел, так сказать, законное место на диске.
Разницы никакой, раздел-то один.qa писал(а):Но ничего не писалось в ту папку, где находится the файл.
NTFS - не родная файловая система для Линукса, может, он не совсем корректно с ней работает. Хотя у меня из-под Убунты никаких проблем с NTFS-ом не было. Я все файлы из-под линуха сохраняю на диски NTFS, чтобы они были доступны в обеих системах.qa писал(а):- Какова может быть причина, что файл превратился в 0 bytes? Ведь, по идее, он просто должен остаться тем, чем он был до моей попытки редактирования? Что такого в подобной ситуации делает NTFS, что файл мог превратиться в 0 bytes?
-
- Advanced Member
- Сообщения: 408
- Зарегистрирован: 16.10.2015,18:49
- Откуда: Москва
1) При открытии файла оригинал лочится, читается, но остаётся на своём месте, и никакая прога перезаписать его не может.
2) При редактировании создаётся либо резервная, либо временная копия файла, с неудобоваримым расширением, а то и именем, куда записываются все изменения, походу дела. Этот файл открыт на запись и для других прог он залочен. Файл может быть создан как во временной папке, так и во файле подкачки, второй вариант == треш, из первого ещё можно что-то достать, поискав недавно удалённые временные файлы.
3) Теперь главное западло: в файловой системе НЕ МОЖЕТ БЫТЬ файлов с одинаковыми именами, одновременно, в одной папке. ОС, получает запрос на запись во временный файл, но АМБА, места на диске нема, ноль по модулю, и все изменения во временный файл НЕ попадают - некуда их втиснуть.
Файл записан, с ошибкой, но записан! Его размер == 0 байт. Это важно! особенно, если запись из-под неродной ОС.
4) Теперь система удаляет файл-оригинал и переименовывает файл временный в постоянный. Таков алгоритм её работы.
Получается: освобождаем место оригинального файла, коее тут-же захватывается "торрент-качалкой", а переименовываем уже файл 0-го размера...
Вот те и "оба файла долой"!
Искать что-либо на дисках - бесполезно, инфа затёрта. В обоих версиях файла, точнее, в обеих цепочках секторов, ранее занимаемых обоими файлами.
Никакие проги вида "р-студия" уже не помогут. Единственная лазейка - если линух писал временный файл сперва на свой раздел, причём, отдельным файлом. Ибо писать сразу несколько ntfs-потоков (явный+теневые) линух не захочет или не сумеет, и в недрах ntfs-ной MFT никаких упоминаний об изменении файла-оригинала не останется.
Перефразируя циничную поговорку:
"проблемы форточки линух не волнуют".
2) При редактировании создаётся либо резервная, либо временная копия файла, с неудобоваримым расширением, а то и именем, куда записываются все изменения, походу дела. Этот файл открыт на запись и для других прог он залочен. Файл может быть создан как во временной папке, так и во файле подкачки, второй вариант == треш, из первого ещё можно что-то достать, поискав недавно удалённые временные файлы.
3) Теперь главное западло: в файловой системе НЕ МОЖЕТ БЫТЬ файлов с одинаковыми именами, одновременно, в одной папке. ОС, получает запрос на запись во временный файл, но АМБА, места на диске нема, ноль по модулю, и все изменения во временный файл НЕ попадают - некуда их втиснуть.
Файл записан, с ошибкой, но записан! Его размер == 0 байт. Это важно! особенно, если запись из-под неродной ОС.
4) Теперь система удаляет файл-оригинал и переименовывает файл временный в постоянный. Таков алгоритм её работы.
Получается: освобождаем место оригинального файла, коее тут-же захватывается "торрент-качалкой", а переименовываем уже файл 0-го размера...
Вот те и "оба файла долой"!
Искать что-либо на дисках - бесполезно, инфа затёрта. В обоих версиях файла, точнее, в обеих цепочках секторов, ранее занимаемых обоими файлами.
Никакие проги вида "р-студия" уже не помогут. Единственная лазейка - если линух писал временный файл сперва на свой раздел, причём, отдельным файлом. Ибо писать сразу несколько ntfs-потоков (явный+теневые) линух не захочет или не сумеет, и в недрах ntfs-ной MFT никаких упоминаний об изменении файла-оригинала не останется.
Перефразируя циничную поговорку:
"проблемы форточки линух не волнуют".
-
- Full Member
- Сообщения: 245
- Зарегистрирован: 02.09.2005,02:53
- Откуда: СПб, Россия
- Контактная информация:
-
Вклад в сообщество
В принципе, от прочтения этого http://www.phantom.sannata.ru/forum/ind ... 9#pp381779 и этого http://www.phantom.sannata.ru/forum/ind ... 1#pp381801 ), создается впечатление, что буквально восстановить едва ли получится.
Говоря про вообще, то если смотреть на ситуацию в том духе, что возможно что-то искать и найти, то видится проблема: поиск файлов в той же DMDE так или иначе требует наличия сигнатуры, а какая сигнатура у plain text файла? Если искать по началу файла - я помню его начало - то как понять, где его конец, поскольку его конец я не помню?
Говоря про вообще, то если смотреть на ситуацию в том духе, что возможно что-то искать и найти, то видится проблема: поиск файлов в той же DMDE так или иначе требует наличия сигнатуры, а какая сигнатура у plain text файла? Если искать по началу файла - я помню его начало - то как понять, где его конец, поскольку его конец я не помню?