Задача SecureBoot это защита от подмены/встраивания вредоносного кода в процесс загрузки ОС (те самые руткиты). SecureBoot не позволит подменить загрузчик или встроить туда дополнительные модули. Для защиты от кейлоггеров придумали многофакторную аутентификацию. Лично я для этого использую LUKS, который шифруется ключём, который генерируется Yubikey (https://github.com/agherzan/yubikey-full-disk-encryption). Т.е. если даже пароль для шифрования который я ввожу при загрузке утечёт, то без самого Yubikey он не сможет расшифровать диск. Т.е. придётся ещё и украсть yubikey, что уже сложнее.А теперь поясню причём тут SecureBoot и как он помогает в этом сетапе. Если у меня система с включённым SecureBoot, в котором прописаны мои собственные ключи, то когда я получаю запрос на расшифровку диска LUKS, я уверен, что подписанный моим ключём загрузчик загрузил подписанное моим ключём ядро и пароль можно вводить. Если же secureboot нет, то загрузчик/образ ядра/что-у-вас-там-незашифрованное, можно легко модифицировать, внедрив туда руткит, который будет работать в фоне, собирать и сохранять то, что ему нужно во время загрузки и работы системы и отправит при случае куда нужно, когда Вы к интернету подключитесь. И об этом никак не узнать.
Ещё раз повторю, SecureBoot не идеален, но без него на x86 невозможно добится защиты от злоумышленника, имеющего доступ к выключенному компьютеру. Если такой вектор атаки Вас не интересует, то SecureBoot Вам не нужен, отключайте его и не парьтесь.