MacRumors

Skip to Content

Баг в APFS в macOS 10.15.5 Catalina влияет на создание загрузочных резервных копий

Обнаружен баг в Apple File System (APFS) в macOS 10.15.5 Catalina, который может помешать пользователям создавать загружаемый клон системного диска, согласно создателю Carbon Copy Cloner.

macos volumes icones
В своем посте в блоге в среду разработчик программного обеспечения Майк Бомбич объяснил, что команда CCC обнаружила проблему в Apple File System, или APFS, при попытке создания загрузочной резервной копии в бета-версии macOS 10.15.5.

По словам Бомбича, этот баг мешает CCC использовать собственный копировщик файлов для создания первоначальной загрузочной резервной копии системного тома macOS Catalina. В технических терминах:

Системный вызов chflags() больше не может устанавливать флаг SF_FIRMLINK для папки в томе APFS. Вместо того чтобы завершиться с ошибкой, которую мы бы обнаружили, он завершается молча — выходит со статусом успеха, но молча не устанавливает специальный флаг. Это баг в реализации chflags в файловой системе APFS: если системный вызов не выполняет то, что вы просите, он должен возвращать код ошибки, а не успех.

Нам не нужно устанавливать много таких флагов, и не часто — только при первой резервной копии системного тома macOS. Тем не менее, это крайне важно для функциональности группы томов APFS, поэтому невозможность установки этих флагов означает, что новые полные резервные копии системы, созданные в 10.15.5 и более поздних версиях, не будут загрузочными, и будет казаться, что все ваши данные находятся на месте назначения (чтобы было ясно, все данные были скопированы). Это прямо противоположно тому, что мы пытаемся сделать. Трудно найти добрые слова, чтобы выразить свои чувства к Apple прямо сейчас.

Достаточно сказать, что я чрезвычайно разочарован тем, что Apple могла внести такой баг в обновление ОС формата «dot-release». Мы видели уже 5 основных обновлений Catalina, и мы должны ожидать более высокого качества от операционной системы.

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

Любые пользователи CCC, которые настроили резервное копирование в предыдущей версии Catalina, уже имеют работающие firmlinks на своем загрузочном томе, и CCC продолжит успешно обновлять этот том. Тем временем пользователи, желающие создать новую резервную копию тома 10.15.5 на пустой диск, должны заменить свою копию CCC на бета-версию CCC 5.1.18, а затем следовать этим шагам при запуске приложения.

  1. Нажмите кнопку X в поле выбора назначения, чтобы очистить выбор назначения.
  2. Нажмите на селектор Назначение и повторно выберите том назначения.

Затем CCC проведет пользователей через процедуру создания загрузочной резервной копии или вместо этого резервной копии только данных. Новая функциональность использует утилиту Apple Software Restore (ASR).

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