πfs новая файловая система, с которой вам не придётся беспокоиться о данных


Оглавление (нажмите, чтобы открыть):

πfs — файловая система хранения данных­ 15.08.2013 17:15

Что это? πfs это революционная файловая система, которая вместо того, чтобы тратить место на вашем жестком диске, хранит все данные в π. Вам никогда больше не придется заботится о свободном месте! Вам говорили, что 100% сжатие невозможно? Да вот же оно! Как собрать? πfs собирается элементарно:./configure make Да и использовать его не сложнее: πfs -o mdd= Где — каталог с метаданными (названия файлов, смещение в π), а ­— каталог монтирования.Что же π делает с моими данными? π — одна из самых важных констант математики, и у нее есть куча интересных свойств (о которых можно прочесть в статье на википедии) Одним из таких свойств числа π предположительно является нормальность, что означает, что все его числа распределяются равномерно, при условии, что это дизъюнктивная последовательность, т.е. все конечные числовые последовательности находятся внутри него. Если мы рассмотрим число π по основанию 16 (HEX), то это предположение верно. Первая запись об этом была в 2011 году. Ну, а если так, то зачем нам хранить все эти эксабайты данных на винчестерах, если мы можем найти их в π? Читать дальше →

Новая файловая система Apple — APFS, о которой на открытии WWDC не говорили

Среди анонсов презентации WWDC, итоги которой стали наиболее значимой технологической темой недели, не рассматривалась одна очень важная для всех пользователей продуктов компании Apple тема, касающаяся OS X и iOS. Apple переходит от использования файловой системы HFS+, которой уже три десятилетия, к APFS. Основа новой операционной системы была показана разработчикам. Чем будет отличаться в лучшую сторону файловая система APFS и что грядущий переход к ней означает для пользователей?

Эта тема была достаточно подробно рассмотрена в опубликованной ресурсом zdnet.com заметке Робина Харриса (Robin Harris) «WWDC 2020: Apple File System a welcome update for MacOS and iOS». Разумеется, то, что на сегодняшний день известно о новой файловой системе — технические детали, а полное понимание смысла той терминологии, которая применяется в отношении APFS, пока отсутствует, поскольку неясно, как именно будут реализованы новые функции и что они, в конечном итоге, станут означать для пользователей.

Из документации к ней следует, что релиз новой файловой системы планируется осуществить в 2020 году. Это означает, что она не будет полностью поддерживаться до выхода MacOS 10.12.1. UNIX-ядро MacOS позволяет легко менять файловые системы, поэтому APFS может стать опцией уже в поздних версиях Sierra.

Apple предупреждает о том, что APFS находится на ранних стадиях разработки и ее пока не следует использовать ни для чего важного. Кроме того, она требует MacOS Sierra. На сегодняшний день пользователь не сможет загружаться с нее, и она чувствительна к регистру клавиатуры. С APFS также не работают Time Machine, FileVault и Fusion. Остается лишь надеяться, что поддержка данных технологий или их преемников появится со временем.

APFS обладает рядом важных возможностей, в том числе 64-битных индексных дескрипторов (инодов, inodes). APFS способна поддерживать более 9 квинтильонов файлов в одном разделе носителя.

Точность меток времени — наносекундная, что важно для журнала и кластерных систем. «Copy-on-write» (копирование метаданных в процессе записи) помогает восстановить данные после системных сбоев.

Поддержка TRIM. HFS+ характеризуется субопциональной поддержкой TRIM. APFS асинхронно управляет TRIM-операциями после сохранения метаданных на стабильных носителях.

Родное кодирование. Пользователь может выбирать из различных схем кодирования, выбирая определенную для каждого из разделов APFS. Сюда в том числе включается и шифрование на нескольких ключах шифрования (multi-key encryption) с возможностью определения своих ключей для файлов и отдельного ключа для важных метаданных.

Родная поддержка SMB. SMB является технологией, которая за пределами экосистемы Apple используется для того, чтобы делиться данными в сетях.

Рассмотренные выше возможности новой операционной системы будут интересны в первую очередь ИТ-профессионалам. Но она обладает и такими качествами, которые смогут оценить и обычные пользователи.

Оптимизация SSD. APFS работает с дисками, но предлагает также и дополнительную новую ключевую функцию — «слитную запись» (write coalescing). Флеш SSD записывает достаточно медленно, поэтому вместо независимых малых порций записи APFS способна собрать записываемое в группу и осуществить запись большого объема одновременно, что обеспечивает повышение производительности.

Разделы APFS могут динамически расти и сокращаться вплоть до предельного объема накопителя. Необходимости в повторном выделении разделов на диске в данной файловой системе нет.

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

Моментальные снимки файловой системы (Snapshots) давно используются в хранилищах информации, предназначенных для предприятий. Подобно тому, как это происходит с клонами, эта функция позволяет записывать только те блоки файловой системы, которые были модифицированы. Старые блоки, сохраняющиеся в файловой системе, могут быть восстановлены до состояния более раннего времени. Весьма полезно в тех случаях, когда на Mac оказался вредоносный код.

В настоящее время еще неизвестно в деталях, как именно APFS станет управлять метаданными. Впрочем, важен сам факт движения Apple к более современной файловой системе.

Что означает для обычных пользователей и разработчиков, которых компания не устает радовать, новая файловая система Mac?

10 фактов о новой файловой системе от Apple – APFS

Прошивка iOS 10.3 стала доступна официально и миллионы пользователей по всему миру полностью перешли на использование новой файловой системы. Аббревиатура APFS обозначает новую файловую систему Apple и со временем она будет использоваться на всех основных платформах компании. Но почему Apple использует её? Что в ней такого особенного? Данная статья посвящена именно этой теме.

Apple File System

Аббревиатура APFS расшифровывается как файловая система Apple (Apple File System). Она заменяет файловую систему HFS+ и со временем эта файловая система станет неотъемлемой частью iOS, macOS, tvOS, и watchOS – то есть будет использоваться во всей линейке устройств: от компьютеров Mac, iPhone, iPad, Apple TV и до устройства Apple Watch.

В настоящее время iOS 10.3 является единственной доступной для всех платформой, в которой используется файловая система APFS.

APFS может быть интегрирована на всех платформах Apple.

Файловая система HFS+ появилась в 1998 году и теперь ей уже почти 20 лет. Она стала реликтом давно прошедшей эпохи. Она создавалась в эпоху компьютеров Maк и дорабатывалась для использования в устройствах iPhone, Apple Watch и Apple TV.

Но многое поменялось за последние 20 лет. Мы перешли с жёстких дисков на твердотельные накопители SSD, ПО более не распространяется на дисках CD, а просто скачивается. Резервные копии наших устройств теперь хранятся в облачных сервисах.

