Почему я не могу видеть некоторые файлы в своей карте с интерфейсом USB в Windows, который я вижу на Linux?

Одна опция состоит в том, чтобы использовать подход корзины, как здесь.
Существует много примеров там помимо этого - это было просто первым в моих результатах поиска. В основном все операции комнаты становятся командами mv. Если Вы комната неправильные файлы, они находятся все еще на машине и легко восстанавливаемы. И подход, связанный выше, создает псевдоним к основной команде комнаты, таким образом, можно все еще использовать его, когда Вы действительно хотите.

6
08.04.2014, 15:06
2 ответа
[1128201]UPDATE[12157] Итак, я действительно не думал, что буду исследовать [1128635]NTFS[1128636] этим утром, но, в основном благодаря комментариям Эндрю Медико ниже, я кое-что узнал.[12158]Правда в том, что файловые [1128637]потоки [1128638] странные, и они сбивают меня с толку, но, видимо, это становится глубже. Ведущий себя очень похоже на [1128639]NTFS[1128640] потоки [1128641]потоки [1128642], [1128643]Transactional NTFS[1128644] фиксирует изменения файла в каком-то альтернативном кэше, пока это изменение не будет гарантировано. Когда это так, файл фиксируется атомически и полностью в одном кэше. Я перепутал концепцию потока файла [1128645] [1128646] - которая, по моему мнению, должна быть очень похожей по своей сути и, вероятно, в какой-то мере вовлечена, так как может быть несколько [1128647] именованных [1128648] и только один [1128649] безымянный поток [1128650] для каждого файла - с тем, что, по-видимому, происходит с [1128651]TNTFS. [1128652] И я полагаю, что [1128653] не единственный [1128654]:[12159] В связи со сложностью и различными нюансами, которые разработчики должны учитывать при разработке приложений, Microsoft рассматривает возможность отказа от TxF API в будущей версии Windows. Поэтому Microsoft настоятельно рекомендует разработчикам исследовать альтернативные варианты, а не использовать [12160]Transactional NTFS[12161]API платформу, которая может быть недоступна в будущих версиях Windows.[12162]Когда я собирал тот образ Windows, о котором я упоминал ниже, у меня возникла проблема с исчезновением, повторным появлением файлов - казалось бы, даже после полного удаления диска, - что, в основном, и составило фактически усечение диска. Моя теория тогда была - и до сих пор остается частично - что кэш Linux не фиксировал изменения в потоках файла [1128657][1128658]. Теперь я думаю, что он просто не обрабатывал атомарные коммиты так, как ожидалось:[12163]Удаление файла[12164]Файл или каталог, который удаляется вызовом функции [1128907]DeleteFileTransacted[1128908] [1128909], остается видимым[1128910] для всех внешних читателей. [12165]*Заметка [1128911]* все [1128912]* обработчики [1128913] к файлу должны быть закрыты до конца транзакции [1128915] [1128916]. Если [1128917] обработчики [1128918] не закрыты должным образом, то [1128919] удаление [1128920] не происходит. Все открытые дескрипторы файла должны быть закрыты до выполнения фиксации [1128921]commit[1128922], чтобы операция удаления считалась частью транзакции. Это происходит потому, что система на самом деле не удаляет файл до закрытия последнего дескриптора, даже когда операция не выполняется, как часть подсистемы ввода/вывода файлов Windows.[12166]Удаление каталога[12167]Каталог, который удаляется вызовом функции [1128923]RemoveDirectoryTransacted[1128924] [1128925], остается видимым[1128926] для всех внешних считывателей. [12168]Проблемы с блокировкой каталога[12169] Если файл изменяется в транзакции, все компоненты каталога в пути к файлу именуются как [1128927] и прикрепляются к переименованию [1128928] до тех пор, пока транзакция не завершится. То есть система [1128929]не позволяет [1128930] переименовывать [1128931] их до тех пор, пока транзакция не будет зафиксирована или откатирована. Попытка переименовать каталог, являющийся предком файла, который был изменен в текущей транзакции, завершится неудачей с ошибкой [1128933]ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY.[12170]И вот дополнительная информация из [1128669]NTFS-3G[1128670]:[12171]Alternate Data Streams (ADS)[12172]NTFS хранит все данные в потоках. Каждый файл имеет ровно один [1128671]-неименованный поток данных [1128935]-[12173] и может содержать множество именованных потоков данных [1128673]-[1128674]. Размер файла - это размер его неназванных данных [1128675]потока [1128676]. По умолчанию [1128677]ntfs-3g[1128678] будет читать только [1128679]безымянный поток данных [1128937][1128938].[1128680] Используя опции [1128681] "streams_interface=windows"[1128682] (при использовании lowntfs-3g это невозможно), вы сможете читать любые именованные потоки данных, просто указав имя потока после двоеточия. Например:[12174]Именованные потоки данных действуют как обычные файлы, поэтому вы можете читать из них, записывать в них и даже удалять (используя rm). Вы можете перечислить все именованные потоки данных, которые есть в файле, получив расширенный атрибут "ntfs.streams.list".[12175]А для настройки их использования вы используете параметр модуля:[12176]Этот параметр управляет тем, как пользователь может получить доступ к [1128683]Альтернативным потокам данных (ADS)[1128684] или, другими словами, [1128685]именованным потокам данных[1128686]. Его можно установить в одно из отсутствующих окон [1128687]windows[1128688] или [1128689]xattr[1128690]. Если опция установлена в none, то пользователь не будет иметь доступа к именованным потокам данных. Если установлено значение [1128691]windows[1128692] (невозможно с [1128693]lowntfs-3g[1128694]), то пользователь может получить доступ к ним так же, как и в Windows (например, cat file:stream). Если установлено значение [1128695]xattr[1128696], то именованные потоки данных отображаются на [1128697]xattrs[1128698], и пользователем можно манипулировать с помощью [1128699]{get,set}fattr утилит[1128700]. [1128701]По умолчанию [1128939]xattr[1128940] на Linux,[1128702] ни на одной другой операционной системе.[12177]Полагаю, это может привести к падению и грязи. Я думаю, что это может быть связано с тем, что я прочитал выше. Просматривая их журналы изменений, я вижу:[12178]ntfs-3g[1129015]:[1128942] исправлены типы возвращаемых файлов в [1128943]readdir()[12179]mkntfs:[12180]вставка [1128947]$Info потока[1128948] в [1128949]$UpCase[1128950] для соответствия Windows 8[12181]ntfs-3g: [12182] сохраните имя [1128953] удаленного файла [1128954] для более легкого извлечения [1128955] [12183] Все вышеперечисленное, по крайней мере, в некоторой степени относится к некоторым из [1128709] вопросов удаления [1128710], упомянутых в вышеприведенных документах [1128711]TNTFS[1128712]. [12184]Вот [1128713]что говорит Tuxera NTFS-3G[1128714]:[12185]Почему файл не удаляет свободное дисковое пространство?[12186]В большинстве случаев удаляется, за исключением следующих сценариев:[12187]В некоторых конфигурациях рабочего стола файлы не удаляются по-настоящему, а перемещаются в каталог [1129020]'Trash'[1129021] или [1129022]'Trash-username'[1129023] в корневом каталоге раздела. Когда эти каталоги очищаются, дисковое пространство восстанавливается.[12188]По замыслу Linux и Unixes освобождают дисковое пространство удаленных файлов навсегда только в том случае, если ни одна программа больше не держит их открытыми. [1129024]NTFS[1129025] способна хранить небольшие файлы и каталоги фиксированного размера [1129026](1 кБ) записей (inodes) MFT[1129027]. При удалении таких файлов записи [1129028]MFT[1129029] помечаются свободными для повторного использования или недоудаления, и освобождать место не удается.[12189]Состояние: [1128721]Не проблема с NTFS-3G.[12190]Почему я не могу переместить файлы в мусор?[12191]Перемещение файла в мусорное ведро возможно только в том случае, если каталог мусорного ведра принадлежит текущему пользователю. Это означает, что право собственности на файлы включено, либо путем принуждения к владению текущим пользователем, либо используя режим общего права собственности и разрешений.[12192]WIPING GETS MY VOTE[12193]Это выглядит не очень хорошо, если не вытирать диск - что может быть неплохой идеей. Если вы можете получить доступ к файлам в Linux, просто сделайте их резервную копию. Тогда возьмите драйвер[1128727]exFAT[1128728] и используйте его - это намного проще, и, честно говоря, я начинаю жалеть, что это из-за раздела...[12194]Или, может быть, это [12195]исправлено?[12196]Почему при создании файла я получаю сообщение "Операция не поддерживается"? [12197]Последний драйвер решил эту проблему[1129031], пожалуйста, обновите[12198]OLD[12199]Это может быть по нескольким причинам :[12200]В Linux ваш драйвер [1129032]ntfs3g[1129033] может - как я думаю ваш - показывать потоки файла [12201]. [12202]Это малоизвестная и мало используемая функция файловой системы [1129036]NTFS[1129037], которая в основном используется для [1129038]теневых копий[1129039], хранящихся в самой Windows для версий файлов. В любом случае, в результате иногда один и тот же файл [1129040] [1129041] представляет собой [1129042] два файла.[1129043] Или более ровно. Это может стать особенно утомительным, если вы удалите файлы с [1129044]ntfs3g[1129045] монтирования без правильной обработки разрешений, введенных Windows на диске. По сути, вы измените потоки [1129046]файлов' [1129066] [1129067].[1129047] Это сбивает с толку, вероятно, поэтому он используется нечасто, но вот, пожалуйста: [12203]FILE STREAMS[12204]Ваш usb диск разбит на [1129050].[1129051] Windows плохо работает с многораздельными дисками, помеченными флагом [1129052]съемным[1129053] - в то время как это все часть и часть Unix-пути. Есть варианты - [12205]Rufus[12206]и [12207]ImDisk[12208]- это два, о которых я могу думать с верхушки головы.[12209]Я уже говорил [1128739]скорее [1128740] раньше для номера два, но если присмотреться к вашему вопросу поближе, то думаю, что номер 1 - это ваша проблема. [12210]DIGRESSION[12211]Впервые я узнал о файле [1128741]NTFS[1128742] [1128743]потоков [1128744], когда собирал свой первый установочный образ Windows в Linux. Очевидно, большая часть того, что происходит в процессе установки Windows - это преобразование файловых потоков [1128745][1128746] в архивах [1128747].wim[1128748] в обычные файлы во время установки. Если вы вообще заинтересованы в работе с ними в Linux окружении, я смиренно рекомендую [12212]wimlib[12213].[12214]Думаю, есть [12215]третья возможность,[12216]и, возможно, в конце концов, это так:[12217]3.[12218]Пропавшие, исчезнувшие файлы или каталоги?[12219]Если верхний каталог полностью пуст, то очень вероятно, что том NTFS не смонтирован. Если только некоторые файлы отсутствуют, то, пожалуйста, обновите как минимум до NTFS-3G 2009.1.1, который имеет полную, встроенную поддержку Unicode UTF-8 преобразования.[12220]Если вы используете Mac OS X или FreeBSD и имеете как минимум одно очень длинное имя файла с национальными символами, а длина имени файла переводится более чем на 255 UTF-8 байт (больше шансов с корейским и греческим языками), то Mac OS X и FreeBSD не покажут ни одного файла в каталоге.[12221] Если вы выполняете двойную загрузку в Windows 8, возможно, включена функция быстрой перезагрузки. Это может привести к тому, что Windows 8 проигнорирует изменения, сделанные другой ОС на любом внутреннем разделе. Безопасным способом избежать потери данных является отключение функции быстрого перезапуска путем выдачи администратору Windows команды :[12222] Если на вашем компьютере установлен SSD-накопитель, он может использоваться Windows в качестве кэша, управляемого как аппаратным ("Intel Fast Response Technology"), так и программным обеспечением ("Expresscache", "ReadyCache" и т.д.). Эта функция, как правило, несовместима как с Windows, так и с Linux, и, возможно, вам придется ее отключить.[12223]3[1128764]: [1128276]
8
27.01.2020, 20:27

Просто просканируйте привод в опции привода.

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

-1
27.01.2020, 20:27

Теги

Похожие вопросы