Есть ли простой способ узнать, «выживут» ли все мои расширения ядра при загрузке с 64-битным ядром? Я, конечно, могу попробовать «6-4-пальцевую загрузку», но, возможно, есть аппаратное обеспечение, которое я использую нечасто, и оно не будет работать, когда я использую его через месяц, оставляя меня гадать, что пошло не так.
Я вижу список расширений в System Profiler> Software> Extensions, причем 8 из них указаны не как «64-разрядные (Intel)», но 5 из них являются «псевдорасширениями» с адресом загрузки, «встроенным в ядро». ", а 3 других связаны с CHUD и, вероятно, исчезнут, как только я обновлю Xcode? Достаточно ли этого, чтобы сделать вывод, что у меня не будет проблем? Или есть расширения, которые сейчас не грузятся и которые можно как-то протестировать?
Насколько мне известно, System Profiler не будет отображать информацию о любых загружаемых файлах .kext, которые находятся где-то еще, кроме папки /System/Library/Extensions/.
Чтобы получить исчерпывающую информацию о расширениях ядра, которые в настоящее время загружены и используются на вашем Mac, вы можете использовать kextstat
инструмент командной строки.
Откройте приложение «Терминал» (в папке /Applications/Utilities/), введите в командной строке следующее и нажмите «Ввод»:
kextstat
Вы получите большой список всех загруженных расширений ядра. В первую очередь вам нужно сосредоточиться на идентификаторах пакетов загруженных .kexts. (Это обратная строка доменного имени, такая как «com.apple....»). Вы должны быть в состоянии исключить те, которые включают «com.apple», так как они будут принадлежать Apple и должны иметь версию K64. После того, как вы избавитесь от них, вам нужно будет просмотреть оставшиеся, чтобы убедиться, что они построены как универсальные версии K32 + K64, или вам может потребоваться убедиться, что у вас есть последние обновления.
Например, после исключения всех кекстов Apple на выходе, который я получаю, у меня есть следующие перечисленные кексты. Поскольку я перешел на K64 год назад или около того, все в порядке, так что все в порядке.
MacPro:~ mdouma46$ kextstat
Index Refs Address Size Wired Name (Version) <Linked Against>
73 0 0xffffff7f8111a000 0x8000 0x8000 com.AmbrosiaSW.AudioSupport (3.2) <72 5 4 3 1>
81 0 0xffffff7f811bf000 0x9000 0x9000 jp.plentycom.driver.SteerMouse (4.0.2) <55 29 24 5 4 3>
105 0 0xffffff7f81499000 0x5000 0x5000 com.Cycling74.driver.Soundflower (1.5.2) <72 5 4 3>
115 0 0xffffff7f814bf000 0xd1000 0xd1000 com.vmware.kext.vmx86 (3.1.2) <7 5 4 3 1>
116 0 0xffffff7f81590000 0xc000 0xc000 com.vmware.kext.vmci (3.1.2) <5 4 3 1>
117 0 0xffffff7f8159c000 0x7000 0x7000 com.vmware.kext.vmioplug (3.1.2) <29 24 5 4 3 1>
118 0 0xffffff7f815a3000 0xa000 0xa000 com.vmware.kext.vmnet (3.1.2) <5 4 3 1>
119 0 0xffffff7f815ad000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) <4 1>
Утилита kextfind
находит и печатает информацию или создает отчеты о расширениях ядра (KEXT).
Следующая команда ищет /System/Library/Extensions
KEXT, которые не включают архитектуру x86_64:
kextfind -not -arch x86_64
Расширенный поиск, включающий два наиболее часто используемых для установки пути:
kextfind -f /Library/Extensions -e -not -arch x86_64
KEXT также можно установить в ПЗУ или внутри пакета приложений , но kextfind не может выполнять рекурсивный поиск.
В эпоху Леопарда было предположение , что в этом районе можно найти KEXT /Library/StartupItems
. Поскольку SystemStarter устарел , может быть разумно опустить эту область при использовании kextfind.
Пользователи OS X могут просматривать текущую справочную страницу в Терминале. В веб-браузере перейдите по адресу:
В библиотеке разработчиков Mac OS X версия страницы 2009 года устарела.
Ghoppe за повышение осведомленности о kextfind .
Используйте file
команду.
Пример:
$ cd /System/Library/Extensions/KeyspanUSAdriver.kext/Contents/MacOS
$ file KeyspanUSAdriver
KeyspanUSAdriver: Mach-O universal binary with 2 architectures
KeyspanUSAdriver (for architecture x86_64): Mach-O 64-bit kext bundle x86_64
KeyspanUSAdriver (for architecture i386): Mach-O object i386
Обратите внимание, что у него есть архитектуры x86_64 и i386.
kextstat
, как мне узнать, где они находятся на диске? И знаете ли вы, как я могу найти «расширения ядра, которые могут быть загружены ОС, но в настоящее время не загружаются»?Примечание. Если вы не видите этот элемент, перейдите в меню «Вид» и убедитесь, что выбран «Полный профиль».
Ян Фабри
.kext
на диске? Есть некоторые, которые я все еще ищу, и идентификатор пакета не всегда является именем файла. И включает ли этот список только загруженные в данный момент расширения или также и те, которые могут быть загружены по запросу? Это последняя группа, о которой я больше всего беспокоюсь, поскольку они могут понадобиться в будущем и не будут отображаться как ошибка сейчас.Ян Фабри