起動時に「キャッシュモードページが見つかりません」メッセージを削除する

起動時に「キャッシュモードページが見つかりません」メッセージを削除する

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

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

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

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

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

これが私を悩ませる理由は、私のパスワードプロンプト(私のLUKSディスクの復号化のため)を妨げるからです。

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

答え1

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

次に進みましょう。

/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

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

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

答え2

はい。次のコマンドを実行して、これらのメッセージを削除できます。

echo 0 > /proc/sys/kernel/printk

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

バラよりこれ詳細はリンク

答え3

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

最も簡単な修正は、ブートローダを介してGRUB / LILO /などのカーネルパラメータに "quiet"を追加することです。

答え4

.NETでUEFI Live USBを使用しているときに新しいArch Linux UEFIをインストールするときにこの問題が発生しましたESP

回避策は、次のコマンドを使用して設定を変更することです。EFIブートマネージャ

GRUB& を使用しない場合EFISTUBLinuxを起動するために必要なことは次のとおりです。いいえcryptすべてのカーネルコマンドをefibootmgrコマンドに追加する必要があります。

関連情報