You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 24.04 LTS下签名pcan内核模块的方法求助

解决VirtualBox中Ubuntu的pcan内核模块签名失败问题

你的虚拟机当前运行在BIOS传统模式下,不支持EFI变量,因此无法使用官方的Secure Boot签名流程。下面提供两种针对性解决方案:

方案一:禁用内核模块签名检查(快速解决,适合虚拟机场景)

临时生效(单次重启)

  • 重启Ubuntu,在GRUB启动菜单中选择Advanced options for Ubuntu
  • 选中要启动的内核版本,按e进入编辑模式
  • 找到以linux开头的行,在该行末尾添加参数:module.sig_enforce=0
  • 按下Ctrl+X启动系统,此时模块签名检查被临时禁用,可正常加载pcan

永久生效

  1. 编辑GRUB配置文件:
    sudo nano /etc/default/grub
    
  2. 找到GRUB_CMDLINE_LINUX_DEFAULT行,在引号内添加module.sig_enforce=0,例如:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash module.sig_enforce=0"
    
  3. 更新GRUB配置:
    sudo update-grub
    
  4. 重启系统,模块签名检查将永久禁用

方案二:切换到UEFI模式并签名pcan模块(规范流程)

步骤1:修改VirtualBox虚拟机设置

  • 关闭虚拟机,打开VirtualBox的设置→系统→主板
  • 勾选「启用EFI(特殊OSes需要)」,保存设置后启动虚拟机

步骤2:生成并导入签名密钥

  1. 生成签名密钥对:
    openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=PEAK CAN Driver Signing Key/"
    
  2. 导入密钥到MOK(Machine Owner Key):
    sudo mokutil --import MOK.der
    
    • 输入自定义密码(后续重启验证需要),确认后重启虚拟机

步骤3:完成MOK密钥 enrollment

  • 重启后会进入MOK管理界面,依次选择:
    Enroll MOK → Continue → Yes
  • 输入之前设置的密码,确认后系统会继续启动

步骤4:签名并加载pcan模块

  1. 找到pcan内核模块文件路径(可通过find /lib/modules -name pcan.ko查找,通常位于/lib/modules/$(uname -r)/extra/pcan.ko)
  2. 使用内核脚本签名模块:
    sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /path/to/pcan.ko
    
    替换/path/to/pcan.ko为实际文件路径
  3. 重新加载模块:
    sudo modprobe -r pcan && sudo modprobe pcan
    
  4. 验证结果:
    dmesg | grep pcan
    
    此时不应再出现module verification failed的错误

内容的提问来源于stack exchange,提问作者jerinj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:25:03