如果要保持启用安全启动功能,则以前发布的解决方案可能对您不起作用。相反,我保持启用安全启动并执行以下操作:
创建一组用于签名的密钥:
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive common name/"
导入密钥。在此将提示您输入密码,您需要记住该密码。重新启动后,您的BIOS应该提示您输入密码。
sudo mokutil --import MOK.der
重新开始:
reboot
您的BIOS应该提示您输入密码。假设一切正常,那么您将需要测试您的MOK是否已成功注册。
mokutil --test-key MOK.der
现在,您的MOK已被注册。您需要为wifi安装驱动程序。
git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
git checkout extended
sudo make install
您可以将驱动程序添加到内核中,但是由于启用了安全启动,因此在添加它们之前需要先对其进行签名。因此,请使用您先前生成的密钥对驱动程序进行签名。
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtlwifi)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl_pci)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n btcoexist)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723-common)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n phydm_mod)
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723de)
最后,rtl8723de
按此顺序将驱动程序添加到内核
sudo modprobe -r rtlwifi
sudo modprobe rtlwifi
sudo modprobe -r rtl_pci
sudo modprobe rtl_pci
sudo modprobe -r btcoexist
sudo modprobe btcoexist
sudo modprobe -r rtl8723-common
sudo modprobe rtl8723-common
sudo modprobe -r phydm_mod
sudo modprobe phydm_mod
sudo modprobe -r rtl8723de
sudo modprobe rtl8723de
附带说明:对于最后一步,您可能只需要编写即可:
sudo modprobe -r rtl8723de
sudo modprobe rtl8723de
modprobe
知道哪个驱动程序rtl8723de
依赖,因此应该能够添加rtl8723de
依赖的所有东西rtl8723de
。但是,我没有以这种方式添加驱动程序,因此无法保证此选项将起作用。
来源:1,2,3