升级后无法登录Kali

升级后无法登录Kali

我正在从 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 时,可能会要求您首先将已安装操作系统的文件系统挂载到某个挂载点,然后您需要将挂载点路径作为文件路径名的前缀。例如,如果您挂载 Kali 根目录文件系统到/mnt,损坏文件的完整路径将是/mnt/usr/lib/locale/locale-archive。)

找到正确的文件后,将其重命名为其他名称(例如,locale-archive.broken)。这可能允许 Kali 安装启动(尽管具有严格的 POSIX/美国英语本地化)。

一旦您的系统启动并运行,并确认您没有耗尽磁盘空间,您就可以使用该locale-gen命令重新生成该locale-archive文件。

如果这导致问题再次出现,请locale-archive使用 Live CD 再次删除/重命名该文件,然后返回正常操作系统并运行apt reinstall localesapt reinstall util-linux-locales刷新用于生成该locale-archive文件的源文件(因为这些源文件也可能已损坏) ,然后locale-gen重试。

相关内容