| Предыдущий | Следующий |
| kOSKextReturnNotLoadable | kOSKextReturnDependencyLoadError |
kOSKextReturnLoadedVersionDiffers
Конфликт относится к активному расширению в памяти
kOSKextReturnLoadedVersionDiffers не просто сообщает о наличии другого файла на диске. XNU определяет это состояние как уже загруженный kext с другой версией, UUID исполняемого файла или его контрольной суммой. Поэтому сравнивать нужно запрошенную сборку с кодом, активным в работающем ядре.
Это различие важно после копирования новой версии установщиком. Замена дискового bundle сама по себе не заменяет уже активный в памяти kext. В новых версиях macOS сторонние расширения ядра включаются через Auxiliary Kernel Collection, и для применения изменения могут потребоваться соответствующее разрешение и перезапуск с выбором новой коллекции.
Что записать
- Сравните идентификатор и версию bundle, UUID исполняемого файла и его контрольную сумму для запрошенной и активной сборок.
- Запишите источник и время установки обеих копий; особенно важны одинаковые идентификаторы из разных продуктов.
- До объявления дисковой копии активной подтвердите, входят ли перезапуск и перестроение коллекции в документированный путь развёртывания.
- Не пытайтесь принудительно заменить расширение в работающем ядре только ради удаления статуса; сначала устраните конфликт версий пакетов.
Ссылки
- XNU: OSKextLib.h
- Apple Platform Security: безопасное расширение ядра
- Apple Deployment: системные расширения в macOS
Нужно найти другой код? Найти другой код состояния или ошибки.