起動時に「キャッシュモードページが見つかりません」というメッセージを取り除く


11

初期ブート中に、次のエラーメッセージが表示されます。

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

私が正しく理解していれば、これは実際には無害な情報メッセージであり、実際のエラーではありません。sdb私のUSBディスクであり、キャッシュを使用しません。

問題は、このような役に立たない情報メッセージを取り除くために、カーネルのログレベルを意図的に4に設定したことです。

それでもなぜこの情報メッセージが表示されるのですか?

それが私を困らせている理由は、それが私のパスワードプロンプトを妨害することです(私のLUKSディスクを復号化するため)

このメッセージを取り除く方法はありますか?


たとえばloglevel=0Linuxメッセージングレベルを調整するには、より低いカーネルパラメータを使用します。レベル4はこの特定のメッセージを沈黙させるには高すぎると思います。レベル0はおそらくあまりにも徹底的ですが、私の甘い、甘いブート画面の真ん中にあるすべての迷惑なシステムの悪ふざけを取り除きます。
Dominic Cerisano 2017

回答:


5

ハードディスクには、書き込み操作を高速化するために少量のRAMキャッシュがあります。システムは、データがディスクに書き込まれるのを実際に待つことなく、データチャンクをディスクキャッシュに書き込むことができます。これは「ライトバック」モードと呼ばれることもあります。ディスクにキャッシュがない場合、データは「ライトスルー」モードでディスクに直接書き込まれます。「キャッシュデータの要求に失敗しました」という警告は、通常、USBフラッシュドライブ、USBカードリーダーなど、システム(sdX)にSCSIデバイスとして表示されているが、キャッシュがないデバイスで発生します。システムはデバイスに「キャッシュはありますか?」と尋ねます。応答がありません。したがって、キャッシュがないと想定し、「ライトスルー」モードにします。

あなたはに行くことを試みるかもしれません:

/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

これは私が同様の問題を解決した方法です。

何が起こったのか教えてください。


1
これがどのような問題を解決するのかわかりません。しかし、それは私の問題には当てはまりません。その上、私はカーネルでモジュールを使用していません。
Martin Vegter、2016

それはそれを修正しませんでした
Ahmed Eid 2017

@malyy最終行に「lp」とは何なのかしら。それは何の略ですか?
プラナフ

1

はい。次のコマンドを実行することにより、そのようなメッセージを取り除くことができます。

echo 0 > /proc/sys/kernel/printk

これにより、ほとんどすべてのカーネルメッセージが抑制され、緊急メッセージのみが表示されます。

詳細については、このリンクを参照してください


なぜ反対投票ですか???
SHW

2
おそらく、これはユーザースペースが制御を取得する前の、初期の起動中には効果がないためです。同じ設定はloglevel=0、ブートローダーからカーネルコマンドラインに追加することで有効になります(次の再起動前にブートローダー構成を編集して適用することにより)。PS私は反対票を投じなかった、ただ参考までに。

私の平均の下では、userspace controlそのですechoへの書き込みを行うコマンド/proc/sys/kernel/printkの疑似。

1
OPは、彼のinitramfsfsフックまたはスクリプトに上記のechoコマンドを追加できます。
SHW 2016年

1
@SHW-すべてのカーネルメッセージを抑制したくありません。私の質問は、「このメッセージをどうやって取り除くのか」です。さらに、私は元の投稿でカーネルパラメータを使用していると述べましたloglevel=4loglevel=5ほぼすべてのメッセージを削除するように変更することもできますが、これは私が望んでいることではありません。
Martin Vegter、2016

1

これはおそらく警告メッセージです(おそらく、ドライバーはそれを言及するのに十分重要だと考えています)。USBハードドライブが使用しているドライバーを指定していないため、これを確認するためにソース行をポイントすることはできません。ログレベルの詳細については、http//git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/kern_levels.h?id = HEADをご覧ください。

最も簡単な修正は、GRUB / LILO / etcかどうかに関係なく、ブートローダーを介してカーネル引数に「静か」を追加することです。


0

ブート可能なデバイスとしてUSBを変更しながら、USBブート方法を変更します。電源ISOツールを使用して、USBブート可能なデバイスが100%動作するようにします。


0

UEFI Live USBを使用してにブートローダーをロードしていた新しいArch Linux UEFIインストールでこの問題が発生しましたESP

解決策は、EFIブートマネージャーでセットアップを修正することでした。

Linuxの起動にGRUB&を使用しない場合は、コマンドにカーネルコマンドを追加する必要EFISTUBはありませんcryptefibootmgr

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.