初期起動中に、次のエラーメッセージが表示されます。
[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ブートマネージャ。
Windowsでは、簡単な解決策は次のとおりです。シンプル
Linuxで使用
efibootmgr
そしてtimeout
値
GRUB
& を使用しない場合EFISTUB
Linuxを起動するために必要なことは次のとおりです。いいえcrypt
すべてのカーネルコマンドをefibootmgr
コマンドに追加する必要があります。