Как занести в черный список модуль ядра 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.

  1. Initrd
    • Файл /scripts/zfsпытается загрузить модуль в load_module_initrd, но это вызывается только в том случае, если есть параметр ядра boot=zfs
  2. init.d
    • Сценарий /etc/init.d/zfs-importзагрузит модуль при запуске, но этот сценарий инициализации по умолчанию запускается только на уровнях выполнения S(однопользовательский режим), так что не нормально.
  3. системад
    • Цель zfs.target, который запускается командой multi-user.target, загрузит модули через zfs-load-module.service. Это можно отключить с помощью параметра загрузки ядра. systemd.mask=zfs.target
Другие вопросы по тегам