Оптимизирована для работы с флеш накопителями

В наши дни почти каждое новое устройство, которое продаёт Apple, работает на флеш накопителе, включая большинство компьютеров Mac. А APFS разрабатывалась для работы с устройствами хранения на основе флеш-памяти. Поэтому мы увидим улучшение таких параметров как скорость чтения и записи, и повышение общей надёжности, когда речь заходит о хранении и передаче информации.

Главная особенность: «Снимки» системы и клонирование

Двумя главными особенностями APFS является возможность делать «снимки» системы и возможность клонирования данных.

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

Используя клоны, APFS сможет создавать быстрые копии одного и того же раздела без использования дополнительного дискового пространства.

Минимальное время ожидания


APFS имеет минимальное время ожидания. А это означает, что такие операции как запуск приложений и загрузка данных будет происходит заметно быстрее. Что в свою очередь, приведёт к сокращению времени ожидания – будем меньше видеть крутящееся колёсико ожидания в iOS и иконку пляжного мячика в Mac OS.

Свободные перетекающие дисковые разделы

Если вы пользуетесь дисковыми разделами на своём Мак компьютере, то APFS может немного облегчить вашу жизнь. Если закончится свободное дисковое пространство на одном разделе, то APFS может автоматически использовать свободное пространство другого раздела, потому что APFS создаёт специальные контейнеры вокруг каждого раздела диска.

Шифрование – наше всё

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

Наработки для будущего

HFS+ поддерживает 32-битный файл метаданных. APFS поддерживает работу с 64-битными номерами индексных дескрипторов. APFS разрабатывался для работы в будущем и со временем будет работать ещё лучше при выпуске соответствующих обновлений.

Прошивка iOS 10.3 возвращает вам дисковое пространство

Переход на использование APFS имеет одно явное преимущество. Вы получаете в своё распоряжение пространство на диске –количество сэкономленного пространство будет зависеть от степени заполнения вашего диска. Некоторым удавалось вернуть парочку гигабайтов, после обновления.

APFS для Mac OS пока существует в виде бета-версии

iOS уже использует новую файловую систему, а для Мак ОС новая файловая система пока существует лишь в виде очень ранней бета-версии. И компании Apple придётся приложить не мало усилий, чтобы перевести Мак компьютеры на использование APFS. Доступ к файловой системе в iOS для посторонних закрыт, а в Мак ОС используется открытая, редактируемая файловая система. Другими словами, APFS на практике может столкнуться с разными крайними случаями, о которых пока специалисты Apple даже не подозревают. Надеемся, что все эти проблемы будут разрешены в течении периода бета-тестирования. Вы можете попробовать бета-версию в действии. Правда она не совсем готова для повседневного использования. APFS не поддерживает работу с загрузочными дисками, с приложением Time Machine, шифрование FileVault и режим Fusion дисков.

Да, нужно обновляться до iOS 10.3

В настоящее время, iOS 10.3 является единственным способом попробовать APFS в действии. И несмотря на то, что это полностью новая файловая система, тем не менее, на неё стоит перейти. Данное обновление тестировалось в течении нескольких недель большим количеством бета-тестеров и всё говорит в пользу перехода на обновлённую версию. Сам переход происходит достаточно гладко, быстро и без потерь данных. Тем не менее, перед обновлением, мы рекомендуем на всякий случай провести резервное копирование своих данных с помощью соответствующих сервисов приложения iTunes или облачного хранилища iCloud (что рекомендовано в любом случае).

Оцените статью 5,00 / 5 (Всего 1)

Не пропускайте новости Apple – подписывайтесь на наш Telegram-канал, а также на YouTube-канал.

Файловая система

Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System), Internet File System.

Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися во внешней памяти, и обеспечить совместное использование файлов несколькими пользователями и процессами.

В широком смысле понятие «файловая система» включает:

— совокупность всех файлов на диске;

— наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске;

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

Файловая система используется обычно как при загрузке ОС после включения компьютера, так и в процессе работы. Файловая система выполняет следующие основные функции:

— определяет возможные способы организации файлов и файловой структуры на носителе;

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

— отслеживает свободное пространство на носителе.

Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жестком диске или блоке флэш-памяти) он записан. Все, что знает программа – это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

С точки зрения операционной системы, весь диск представляет собой набор кластеров (участков памяти) размером от 512 байт и больше. Драйверы файловой системы организуют кластеры в файлы и каталоги (реально являющиеся файлами, содержащими список файлов в этом каталоге). Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные. Чтобы ясно представлять, как же хранятся данные на дисках, и как ОС обеспечивает доступ к ним необходимо представлять, хотя бы в общем виде логическую структуру диска.

3.1.5 Логическая структура диска

Для того чтобы компьютер мог хранить, читать и записывать информацию жесткий диск предварительно должен быть размечен. На нем с помощью соответствующих программ создаются разделы – это и называется «разбить жесткий диск». Без этой разметки на жесткий диск не удастся установить операционную систему (хотя Windows XP и 2000 могут устанавливаться на неразбитый диск, но они такую разметку проводят сами в процессе установки).

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

Мастер Йода рекомендует:  Дополнительный заработок на просмотре видео

Кроме того, существуют и другие причины разбиения диска на разделы, например:

— возможность использования под управлением MS DOS дисков с емкостью большей, чем
32 Мб;


— в случае повреждения диска, пропадает только та информация, которая находилась на этом диске;

— реорганизация и выгрузка диска маленького размера проще и быстрее, чем большого;

— каждому пользователю можно выделить свой логический диск.

Операция подготовки диска к работе называется форматированием, или инициализацией. Всё доступное дисковое пространства разбивается на стороны, дорожки и сектора, причем дорожки и стороны нумеруются с нуля, а сектора – с единицы. Совокупность дорожек, находящихся на одинаковом удалении от оси диска или пакета дисков, называется цилиндром. Таким образом физический адрес сектора определяется следующими координатами: номер дорожки (цилиндра – С), номер стороны диска (головки – H), номера сектора – R, т.е. CHR.

В самом первом секторе жесткого диска (C=0, H=0, R=1) содержится главная загрузочная запись Master Boot Record. Эта запись занимает не весь сектор, а только его начальную часть. Главная загрузочная запись является программой – внесистемным загрузчиком.

В конце первого сектора жесткого диска располагается таблица разделов диска – Partition Table. Эта таблица содержит четыре строки, описывающих максимально четыре раздела. Каждая строка в таблице описывает один раздел:

1) активный раздел или нет;

2) номер сектора, соответствующего началу раздела;

3) номер сектора, соответствующего концу раздела;

4) размер раздела в секторах;

