
Я запускаю Kali из VMware. Я обновил свой 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' в окне входа, но я получил то же самое сообщение об ошибке. Я пытался запустить те же команды в командной строке GNU GRUB с помощью 'c' при входе, но ничего не работает. сейчас я не могу войти или достичь командной строки ни в одном whey
решение1
Похоже, что файлы данных локали (= файлы, определяющие форматы даты и времени, переводы командных сообщений и т. д.) каким-то образом повреждены.
Поскольку эти файлы используются практически каждой командой, большинство команд будут выдавать похожие сообщения об ошибках. Библиотеки интернационализации, которые используют эти файлы, вероятно, справятся с отсутствием файлов локали, вернувшись к стандартным форматам POSIX и сообщениям на американском английском, но, похоже,испорченныйФайлы локали приводят к сбоям в работе библиотек, из-за чего команды завершаются сбоем, не принося никакой пользы.
Вы можете попробовать получить доступ к своей системе с помощью Linux Live CD или аналогичного загрузочного носителя. Получив доступ к файловой системе установки Kali, вы должны попытаться найти файл /usr/lib/locale/locale-archive
.
(При использовании Live CD вам, вероятно, сначала потребуется смонтировать файловую систему установленной ОС в некоторую точку монтирования, а затем вам нужно будет добавить префикс пути к точке монтирования к имени пути к файлу. Например, если вы смонтируете корневую файловую систему Kali в /mnt
, полный путь к поврежденному файлу будет /mnt/usr/lib/locale/locale-archive
.)
Как только вы найдете нужный файл, переименуйте его во что-нибудь другое (например, locale-archive.broken
). Это может позволить установке Kali загрузиться (хотя и со строгой локализацией POSIX/US English).
После того, как вы запустите систему и убедитесь, что на диске не заканчивается место, вы можете использовать команду locale-gen
для повторной генерации locale-archive
файла.
Если это приводит к повторному возникновению проблемы, удалите/переименуйте файл locale-archive
еще раз с помощью Live CD, затем вернитесь в обычную ОС и запустите apt reinstall locales
и apt reinstall util-linux-locales
обновите исходные файлы, использованные для создания locale-archive
файла (так как эти исходные файлы также могут быть повреждены), а затем locale-gen
повторите попытку.