私はVMwareでKaliを実行しています。 Kaliをアップグレードしましたが、再起動後にログインできません。再起動すると、tty1を介して自動的にログインし、次のエラーが発生します。
uname : loadlocale.c:129 : _nl_inter_locale_data : Asserting 'cnt<(sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed
/bin/uname failed caught signal 6
回復モードでログインしようとしましたが、同じ失敗エラーが発生しているようです。
intel_rapl: no valid rapl domains found in package 0
echo: loadlocale.c : 129: _nl_inter_locale_data : Asserting 'cnt<(sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed
これらの問題に対するいくつかの解決策を見ましたが、すべてコマンドプロンプトで実行されます。ログインウィンドウで「e」を使ってログインコマンドを編集してアクセスしようとしましたが、同じエラーメッセージが表示されます。ログイン中に「c」を使用してGNU GRUBコマンドラインで同じコマンドを実行してみましたが、何も機能しないようです。これで、どのようなホエー環境でもログインしたり、コマンドプロンプトにアクセスできなくなります。
答え1
ロケールデータファイル(=日付と時刻の形式、コマンドメッセージの翻訳などを定義するファイル)が何らかの方法で破損しているようです。
ほとんどすべてのコマンドはこれらのファイルを使用するため、ほとんどのコマンドは同様のエラーメッセージを生成します。これらのファイルを使用する国際化ライブラリは、標準のPOSIX形式とアメリカの英語メッセージに置き換えてロケールファイルの不足を処理できますが、破損したロケールファイルが原因でライブラリが失敗し、便利な操作を行わずにコマンドがクラッシュします。
一部のLinux Live CDまたは同様のブートメディアを使用してシステムにアクセスできます。 Kaliインストールのファイルシステムにアクセスしたら、ファイルを探す必要があります/usr/lib/locale/locale-archive
。
(Live CDを使用している場合は、最初にインストールされているオペレーティングシステムのファイルシステムをマウントポイントにマウントするように求められます。その後、マウントポイントパスをファイルパス名で接頭辞として指定する必要があります。ルートファイルシステムをに変更すると、/mnt
破損したファイルのフルパスは)になります/mnt/usr/lib/locale/locale-archive
。
正しいファイルが見つかったら、名前を別の名前に変更します(例locale-archive.broken
:)。これにより、Kaliインストールが起動する可能性があります(厳密なPOSIX /アメリカ英語のローカライゼーションにもかかわらず)。
システムが起動して実行され、ディスク容量が不足していないことを確認したら、このlocale-gen
コマンドを使用してファイルを再生成できますlocale-archive
。
これにより問題が再発した場合は、locale-archive
Live CDを使用してファイルを再度削除または名前を変更してから、通常のオペレーティングシステムに戻り、ファイルの作成に使用されたソースファイルを実行して更新してapt reinstall locales
からapt reinstall util-linux-locales
(このファイルも破損している可能性があります)もう一度お試しください。 。locale-archive
locale-gen