软媒设计
[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中即可。