5) код операционной системы, т.е. какой ОС принадлежит данный раздел.

Раздел называется активным, если он содержит программу загрузки операционной системы. Первым байтом в элементе раздела идет флаг активности раздела (0 – не активен, 128 (80H) – активен). Он служит для определения, является ли раздел системным (загрузочным), и для необходимости производить загрузку операционной системы с него при старте компьютера. Активным может быть только один раздел. Небольшие программы, называемые менеджерами загрузки (Boot Manager), могут располагаться в первых секторах диска. Они интерактивно запрашивают пользователя, с какого раздела производить загрузку и соответственно корректируют флаги активности разделов. Поскольку в Partition Table четыре строки, то на диске может быть до четырех различных ОС, следовательно, диск может содержать несколько первичных разделов, принадлежащих разным операционным системам.

Пример логической структуры жесткого диска, состоящего из трех разделов, два из которых принадлежат DOS, а один принадлежит UNIX, приведен на рисунке 3.2а.

Каждый активный раздел имеет свою загрузочную запись – программу, которая осуществляет загрузку данной ОС.

На практике диск разбивается чаще всего на два раздела. Размеры разделов, объявление их активными или нет, устанавливаются пользователем в процессе подготовки жесткого диска к работе. Делается это с помощью специальных программ. В DOS эта программа называется FDISK, в версиях Windows-XX – Diskadministrator.

В DOS первичный раздел – Primary Partition, это тот раздел, который содержит загрузчик операционной системы и саму ОС. Таким образом, первичный раздел является активным разделом, используется как логический диск с именем C:.

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

Расширенный раздел Extended Partition может разбиваться на несколько логических дисков с именами от D: до Z:.

На рисунке 3.2б представлена логическая структура жесткого диска, в котором всего два раздела и четыре логических диска.

а б
Рисунок 3.2 – Логическая структура диска: а – с тремя разделами; б – с двумя разделами и четырьмя логическими дисками

3.1.6 Файловая структура диска

Рассмотрим подробнее файловую структуру логического диска, созданного в расширенном разделе на жестком диске. В начале логического диска располагается сектор, в котором находится загрузочная запись, а в конце сектора – таблица логических дисков. Фактически эта таблица является расширением Partition Table, имеет тот же формат, но содержит всего две строки, два элемента. Первый элемент указывает на первый сектор первого логического диска, второй указывает на следующую таблицу логических дисков. В таблице логических дисков последнего логического диска, устанавливается код, означающий окончание списка.

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

С этой целью

(рис.1)

в процессе форматирования ОС разбивает общее количество секторов на логическом диске на четыре непрерывные области:

1) стартовый сектор;

2) таблица размещения файлов FAT- File Allocation Table;

3) корневой каталог – Root Directory;

4) пространство данных.

Размер этих областей зависит от размера логического диска, но общая структура и порядок расположения не меняется.

Стартовый сектор (загрузочная записьBoot Record)

Это своего рода визитная карточка любого диска. Он содержит необходимые ОС сведения для работы с диском. Под него выделяется первый сектор диска на дорожке 00 поверхности 0. Этот сектор содержит короткую программу блока начальной загрузки ОС, независимо от того системный диск или нет. Кроме того в загрузочной записи находятся параметры, описывающие характеристики логического диска:

· размер секторов диска в байтах;

· количество копий FAT (обычно 2);


· количество элементов в корневом каталоге;

· количество секторов на диске;

· указатель типа магнитного носителя информации;

· количество секторов, занимаемых FAT;

· количество секторов на дорожку;

· размер кластера и т.д.

Конец загрузочной записи заканчивается двухбайтовой подписью 55АА.

Таблица размещения файлов FAT

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

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

Файл на диске, как правило, не занимает последовательную цепочку кластеров. Если дисковое пространство позволяет, то файл записывается в смежные кластеры, если нет – то в разные. В первом случае файл называется непрерывным, в последнем случае – фрагментированным. Если размер файла не кратен размеру кластера, то последний кластер лишь частично заполняется данными. Минимальный размер файла, даже если данные его занимают один байт, составляет целый кластер.

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

FAT представляет собой таблицу, в которой число элементов, совпадает с числом кластеров на диске. Если на диске какой-то кластер свободен, то в FAT соответствующий ему элемент содержит код 000. Если файл на диске занимает несколько кластеров, то с помощью FAT эти кластеры связываются в цепочку. Например, файлу выделены кластеры №7, №8, №10, №14, №17, №11, №12. Элемент FAT №7 хранит номер следующего кластера, выделенного файлу, т.е. №8. Элемент №8 хранит 10 и т.д., пока не будет достигнут последний кластер, выделенный файлу. В этом последнем кластере записан специальный код FFF – признак конца файла.

FFF FF7
FF7

Рисунок 3.3 – Фрагмент таблицы размещения файлов

Запись в каталоге, соответствующая данному файлу, содержит номер первого кластера (точка входа), выделенного файлу, в нашем примере это №7.

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

Операционная система MS DOS поддерживает 16-битовый формат FAT, а ОС Windows – 32-битовый. Это означает, что для записи адреса элемента таблицы необходимо 16 или 32 бита, соответственно. Отсюда следует, что при 16-битовом формате можно пронумеровать 2 16 =65536 кластеров. В связи с этим ограничением операционные системы не позволяют работать с жесткими дисками размером более 2 Гбайт.

Таблица 3.1 иллюстрирует, какой максимальный размер дискового пространства может обслуживать FAT16 и FAT32.

Таблица 3.1 – Максимальный объём памяти диска при использовании FAT16 и FAT32

Размер диска Размер кластера для 16-битовой FAT Размер кластера для 32-битовой FAT
256-511 Мб 8 Кб Не поддерживается
512-1024 Мб 16 Кб 4 Кб
1024 Мб-2Гб 32 Кб 4 Кб
2 Гб-8 Гб Не поддерживается 4 Кб
8 Гб-16 Гб 8 Кб
16 Гб-32 Гб 16 Кб
Более 32 Гб 32 Кб

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

Более совершенная файловая система – FAT32 с 32-разрядными полями в таблицах размещения файлов, например, в ОС Windows 98/2000, позволяет уменьшать размер кластеров, что сокращает потери дисковой памяти и позволяет работать с жесткими дисками любого объёма. Ряд файловых систем, например, HPFS, WinFAT, сетевая Novell Netware, имеют механизмы дописывания остатков блоков различных файлов в частично заполненные кластеры. Этим обеспечивается более рациональное использование пространства внешней памяти.

В организации FAT могут возникать определенные дефекты. Ряд утилит позволяет диагностировать как логические ошибки в файловой системе, так и физические дефекты на поверхности диска.

