
Я хотел спросить, возможно ли загрузить ключ в мой live persistence distro, чтобы обойти Secure Boot без отключения? Я предполагаю, что ответ, скорее всего, нет, но я все равно хотел спросить.
решение1
Вы не сказали, для чего вам нужен ключ, но в Ubuntu я периодически делаю это, чтобы подписывать драйверы вручную. Мой драйвер BroadCom WiFi — сторонний и неподписанный, и я использую следующий скрипт каждый раз, когда устанавливается новое ядро:-
#!/bin/bash
if [ "$(whoami)" != "root" ]
then echo "wlsign: must be called from 'root'"
elif [ -z "$1" -o "$1" == "-c" ]
then
[ "$1" == "-c" ] && \
openssl req -new -x509 -newkey rsa:2048 -keyout wl.priv -outform DER -out wl.der -nodes -days 36500 -subj "/CN=BroadCom/"
/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./wl.priv ./wl.der $(modinfo -n wl)
[ "$1" == "-c" ] && mokutil --import wl.der
[ "$1" == "-c" ] && echo Now reboot and select MOK install || modprobe wl
else
[ "$1" != "-h" ] && echo "wlsign: invalid options - $@"
echo 'wlsign [-c|-h] : signs proprietary Wireless kernel drivers'
echo ' -c : create new keys (default: use existing)'
echo ' -h : give this help information'
fi
Мне эта опция понадобилась -c
только один раз, чтобы изначально создать файлы ключей. После использования -c
систему нужно перезагрузить и принять новый ключ в прошивку UEFI.
У меня есть аналогичные скрипты для других неподписанных драйверов, особенно драйверов VMware, которые компилируются на лету, поэтому их невозможно подписать.
Поскольку Kali и Ubuntu являются производными от Debian, я надеюсь, что структуры системных каталогов будут похожи. Обратите внимание, что программа sign-file
устанавливается в заголовочные файлы ядра, поэтому ее linux-headers-*
нужно будет установить для вашего ядра. kmodsign
В /usr/bin/
, которая может быть альтернативой, но я ее не пробовал.
Я не помню, где я нашел эту информацию, поэтому не могу указать ее источник.