macOS: Как мне узнать, какой файл на диске APFS связан с конкретным doc-id и/или file-id?

Вопрос или проблема

Я на macOS 14.5 с SSD формата APFS. Утилита дисков всегда сообщает одну и ту же ошибку: ошибка: дерево doc-id: запись существует для doc-id 1341220, file-id 8567077, но ни один inode не ссылается на этот doc-id.

У меня есть несколько таких и, и они появляются на каждом созданном снимке. Я действительно не хочу форматировать и восстанавливать из резервной копии Time Machine (СНОВА‼️ (Уже четыре раза в этом году.)).

Я предполагаю, что как только я найду файл(ы), связанные с этими ошибками, я смогу удалить его, и все снова будет прекрасно в мире.

Итак… Как мне найти, КАКОЙ файл в моей файловой системе связан с doc-id/file-id в вопросе?

Ответ или решение

На macOS, работающей с файловой системой APFS, выявление файлов, связанных с конкретными идентификаторами документов (doc-id) и файлов (file-id), требует понимания структуры APFS и некоторых специальных инструментов. Если вы столкнулись с ошибкой в Disk Utility, такой как "error: doc-id tree: record exists for doc-id 1341220, file-id 8567077 but no inode references this doc-id", это может указывать на повреждения или несоответствия в метаданных файловой системы. Однако не обязательно сразу прибегать к форматированию диска и восстановлению из резервной копии. Вместо этого, следуя нижеуказанным шагам, вы можете попытаться решить эту проблему, не теряя ваши данные.

Шаг 1: Используйте командную строку для анализа

Для поиска файлов по doc-id и file-id в APFS вы можете использовать терминал. Откройте приложение «Терминал» и выполните следующие команды:

  1. Проверьте состояние диска:

    diskutil verifyVolume /Volumes/имя_вашего_диска

    Эта команда проверит ваш объем APFS на наличие ошибок.

  2. Получите информацию об диске:

    diskutil apfs list

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

Шаг 2: Используйте fsck_apfs

Для более глубокого анализа используйте утилиту fsck_apfs:

  1. Затяните критический объем в режим только для чтения:
    Сначала убедитесь, что у вас есть резервная копия всех данных на диске. Запустите в однопользовательском режиме, удерживая Command + R во время загрузки.

  2. Запустите fsck_apfs:

    sudo fsck_apfs -n /dev/diskX

    Замените diskX на идентификатор вашего диска. Эта команда проведет проверку файловой системы и предоставит довольно подробную информацию о любых несоответствиях, включая проблемы с doc-id и file-id.

Шаг 3: Использование sqlite3

Если вы хотите более детально проанализировать метаданные, вы можете использовать SQLite для доступа к базам данных, хранящимся на вашем диске:

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

    sqlite3 /path/to/your/database.db
  2. Поиск по doc-id или file-id:
    Используйте SQL-запрос, чтобы найти конкретные записи. Например:

    SELECT * FROM files WHERE doc_id = '1341220';

Шаг 4: Ручное восстановление

Если после анализа оказывается, что файлы все еще "зависли", вам, возможно, придется вручную удалить их или восстановить более раннюю версию:

  1. Используйте Time Machine для восстановления предыдущих версий файлов, если это возможно.
  2. Если файлы связаны с конкретными приложениями (например, Pages или TextEdit), попробуйте открыть их и посмотреть, сможем ли мы попробовать сохранить их заново.

Заключение

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

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

Капча загружается...