Не нашли то, что искали? Воспользуйтесь поиском:

Для чего нужна файловая система ReFS – преимущества над NTFS и другими

Новая файловая система Microsoft ReFS была первоначально представлена ​​на Windows Server 2012. Она включена в Windows 10, где её можно использовать только как часть функции Storage Spaces для пула дисков. ReFS усовершенствована для Windows Server 2020 и является частью Windows 10 Pro для рабочих станций.

Что такое ReFS

Аббревиатура от «Resilient File System», ReFS – это новая файловая система, созданная с использованием кода текущей файловой системы NTFS. На данный момент ReFS – это не просто замена NTFS. Она имеет свои преимущества и недостатки. У Вас не получиться просто использовать ReFS вместо NTFS на вашем системном диске.

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

ReFS защищает от повреждения данных

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

ReFS интегрирован с функцией Storage Spaces. Если вы настроили зеркальное хранилище с помощью ReFS, Windows может легко обнаружить повреждение файловой системы и автоматически устранить проблемы, скопировав альтернативную копию данных на другом диске. Эта функция доступна как для Windows 10, так и для Windows 8.1.

Если ReFS обнаруживает поврежденные данные и не имеет альтернативной копии, с которой она может восстановиться, файловая система может немедленно удалить поврежденные данные с диска. Это не требует перезагрузки вашей системы или отключения от сети, как это делает NTFS.


ReFS не просто проверяет файлы на предмет повреждения при чтении и записи. Автоматический сканер целостности данных регулярно проверяет все файлы на диске, чтобы идентифицировать и исправлять повреждение данных. Это автоматическая корректирующая файловая система. Вам вообще не нужно использовать chkdsk.

Новая файловая система также устойчива к повреждению данных другими способами. Например, когда вы обновляете метаданные файла – например, название файла – файловая система NTFS будет напрямую изменять метаданные файла. Если ваш компьютер выйдет из строя или отключится питание во время этого процесса, может произойти повреждение данных. Когда вы обновляете метаданные файла, файловая система ReFS создаст новую копию метаданных. ReFS присвоит файлу новые метаданные только после записи новых метаданных. Нет опасности, что метаданные файла будут повреждены. Это называется «копирование на запись». Copy-on-write также доступен для других современных файловых систем, таких как ZFS и BtrFS для Linux, а также для файловой системы Apple – APFS.

ReFS устраняет некоторые ограничения NTFS

ReFS более современна, чем NTFS, и поддерживает гораздо большие объемы и более длинные имена файлов. В долгосрочной перспективе – это важные улучшения.

В файловой системе NTFS путь к файлу ограничен 255 символами. С ReFS имя файла может содержать до 32768 символов. Windows 10 позволяет отключить это ограничение для символов в файловой системе NTFS, но она всегда отключена на томах ReFS.

ReFS отказалась от имён файлов в формате DOS 8.3. На томе NTFS вы можете получить доступ к C:\Program Files\ через C:\PROGRA

1\ для обеспечения совместимости со старым программным обеспечением. Эти устаревшие имена файлов удалены из ReFS.

NTFS имеет теоретический максимальный объем в 16 эксабайт, а у ReFS теоретический максимальный объем – 262144 экзабайт. Сейчас это не имеет большого значения. но в один прекрасный день.

ReFS может быть быстрее, иногда

ReFS не просто предназначена для повышения производительности по сравнению с NTFS. Вместо этого Microsoft фокусируется на нескольких важных направлениях оптимизации, которые делают ReFS намного эффективнее в некоторых случаях.

Например, при использовании хранилища, ReFS поддерживает «оптимизацию уровня реального времени». У вас может быть пул дисков оптимизированными на производительность или дисков, оптимизированных на объем. ReFS всегда будет записывать диски, максимизируя производительность. В фоновом режиме ReFS автоматически переместит большие куски данных на более медленные диски для долговременного хранения.

В Windows Server 2020 Microsoft улучшила ReFS, чтобы обеспечить лучшую производительность с помощью определенных функций виртуальной машины. Microsoft Hyper-V использует эти преимущества (теоретически, другое программное обеспечение для виртуальных машин могло бы поддерживать их, если захочет).

Например, ReFS поддерживает клонирование блоков, что ускоряет процесс клонирования виртуальных машин и операции слияния контрольных точек. Чтобы создать клонированную копию виртуальной машины, ReFS нужно только создать новую копию метаданных на диске и привязать к существующим данным на диске. Это связано с тем, что в ReFS несколько файлов могут указывать на одни и те же базовые данные на диске. Когда виртуальная машина изменяется и новые записи сохраняются на диск, она записывает их в другое место, а исходные данные виртуальной машины остаются на диске. Это значительно ускоряет процесс клонирования и требует гораздо меньшего объема дискового пространства.

Мастер Йода рекомендует:  unix — всё по этой теме для программистов

ReFS также предлагает новую функцию «sparse VDL», которая позволяет ReFS быстро записывать нули в большой файл. Это значительно ускоряет создание нового, пустого файла виртуального жесткого диска фиксированного размера (VHD). В NTFS это может занять 10 минут, а ReFS сделает тоже самое за несколько секунд.

ReFS не может заменить NTFS

Все эти функции звучат неплохо, но вы не можете просто переключиться на ReFS из NTFS. Windows не может загружаться из файловой системы ReFS и требует NTFS.

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

Windows 10 не позволит вам форматировать любой старый раздел как ReFS. В настоящее время вы можете использовать ReFS только для пространства хранения, где её функции помогают защитить данные от повреждений. В Windows Server 2020 вы можете форматировать тома с помощью ReFS вместо NTFS. Возможно, вы захотите сделать это для тома, на котором планируете хранить виртуальные машины. Однако, вы по-прежнему не сможете использовать ReFS для загрузочного тома. Windows может загружаться только с диска NTFS.

Непонятно, какое будущее ждёт ReFS. Возможно, Microsoft в один прекрасный день улучшит её, пока она не сможет полностью заменить NTFS во всех версиях Windows. Неясно, когда это может произойти. Но, на данный момент ReFS может использоваться только для конкретных задач.

Как использовать ReFS

На обычном ПК с Windows 10 вы можете использовать ReFS только через функцию «Управление дисковыми пространствами». Обязательно отформатируйте свои пространства хранения как ReFS, а не NTFS, когда будете выбирать параметр файловой системы. Вы сможете автоматически использовать функции целостности данных в файловой системе ReFS, если её выберете.

В Windows Server вы можете форматировать некоторые тома как ReFS с помощью обычных инструментов управления дисками, что может быть особенно полезно, если вы используете виртуальные машины на этих дисках. Но, вы не можете отформатировать загрузочный диск как ReFS, и вы потеряете доступ к некоторым функциям NTFS.

