[Hackintosh]OpenCore ScanPolicy配置项
ScanPolicy是OpenCore定义操作系统检测策略,通过设置该值来根据所选 flag 的位掩码(总和)防止从非信任源扫描(和启动)。由于不可能可靠地检测到每一个文件类型或设备类型,因此在开放环境中不能完全依赖此功能,需要采取额外的措施。
0x01 参数数值定义
0x00000001
(bit 0) —OC_SCAN_FILE_SYSTEM_LOCK
,将扫描限制于仅扫描此策略定义的已知文件系统。文件系统驱动可能感知不到这个策略,为了避免挂载不必要的文件系统,最好不要加载它的驱动程序。此 bit 不影响 dmg 挂载,因为它可能有各种文件系统。已知文件系统的前缀为 OC_SCAN_ALLOW_FS_。0x00000002
(bit 1) —OC_SCAN_DEVICE_LOCK
,将扫描限制于仅扫描此策略定义的已知设备类型。由于协议隧道并不一定能被检测到,因此请注意,在某些系统上可能会出现 USB 硬盘被识别成 SATA 等情况。如有类似情况,请务必报告。已知设备类型的前缀为 OC_SCAN_ALLOW_DEVICE_。0x00000100
(bit 8) —OC_SCAN_ALLOW_FS_APFS
,允许扫描 APFS 文件系统。0x00000200
(bit 9) —OC_SCAN_ALLOW_FS_HFS
,允许扫描 HFS 文件系统。0x00000400
(bit 10) —OC_SCAN_ALLOW_FS_ESP
,允许扫描 EFI 系统分区文件系统。0x00000800
(bit 11) —OC_SCAN_ALLOW_FS_NTFS
,允许扫描 NTFS(MSFT Basic Data)文件系统。0x00001000
(bit 12) —OC_SCAN_ALLOW_FS_EXT
,允许扫描 EXT(Linux Root)文件系统。0x00010000
(bit 16) —OC_SCAN_ALLOW_DEVICE_SATA
,允许扫描 SATA 设备。0x00020000
(bit 17) —OC_SCAN_ALLOW_DEVICE_SASEX
,允许扫描 SAS 和 Mac NVMe 设备。0x00040000
(bit 18) —OC_SCAN_ALLOW_DEVICE_SCSI
,允许扫描 SCSI 设备。0x00080000
(bit 19) —OC_SCAN_ALLOW_DEVICE_NVME
,允许扫描 NVMe 设备。0x00100000
(bit 20) —OC_SCAN_ALLOW_DEVICE_ATAPI
,允许扫描 CD/DVD 和旧的 SATA 设备。0x00200000
(bit 21) —OC_SCAN_ALLOW_DEVICE_USB
,允许扫描 USB 设备。0x00400000
(bit 22) —OC_SCAN_ALLOW_DEVICE_FIREWIRE
,允许扫描 FireWire 设备。0x00800000
(bit 23) —OC_SCAN_ALLOW_DEVICE_SDCARD
,允许扫描读卡器设备。
0x02 计算方式
上面0x开头的16进制值相加后,再转换为10进制即为想要的最终值。
想要只扫面NVME设备的APFS和HFS文件系统,计算方式如下:
0x00080000+0x00000100+0x00000200=(16进制)0x00080300=(10进制)525056
将525056填入Misc->Security->ScanPolicy中即可。