
У меня был usb с файлами моего проекта, и периодически возникала проблема с повторным монтированием usb. Команда монтирования сказала, что это было несоответствие mftmirr из-за типа файла ntfs, поэтому я решил изменить интерфейс файловой системы на mkfs.ext4. Теперь содержимое моего флеш-накопителя полностью исчезло. При дальнейшем расследовании я могу подтвердить, что mkfs не удаляет файлы, поэтому мой вопрос: что могло вызвать это?
решение1
mkfs
Команды форматируют целевой диск с новой файловой системой. Форматирование создает пустую файловую систему, которая не содержит файлов. Это цель форматирования.
Прекратите использовать этот дисксейчаси перемонтируйте его только для чтения. Если вам повезет, вы сможете восстановить свои файлы с помощью photorec
или аналогичного программного обеспечения.
решение2
mkfs
не удаляет файлы явно. На целевом устройстве он создает структуры, специфичные для желаемой файловой системы, не заботясь ни о чем, что там уже есть. Новая файловая система создается пустой.
В результате старые файлы исчезают. Правда, если новая файловая система не создана с опцией, которая очищает все устройство (например, записывает нули в пространство, которое теперь отмечено как неиспользуемое), старые данные и метаданные частично там. Тем не менее, нет простого способа добраться до старых данных, поскольку самые основные структуры, которые идентифицировали старую файловую систему, были перезаписаны самыми основными структурами новой файловой системы. Последние говорят, что есть новая файловая система, и она пуста. В такой ситуации ни одна ОС не ищет остатки возможных старых файловых систем, поэтому файлы кажутся исчезнувшими.
Все еще справильные инструментычья работа заключается в поиске остатков, иногда вы можете вернуть некоторые данные. Чтобы максимизировать свои шансы, вам следует немедленно прекратить запись в новую файловую систему. Размонтируйте ее. Если вам нужно смонтировать ее, смонтируйте ее только для чтения.
Изменение одной файловой системы на другую на месте и без потери файлов называетсяконверсия. Инструменты из mkfs
семейства этого не делают. В общем случае нет способа конвертировать из одной произвольной файловой системы в другую произвольную файловую систему. Есть инструменты для конвертации из некоторыхспецифическийтип файловой системы на другойспецифическийтип. Я не знаю инструмента, который позволяет конвертировать из NTFS в ext4. Поскольку они очень разные, я был бы удивлен, если бы такой инструмент существовал. Обычный способ изменить тип файловой системы — скопировать данные в другое место, создать новую пустую файловую систему (как вы сделали), скопировать данные обратно.
Даже если новый тип такой же, как и старый, mkfs
он не исправляет старую файловую систему. Его задача — создать пустую файловую систему.заново. Для исправления файловой системы требуется другой инструмент (начиная с fsck
семейства), ноLinux не очень хорошо подготовлен к исправлению NTFS. Я думаю, в вашем случае уже слишком поздно исправлять старую файловую систему в целом. Вам следует сосредоточиться на восстановлении файлов.