begepotam

Озеро, на котором разгулялись волны, не может отразить в своих водах гору

Сегодня первый день остатка твоей жизни

А вот например очень интересный репозитори πfs.

Так как пи содержит все возможные комбинации цифр теоретически/практически эта константа содержит все возможные компьютерные файлы — то есть совсем не обязательно хранить их на винчестере, они уже есть в пи. Зная индекс (начало файла) и длину оттуда можно извлечь любой файл или часть файла. Эти мета данные (индекс + длина) единственное что нужно хранить на винчестере, остальное уже в пи.

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

Кому надо можно тянуть программу с гита и пользоваться.

индексы будут конечно длинные но эту штука пытается работать не напрямую а чуть хитрит, честно сказать хоть код там и не длинный я навскидку не понял шо она делает а разбираться лень, можешь глянуть — там всего пара файлов типа «ядро» https://github.com/philipl/pifs/blob/master/src/piqpr8.c и дополнительные методы https://github.com/philipl/pifs/blob/master/src/%CF%80fs.c

на тему быстродействия
Why is this thing so slow? It took me five minutes to store a 400 line text file!
> Well, this is just an initial prototype, and don’t worry, there’s always Moore’s law!

медленно конечно, но имеется ввиду что эта штука таки нашла 400 строчный файл и вернула/приняла его индекс с длиной, пусть ей для этого и потребовалось несколько минут.

технически индекс будет стремиться к бесконечности, как это решается вопрос другой 🙂


Файловая система REFS в Windows 10

Сначала в Windows Server, а теперь и в Windows 10 появилась современная файловая система REFS (Resilient File System), в которой вы можете отформатировать жесткие диски компьютера или созданные системными средствами дисковые пространства.

В этой статье — о том, что представляет собой файловая система REFS, о её отличиях от NTFS и возможных применениях для обычного домашнего пользователя.

Что такое REFS

Как уже было отмечено выше, REFS — новая файловая система, недавно появившаяся в «обычных» версиях Windows 10 (начиная с версии Creators Update ее можно использовать для любых дисков, ранее — только для дисковых пространств). Перевести на русский можно примерно как «Устойчивая» файловая система.

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

Одна из главных особенностей файловой системы REFS — защита от потери данных: по умолчанию, на дисках хранятся контрольные суммы для метаданных или файлов. При операциях чтения-записи данные файлов сверяются с хранимыми для них контрольными суммами, таким образом, в случае повреждения данных есть возможность сразу «обратить на это внимание».

Изначально REFS в пользовательских версиях Windows 10 была доступна только для дисковых пространств (см. Как создать и использовать дисковые пространства Windows 10).

В случае с дисковыми пространствами её особенности могут быть наиболее полезными при обычном использовании: например, если вы создаете зеркальные дисковые пространства с файловой системой REFS, то при повреждении данных на одном из дисков, поврежденные данные сразу будут перезаписаны неповрежденной копией с другого диска.

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

Отличия файловой системы REFS от NTFS

