Я столкнулся с похожей ситуацией, но в моем случае я не могу удалить файл, созданный собственной программой. Я был уверен в этом, потому что он присутствовал в каталоге, созданном моей программой. Я не знал, где и когда я запускал эту программу. Решение :Я просто вышел из всех своих терминалов. Я снова вошел в систему и просто удалил файл.
П.С. Мой ответ действителен только для указанного мной сценария.
Этот вопрос почти дублирует два отдельных вопроса, поэтому я буду краток и отсылаю вас к более ранним вопросам для получения подробной информации. Да, для каждой файловой системы нужен свой драйвер. (Один и тот же фрагмент кода иногда может служить драйвером для аналогичных файловых систем; например, драйвер Linux ext4 также является драйвером ext3. )См. Как ядро Linux монтирует файловые системы? Что на самом деле это делает? для более подробной информации.
Универсальный код поддержки файловой системы определяет, какой драйвер использовать, на основе инструкций к команде mount
или системному вызову, а также на основе метаданных, хранящихся в файловой системе или за ее пределами (метаданных раздела — это редко используется, потому что он очень неполный, возможно, ненадежный и обычно избыточен метаданными в файловой системе ). См. Где хранится информация о формате файловой системы на внешних жестких дисках
Если вы создаете собственную файловую систему, вам необходимо предоставить для нее драйвер.