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コマンドラインで同じコマンドを実行しようとしましたが、何も機能しないようです。現在、ログインできません。または、任意のホエイでコマンドプロンプトに到達します
ロケールデータファイル(=日付と時刻の形式、コマンドメッセージの変換などを定義するファイル)が何らかの理由で破損しているようです。
これらのファイルはほぼすべてのコマンドで使用されているため、ほとんどのコマンドで同様のエラーメッセージが表示されます。これらのファイルを使用する国際化ライブラリは、おそらく標準のPOSIX形式と米国英語メッセージにフォールバックすることでロケールファイルの不足を処理しますが、破損ロケールファイルが原因でライブラリが失敗し、有用なことを何もせずにクラッシュするコマンド。
Linux LiveCDまたは同様のブートメディアを使用してシステムにアクセスしてみてください。 Kaliインストールのファイルシステムにアクセスできたら、/usr/lib/locale/locale-archive
ファイルを見つけてみてください。
(Live CDを使用する場合は、インストールされているOSのファイルシステムを最初にマウントポイントにマウントする必要があります。次に、マウントポイントパスの前にファイルパス名を付ける必要があります。たとえば、Kaliルートをマウントする場合ファイルシステムを/mnt
に変更すると、破損したファイルへのフルパスは/mnt/usr/lib/locale/locale-archive
になります。)
正しいファイルが見つかったら、名前を別の名前に変更します(たとえば、locale-archive.broken
)。これにより、Kaliインストールが起動する可能性があります(ただし、POSIX/US英語の厳密なローカリゼーションが必要です)。
システムを起動して実行し、ディスクスペースが不足していないことを確認したら、locale-gen
コマンドを使用してlocale-archive
ファイルを再生成できます。
それで問題が再発する場合は、LiveCDを使用してlocale-archive
ファイルを削除/名前変更してから、通常のOSに戻り、apt reinstall locales
とapt reinstall util-linux-locales
を実行してソースファイルを更新します。 locale-archive
ファイルを生成するために使用され(これらのソースファイルも破損している可能性があるため)、locale-gen
を再試行します。