Помимо функций, связанных с поддержкой целостности данных на дисках, REFS имеет следующие основные отличия от файловой системы NTFS:

  • Обычно более высокая производительность, особенно в случае использования дисковых пространств.
  • Теоретический размер тома 262144 экзабайта (против 16 у NTFS).
  • Отсутствие ограничения пути к файлу в 255 символов (в REFS — 32768 символов).
  • В REFS не поддерживаются имена файлов DOS (т.е. получить доступ к папке C:\Program Files\ по пути C:\progra

1\ в ней не получится). В NTFS эта возможность сохранялась в целях совместимости со старым ПО.

  • В REFS не поддерживается сжатие, дополнительные атрибуты, шифрование средствами файловой системы (в NTFS такое есть, для REFS работает шифрование Bitlocker).
  • В настоящий момент времени нельзя отформатировать системный диск в REFS, функция доступна только для не системных дисков (для съемных дисков не поддерживается), а также для дисковых пространств, и, пожалуй, только последний вариант может быть действительно полезным для обычного пользователя, которого беспокоит сохранность данных.

    Обратите внимание, что после форматирования диска в файловой системе REFS, часть места на нем сразу будет занято контрольными данными: например, для пустого диска 10 Гб это около 700 Мб.

    Возможно, в будущем REFS может стать основной файловой системой в Windows, однако на данный момент этого не произошло. Официальная информация по файловой системе на сайте Майкрософт: https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview

    А вдруг и это будет интересно:

    Почему бы не подписаться?

    Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

    28.08.2020 в 15:29

    А как игры на ней будут работать?

    29.08.2020 в 07:48

    Для игр это обычный диск будет, т.е. точно так же.
    Единственное, я бы сейчас не стал делать ReFS: тут в новостях недавно написали, что перестанет поддерживаться в простых Windows 10 с осени и будет только в Windows 10 Pro For Workstations.

    09.09.2020 в 01:04

    Эта ФС поможет при бедблоках?

    09.09.2020 в 08:48

    Сохранить данные, возможно, да. Но диск здоровее от нее не станет.

    21.11.2020 в 23:39

    принесли не определяющийся 500ГБ вестерн, запустил, в начале бэды — не форматируется. сделал в ReFS и всё работает! странно!


    22.04.2020 в 16:25

    После форматирования любая ОС будет первое время нормально работать. До первой кочки (беда).

    Примечание: после отправки комментария он не появляется на странице сразу. Всё в порядке — ваше сообщение получено. Ответы на комментарии и их публикация выполняются ежедневно днём, иногда чаще. Возвращайтесь.

    Файловая система тома не распознана: как решить проблему и что делать?

    Популярность USB-накопителей (говоря в простонародье, флэшек) в современной жизни более чем обоснована. Они удобные и компактные, а также имеют большие объёмы памяти. Всё это в купе позволяет буквально носить с собой массу нужной информации в кармане. Но, как и любая другая техника, флэшки не вечные – с ними тоже время от времени случаются различные неприятности. Одна из самых часто возникающих неприятностей – это когда компьютер не может распознать флэш-накопитель и выдаёт ошибку «Файловая система тома не распознана».

    Прежде чем говорить о методах решения данной проблемы, необходимо в первую очередь разобраться в причинах её возникновения. Конкретно причин неспособности компьютера распознать USB-носитель может быть много, но все они делятся на две категории: физические повреждения и системные сбои. Рассмотрим их подробнее.

    Простой метод диагностики

    Если вы хотите по-быстрому выявить суть проблемы, то есть проверенный «дедовский» способ.

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

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

    Физические повреждения

    К числу физических повреждений, приводящих к рассматриваемой ошибке, относятся неисправности USB-порта компьютера и неисправности самой флэшки. Проблемы с USB-портом могут возникнуть в том случае, если вы неаккуратно себя с ним ведёте – например, резко выдёргиваете из него устройства. В большинстве случаев его можно починить, но гораздо проще и дешевле будет просто заменить его. Только затягивать с этим не нужно, так как сломанное «гнездо» может привести к неисправности других компонентов компьютера.

    Если вы проверили вашу флэшку на остальных портах, у которых нет проблем с распознаванием других USB-устройств, значит, проблема в самой флэшке. Её повреждения бывают следующие:

    • переохлаждение;
    • перегрев;
    • внутренние и внешние повреждения;
    • повреждения микроконтроллеров.

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

    Программные сбои

    Программные сбои – это наиболее часто возникающая проблема. У неё могут быть следующие причины:

    • компьютер заражён вирусами;
    • форматирование карты памяти были произведено некорректно, либо же оно было произведено не до конца;
    • произошли перепады напряжения;
    • возникли программные сбои в работе микроконтроллера;
    • установлена устаревшая версия драйверов;
    • флэшка стандарта USB 3.0 подключена к порту USB 2.0;
    • файловая система RAW.

    С последним пунктом всё сложно. По сути это даже не отдельная причина системного сбоя, а скорее следствие каких-либо других причин, перечисленных выше (а может и всех вместе взятых).

    RAW – это не тип файловой системы, а своеобразный сигнал о том, что файловая система тома отсутствует. То есть если с файловой системой флэшки какие-то неполадки, то она принимает значение RAW, а компьютер реагирует на него как на неопределённую файловую систему. Отсюда и всплывает ошибка, гласящая о невозможности распознания файловой системы тома.

    Теперь рассмотрим по порядку способы решения.

    Шаг №1. Удаление вирусов

    Этот способ рекомендуется применить даже в том случае, если вы уверены, что ошибка «Файловая система тома не опознана…» возникает не из-за наличия вирусов на компьютере. Ведь если вирусы всё же присутствуют, то они могут помешать выполнению других шагов устранения ошибки. А вообще, возьмите себе в привычку каждый раз сканировать компьютер антивирусом перед выполнением таких серьёзных операций.

    В первую очередь вам нужен сам антивирус, если у вас его ещё нет. Ниже представлен список из некоторых самых известных:

    Можете выбрать любой, исходя из вашего вкуса. Они хоть и отличаются в плане интерфейса, но выполняют одну и ту же работу – удаляют из вашего компьютера вредоносные файлы и программы. Чтобы очистить компьютер от вирусов, следуйте дальнейшим пошаговым инструкциям. Мы рассмотрим их на примере антивируса Касперский.

      Скачайте антивирус. Сделать это можно на официальном сайте https://www.kaspersky.ru/, где будет доступна бесплатная версия на 30 дней.

    Остальные антивирусы работают по аналогичной схеме, поэтому в написании отдельной инструкции по их установке и запуске нет необходимости.

    Шаг №2. Обновление драйверов

    Теперь нужно убедиться, подходящий ли драйвер установлен. Для этого проделайте следующие шаги:

      Нажмите правой клавишей мыши на ярлык «Компьютер» и выберите пункт «Свойства».

    Если обновления драйверов не произойдёт, и система сообщит вам, что наиболее актуальная их версия уже установлена, значит, никаких проблем с драйверами нет. В таком случае двигайтесь дальше. А если обновление драйверов помогло вам решить данную проблему, то выполнять дальнейшие шаги не нужно.

    Шаг №3. Форматирование


    Чтобы конвертировать неподдерживаемую файловую систему RAW в NTFS (New Technology File System) и при этом не потерять данные, нужно прибегнуть к помощи консоли. Для этого сделайте следующее:

      Нажмите на комбинацию кнопок «Win+R» и введите «cmd», затем нажмите «ОК» или «Enter».

    Справка! F – это буква диска. Флэшкам обычно присваивается буква F. Если у вас она обозначена другой буквой, то вводите эту самую другую букву. Команда /f даёт компьютеру сигнал о том, что диск с указанной буквой следует проверить и устранить ошибки, если таковы имеются.

    Всё может пройти гладко – файловая система флэшки конвертируется в NTFS. А бывает и такое, что в консоли появляется сообщение «CHKDSK недопустим для дисков RAW». Если это произошло, то нужно провести форматирование. Файлы при этом удалятся, но их можно будет восстановить.

      Запустите системную утилиту «Управление дисками». Сделать это можно при помощи окна «Выполнить» (нажатия клавиш «Win+R») и ввода в него команды «diskmgmt.msc».

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

    Шаг №4. Восстановление данных

    Итак, вы отформатировали ваш USB-накопитель. Теперь его формат стал читаемым, но файлы, которые там были, исчезли. Чтобы их восстановить, потребуется DMDE. DMDE – это программа, которая способна восстановить утраченные данные на встроенных и съёмных носителях после системных сбоев, форматирования и т.д. Она довольно проста в использовании, да ещё и на русском языке. Чтобы реализовать её возможность, проделайте следующее:

      Скачайте программу с официального сайта https://dmde.ru/download.html.

    Следует упомянуть, что программа не всегда работает идеально. Иногда она восстанавливает не все файлы, удалившиеся после системной ошибки или форматирования диска. Если у вас не получилось восстановить нужные вам файлы с помощью DMDE, то можете попробовать аналогичные программы:

    • TestDisk;
    • R.saver;
    • Recuva;
    • Disk Drill;
    • R-Undelete;
    • Eassos Recovery;
    • Hetman Recovery;
    • Glary Undelete.

    Они работают по схожему алгоритму и в них легко разобраться самостоятельно, если вы уже разобрались с тем, как работает DMDE. Однако все из перечисленных программ, кроме TestDisk и R.saver, платные.

    Общие рекомендации

    Если вы последовательно выполняли всё, что написано в инструкции, то проблема с ошибкой «Файловая система тома не распознана» должна быть устранена. Однако это не даёт вам гарантии, что вы не столкнётесь в будущем с этой неприятной ошибкой, которая может грозить вам потерей файлов.

    Дабы минимизировать этот риск, соблюдайте простые правила:

    • не бросайте флэшку, обращайтесь с ней аккуратно;
    • не выдёргивайте резко флэшку из USB-порта, особенно во время работы с файлами. Лучше всего пользуйтесь безопасным извлечением;
    • периодически сканируйте компьютер на предмет наличия вирусов;
    • обновляйте драйвера;
    • храните несколько копий самых важных файлов на разных носителях.

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

    Видео — Как исправить RAW диск и восстановить данные HDD с RAW разделами

    Понравилась статья?
    Сохраните, чтобы не потерять!

    Файловая система флешки повреждена: восстановление с сохранением данных

    Часто неисправности при работе с флешками связаны с некорректным определением файловой системы и другими программными сбоями. То есть записанные пользователями данные никуда не пропадают – просто система не в состоянии получить доступ к содержимому диска.

    Выглядит это обычно так: вы подключаете флешку к компьютеру, пытаетесь её открыть, но видите уведомление о том, что сначала диск нужно отформатировать. Если вы запустите форматирование, то все данные окажутся удаленными, поэтому здесь стоит нажать «Отмена».

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

    Виды файловых систем

    Любой накопитель имеет файловую систему – чаще всего это FAT или NTFS. Если в структуре диска по какой-то причине происходит сбой (неправильно извлечен носитель, скачок напряжения, механическое повреждение), то вместо FAT32 или NTFS появляется формат RAW.

    RAW – это отсутствие всякой файловой системы, формат, демонстрирующий наличие проблемы на HDD или флешке.

    Чтение информации с носителя, имеющего формат RAW, невозможно. Чтобы устранить этот недостаток, необходимо произвести изменение файловой системы на NTFS или FAT. Делается это с помощью форматирования, но чтобы не восстанавливать затем удаленные данные, лучше воспользоваться другими методами.

    Восстановление RAW файлов с диска

    Если на диске файловая система стала RAW, и вы не можете позволить себе отформатировать её, так как удаленные данные могут быть утеряны навсегда, то попробуйте воспользоваться возможностями утилиты iCare Data Recovery, в состав которой входит инструмент Deep Scan Recovery.

    1. Подключите флешку к компьютеру.
    2. Скачайте и запустите программу.
    3. Запустите инструмент Deep Scan Recovery.
    4. Выберите флешку или HDD с файловой системой RAW.
    5. Нажмите кнопку «Recover».


    Отчет после сканирования будет представлен в виде разделов. Чтобы найденные данные не оказались удаленными во время изменения формата с RAW на NTFS или FAT, выделите их и щелкните «Save Files». Укажите место на жестком диске и сохраните обнаруженные файлы – они уже не окажутся среди удаленных, даже если вы запустите форматирование съемного накопителя.

    Для каждой модели флешки можно найти свою программу изменения формата с RAW на FAT или NTFS. Проблема в том, что большинство программ такого рода полностью затирают данные с разделов, так что последующее восстановление удаленных файлов становится невыполнимой задачей.

    Изменение файловой системы без потери данных

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

    Обычно пользователи сталкиваются с необходимостью изменить файловую систему с FAT на NTFS. Проще всего запустить форматирование разделов. Минус этого способа в том, что в итоге вы получите флешку с удаленными файлами. Чтобы избежать потери информации, изменим формат другим способом:

    1. Подключите флешку с FAT к компьютеру.
    2. Запустите командную строку с полномочиями администратора.
    3. Введите «convert буква_диска: /fs:ntfs» (кавычки не нужны).

    Описанное выше безболезненное изменение файловой системы возможно только в одну сторону – c FAT в NTFS. Обратную процедуру без форматирования и удаления данных провести не получится.

    Безопасность IOS-приложений (часть 10) – исследование файловой системы

    В этой статье мы будем исследовать файловую систему операционной системы IOS. Будут рассмотрены организация директорий, некоторые важные файлы и способы извлечения информации из базы данных и plist-файлов. Также мы рассмотрим, как приложения хранят данные в своих собственных директориях (песочнице) и способы их извлечения.

    Автор: Пратик Джианчандани (Prateek Gianchandani)

    В этой статье мы будем исследовать файловую систему операционной системы IOS. Будут рассмотрены организация директорий, некоторые важные файлы и способы извлечения информации из базы данных и plist-файлов. Также мы рассмотрим, как приложения хранят данные в своих собственных директориях (песочнице) и способы их извлечения.

    Следует обратить внимание на одну важную деталь. В предыдущих статьях мы работали с устройством под пользователем root. Существует еще один пользователь с именем mobile, у которого уровень привилегий меньше, чем у пользователя root. Практически все приложения (за исключением Cydia и некоторых других, которые требуют привилегий root) работают под пользователем mobile. Некоторые внутренние демоны и сервисы Apple также требуют привилегий root. Чтобы убедиться в этом, выполним команду ps aux. На рисунке ниже показаны параметры процессов системы. В самой левой колонке показана колонка пользователя, из-под которого запущен процесс. Мы видим, что Cydia работает от имени root, в то время как остальные приложения работают под пользователем mobile (например, /Applications/AppStore.app/AppStore). Также в этом списке показаны некоторые демоны (например, /usr/sbin/wifid), запущенные под пользователем root. Некоторые другие приложения, которые вы устанавливаете через Cydia, могут требовать привилегий root. По умолчанию на джейлбрейковом устройстве у пользователей root и mobile один и тот же пароль alpine.

    Рисунок 1: Результат выполнения команды ps aux, которая выдает список процессов системы и их параметры

    Вы можете сконфигурировать приложения для работы под пользователем root. Более подробно об этом можно узнать из дискуссии на Stack Overflow.

    Подключитесь к устройству через ssh и зайдите в директорию /Applications. В этой папке находятся несколько приложений, большинство из которых идут в комплекте с IOS. Также в этой папке есть приложения, установленные через Cydia (например, приложение Terminal). Пожалуйста, обратите внимания, что все приложения из директории /Applications запускаются не в изолированной среде (sandboxed environment), в то время как приложения из папки /var/mobile/Applications запускаются в изолированной среде. О песочнице мы поговорим далее в этой статье. Все эти приложения работают под пользователем mobile, не считая специально сконфигурированных приложений, которые работают под пользователем root.

    Рисунок 2: Содержимое папки /Applications

    Все приложения, загружаемые из App Store, сразу же попадают в директорию /var/mobile/Applications/. В этой папке также находятся приложения, установленные при помощи утилиты installipa или из внешнего источника наподобие Cydia. Все эти приложения запускаются в изолированной среде.

    Рисунок 3: Содержимое папки /var/mobile/Applications/

    Обратите внимание, что, начиная с IOS 4, каждое приложение располагается в изолированной среде или песочнице. Это сделано для того, чтобы приложение не могло получить доступ к данным вне изолированной среды. Таким образом, повышается уровень безопасности. Хотя все еще остается возможным получить доступ к определенным пользовательским данным из приложения, если есть соответствующие привилегии. В этот набор включены привилегии для получения пользовательских контактов, фотографий и так далее (на эту тему были и продолжаются дискуссии). К примеру, начиная с IOS 6, приложение может получить доступ к пользовательским контактам после того, как пользователь наделил приложение соответствующими правами. В более ранних версиях приложение могло получить доступ к данным пользователя без ведома самого пользователя, что вызвало жаркие споры в отношении приложения Path.

    Кроме того, возможно получить доступ и к другой информации, находящейся вне изолированной среды, при помощи Entitlements (права доступа на ресурсы вне песочницы). Более подробно об этом можно прочитать в документации для разработчиков. Например, для доступа на чтение и запись в календарь пользователя в соответствующий ключ com.apple.security.personal-information.calendars необходимо установить значение YES в файле .entitlements.

    Давайте рассмотрим структуру директории конкретного приложения на примере приложения Snapchat. Для всех остальных приложений структура директорий примерно одинакова.

    Рисунок 4: Структура директорий для приложения Snapchat

    Рассмотрим содержимое каждой директории более подробно.

    • Папка Snapchat.app (и все остальные папки, название которых соответствует шаблону Appname.app) содержит ресурсы (картинки), plist-файлы и бинарный файл приложения.
    • Папка Documents используется для хранения любых файлов. Для данных, которые не относятся к контексту приложения (для таких данных используется папка Appname.app), существует отдельная папка. Вот выдержка из документации Apple : Храните в папке / Documents / пользовательские данные и любую другую информацию, которая не может быть воссоздана приложением (пользовательские документы и другие данные, создаваемые пользователем)
    • В папке tmp используется для хранения временных пользовательских данных. Разработчику приложения следует заботиться о том, чтобы эта папка не раздувалась до огромных размеров.
    • В папке Library хранятся файлы, не относящиеся к пользовательским файлам.

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

    Получение информации из файлов баз данных

    Apple использует базы данных sqlite для хранения больших массивов информации. Обычно файлы баз данных содержат расширение .db или .sqlitedb. Разработчикам могут работать с базами данных на низком уровне при помощи множества инструментов (фреймворк Core Data, NSUserDefaults и т. д.). Файлы баз данных могут использоваться для извлечения огромных объемов информации, как в конкретном приложении, так и в операционной системе. Например, это может быть история звонков или электронные письма. Для нахождения всех .db файлов используйте команду find . -name *.db.

    Рисунок 5: Получения списка всех .db файлов при помощи команды find . -name *.db

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

    На моем устройстве установлено приложение gmail. Я заинтересовался файлом, показанным на рисунке ниже.

    Рисунок 6: Файл базы данных, используемый приложением gmail


    Кажется, файл содержит некоторую важную информацию. Давайте проанализируем его при помощи клиента sqlite. Для этого вам необходимо установить клиент sqlite с именем sqlite3 (если он у вас не установлен). Открываем файл, используя команду sqlite3 file_name.

    Рисунок 7: Команда для анализа содержимого файла базы данных при помощи клиента sqlite

    После выполнения команды вы окажетесь в интерпретаторе sqlite. Для начала включим отображение заголовков таблицы. После этого, используя команду .tables, выведем список всех таблиц базы данных.

    Рисунок 8: Включение заголовков и вывод списка всех таблиц базы данных

    Таблицы cached_contacts, cached_queries и cached_messages представляют для нас определенный интерес. Давайте взглянем на содержимое таблицы cached_messages.

    Рисунок 9: Содержимое таблицы cached_messages

    Как видно из рисунка выше, в таблице находятся закэшированные электронные сообщения.

    Схожим образом можно выгрузить всю информацию из базы данных, содержащую SMS-сообщения (база данных находится в папке /private/var/mobile/Library/SMS). Как видно из рисунка ниже, в базе данных содержится сообщение с текстом Test message for ios security tutorial.

    Рисунок 10: Содержимое таблицы messages базы данных sms.db

    Другой пример: база данных адресной книги, которую можно найти в папке /var/mobile/Library/AddressBook.

    Рисунок 11: Содержимое таблицы ABPerson базы данных AddressBook.sqlitedb

    Вы также можете найти историю вызовов (база данных находится в папке /private/var/wireless/Library/CallHistory).

    Рисунок 12: Содержимое таблицы call базы данных call_history.db

    Иногда работа с командной строкой может отнимать много времени и сил. Более простой способ анализа информации – экспорт файла базы данных на рабочий стол. К примеру, давайте экспортируем базу данных адресной книги.

    Рисунок 13: Процедура экспорта базы данных

    Затем мы можем проанализировать информацию при помощи клиента sqlite с графической оболочкой (в моем случае это MesaSQLite, он бесплатен и прост в использовании). Зайдите в MesaSQLite и в разделе File кликните на Open Database, а затем выберите файл базы данных. Далее переключитесь на вкладку Content, выберите таблицу и кликните на Show All.

    Рисунок 14: Просмотр содержимого таблицы при помощи MesaSQLite

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

    Получение информации из plist-файлов

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

    Даже в неджейлбрейковом устройстве plist-файлы можно извлечь при помощи утилиты iExplorer. Вы также можете бегло осмотреть plist-файл, используя iExplorer. На рисунке ниже показано содержимое plist-файла, используемое приложением Defcon.

    Рисунок 15: Содержимое plist-файла приложения Defcon

    Ниже показан фрагмент файла User.plist для приложения Snapchat, который хранится в папке Documents. Первая помеченная секция хранит информацию об аутентификационном токене конкретного пользователя. Вторая помеченная секция хранит имя пользователя приложения Snapchat.

    Рисунок 16: Фрагмент файла User.plist приложения Snapchat

    Plist-файлы могут также содержать конфиденциальную информацию (например, имена пользователей и пароли). Тут важно помнить о том, что любой может извлечь информацию из plist-файла с любого устройства (даже если оно неджейлбрековое). Вы также можете извлечь plist-файлы из резервной копии itunes. Последние несколько лет разработчики используют plist-файлы для хранения конфиденциальной информации, что не правильно. Ранее была найдена уязвимость в приложении Linkedin, суть которой заключалась в том, что разработчик как раз использовал plist-файлы для хранения информации об аутентификации пользователя.

    Если вы хотите читать plist-файл прямо из терминала, файл необходимо сконвертировать в формат xml при помощи утилиты plutil (команда plutil -covert xml1 [filename]). Вначале найдем все plist-файлы на устройстве, используя команды, показанные на рисунке ниже.

    Рисунок 17: Ищем все plist-файлы на устройстве

    Сконвертируем какой-нибудь файл в формат xml.

    Рисунок 18: Конвертируем plist-файл в формат xml

    Теперь файл находится в удобочитаемом формате. Откроем его, используя vim.

    Рисунок 19: Просмотр xml-файла в текстовом редакторе vim

    Теперь мы сможем проанализировать plist-файл.

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

    Подписывайтесь на каналы «SecurityLab» в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

    Добавить комментарий