избавиться от сообщения «Не найдена страница режима кэширования» во время загрузки

11

во время ранней загрузки я получаю следующее сообщение об ошибке:

[sdb] No Caching mode page found
[sdb] Assuming drive cache: write through

Если я правильно понимаю, это на самом деле просто безобидное информационное сообщение, а не фактическая ошибка. sdbмой USB-диск, и он не использует кеширование.

Проблема в том, что я намеренно установил уровень логики ядра в 4, чтобы избавиться от такого рода бесполезных информационных сообщений.

Почему тогда я все еще получаю это информационное сообщение?

Причина, по которой меня это беспокоит, заключается в том, что это мешает моей подсказке пароля (для расшифровки моего диска LUKS)

Есть ли способ избавиться от этого сообщения?

Мартин Вегтер
источник
Используйте более низкий параметр ядра, например, loglevel=0для настройки уровней сообщений Linux. Я думаю, что уровень 4 слишком высок, чтобы заставить замолчать это конкретное сообщение. Уровень 0, вероятно, слишком резкий, но он избавляется от ВСЕХ надоедливых системных рвот в середине моих сладких, приятных загрузочных экранов.
Доминик Черизано

Ответы:

5

Жесткие диски имеют небольшой объем оперативной памяти для ускорения операций записи. Система может записать часть данных в дисковый кеш, фактически не ожидая, пока она будет записана на диск. Это иногда называют режимом «обратной записи». Если на диске нет кэша, данные напрямую записываются в него в режиме «сквозной записи». Предупреждение «Запрос о сбое данных в кэш-памяти» обычно возникает на таких устройствах, как флэш-накопители USB, устройства чтения карт памяти USB и т. Д., Которые представляются в системе как устройства SCSI (sdX), но не имеют кэш-памяти. Система спрашивает устройство: «У вас есть кеш?» и не получает ответа. Поэтому он предполагает, что кеша отсутствует, и переводит его в режим сквозной записи.

Вы можете попробовать перейти к:

/etc/modules

и в верхней части списка модулей добавьте строку

usb_storage

Это должно выглядеть примерно так:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

usb_storage
lp

Так я решил похожую проблему.

Дайте мне знать, что случилось.

Malyy
источник
1
Я не уверен, какую проблему это должно решить. Но это не относится к моей проблеме. Кроме того, я не использую модули в своем ядре.
Мартин Вегтер
Это не
Ахмед Ид
@malyy Интересно, что такое "lp" в последней строке? Что это означает?
Пранав
1

Да. Вы можете избавиться от таких сообщений, выполнив следующую команду:

echo 0 > /proc/sys/kernel/printk

Это подавит почти все сообщения ядра и отобразит только экстренные сообщения.

Смотрите эту ссылку для получения дополнительной информации

SHW
источник
Почему даунвот ???
ШВ
2
Возможно, потому что это не будет иметь эффекта во время ранней загрузки, прежде чем какое-либо пространство пользователя получит контроль. Тот же параметр будет действовать, добавляя loglevel=0в командную строку ядра загрузчик (редактируя и применяя конфигурацию загрузчика перед следующей перезагрузкой). PS Я не голосовал против, просто к вашему сведению.
Я имею в виду под userspace controlэтой echoкомандой, которая пишет в /proc/sys/kernel/printkпсевдофайл.
1
OP может добавить вышеупомянутую команду echo в один из хуков или скриптов initramfsfs.
ШВ
1
@ SHW - я не хочу подавлять все сообщения ядра. Мой вопрос явно "как я могу избавиться от этого сообщения". Кроме того, в своем исходном сообщении я указывал, что использую параметр ядра loglevel=4. Я мог бы просто изменить это, чтобы loglevel=5избавиться почти от всех сообщений, но это не то, что я хочу.
Мартин Вегтер
1

Это, вероятно, предупреждающее сообщение (возможно, драйвер считает его достаточно важным, чтобы упомянуть). Вы не указали, какой драйвер использует ваш жесткий диск USB, поэтому я не могу указать на исходную строку, чтобы проверить это. Дополнительная информация об уровнях журнала здесь: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/kern_levels.h?id=HEAD

Самым простым исправлением будет добавление «quiet» к аргументам вашего ядра через загрузчик, будь то GRUB / LILO / etc.

вики
источник
0

Измените ваш способ загрузки с USB, изменяя USB как загрузочное устройство, используйте инструмент power iso, чтобы ваше загрузочное устройство USB работало на 100% без сбоев ...


источник
0

У меня была эта проблема с новой установкой Arch Linux UEFI, где я использовал UEFI Live USB для загрузки загрузчика на ESP.

Решением было исправить установку с помощью EFI Boot Manager .

Если вы используете GRUB& not a EFISTUBдля загрузки Linux, вам НЕ нужно добавлять какие-либо cryptкоманды ядра к efibootmgrкомандам.

Стюарт Кардалл
источник