Как занести в черный список модуль ядра zfs во время загрузки?
Как отключить модуль ядра ZFS перед загрузкой в grub?
Упоминается, что некоторые модули могут быть отключены через командную строку grub в аналогичном вопросе. К сожалению, этот метод не работает с zfs:
module_to_blacklist.blacklist=yes
Со следующим сообщением: неизвестный параметр "черный список" игнорируется
2 ответа
Если я прав, что вы установили ZFS через dkms, похоже, вам нужно удалить его с помощью того же инструмента.
dkms remove [module/module-version] [-k kernel/arch] [--all]
Removes a module/version or module/version/kernel/arch combination
from the tree. If the module is currently installed, it first
uninstalls it and if applicable, will replace it with its
original_module. Use the --all option in order to remove all
instances for every kernel at once.
Источник: http://manpages.ubuntu.com/manpages/trusty/man8/dkms.8.html
Примечание: вы можете не использовать опцию --all, пока не убедитесь, что получили желаемые результаты.
Я столкнулся с этой проблемой, потому что хочу загрузить последний Ubuntu Live CD, чтобы ядро не было испорчено. Однако модули ZFS портят ядро.
TLDR;Загрузка с параметром ядра позволяла загружаться без автоматической загрузки модулей zfs.
При расследовании этого я обнаружил 3 места, где мог загружаться модуль zfs.
- Initrd
- Файл
/scripts/zfs
пытается загрузить модуль в load_module_initrd, но это вызывается только в том случае, если есть параметр ядраboot=zfs
- Файл
- init.d
- Сценарий
/etc/init.d/zfs-import
загрузит модуль при запуске, но этот сценарий инициализации по умолчанию запускается только на уровнях выполненияS
(однопользовательский режим), так что не нормально.
- Сценарий
- системад
- Цель
zfs.target
, который запускается командойmulti-user.target
, загрузит модули черезzfs-load-module.service
. Это можно отключить с помощью параметра загрузки ядра.systemd.mask=zfs.target
- Цель