无法启动到 fedora 29 - RIP 值错误

无法启动到 fedora 29 - RIP 值错误

我尝试安装GFORTRAN_7f29因为我需要libfortran.so.4一个程序。

我做了什么

我找到了 rmp 文件 ( libgfortran4-7.3.1-alt9.x86_64.rpm),下载并尝试安装它。我必须安装一些额外的软件包。第一个是,libgcc1-8.3.1-alt5.x86_64.rpm但是当我尝试安装它时,我遇到了依赖问题。然后我尝试使用命令提取内容rpm2cpiolib64创建了一个名为的文件夹,并在其中libgcc_s.so.1保存了文件。

我手动复制了这个文件,/usr/lib64然后发生了混乱!笔记本电脑立即重新启动,几秒钟内就会出现登录页面(通常重新启动大约需要 20 秒)。我登录后,图形出现了一个奇怪的问题。

在那之前我一直在使用 cinammon (导航位于屏幕顶部),突然底部出现了另一个与 cinammon 不同的导航栏。几分钟后,我的 cinammon 崩溃了,并弹出一个窗口询问我是否现在要重新启动 cinammon。我选择“否”,然后我无法再在笔记本电脑上执行任何操作。所以我手动关闭了笔记本电脑。

发生了什么

当我尝试重新打开它时,它没有启动。相反,我有以下关于 aBad RIP value和 a 的错误Kernel Panic

https://imgur.com/KVkawPp.png

我尝试在已安装的以前的 Fedora 版本中以救援模式启动,但遇到了同样的问题。

然后我创建了一个实时f30USB,从那里我可以访问这些文件。

我重新启动,然后出现类似的错误,但在这种情况下更短

https://imgur.com/mcixgtc.png

在另一次重新启动中,错误与第一次类似

https://imgur.com/7x5qn0F.png

尝试调试

从实时 USB 中,我尝试通过键入来查看日志中的错误journalctl -r -p err,但我不确定它是否读取正确的日志(即我f29安装的日志)。

https://pastebin.com/dJNv9mbB

我不知道是否相关,但我尝试查看 rpm 的日志文件,以便为您提供更多详细信息,并且我注意到目录中/var/lib/rpm/存在今天创建的以下文件。时间可能不正确,但我报告它以防万一它很重要。

-rw-r--r--. 1 root root    311296 Aug  8 04:48 __db.001
-rw-r--r--. 1 root root     90112 Aug  8 04:48 __db.002
-rw-r--r--. 1 root root   1318912 Aug  8 04:48 __db.003

我也看了一下/var/log/messages,有一个关于该libgcc_s.so.1文件的条目。

8 月 8 日 10:51:33 pcen35240 tracker-extract[14686]:/usr/libexec/tracker-extract:加载共享库时出错:libgcc_s.so.1:无法打开共享对象文件:没有这样的文件或目录

不过我可以看到该文件

[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr lib/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:10 lib/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr lib64/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:27 lib64/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr usr/lib64/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:27 usr/lib64/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]$ ls -lhtr usr/lib/libgcc_s.so.1
lrwxrwxrwx. 1 root root 24 Feb 23 15:10 usr/lib/libgcc_s.so.1 -> libgcc_s-8-20190223.so.1
[liveuser@localhost-live b0276d9d-2767-4839-9085-9cc2c27e68ca]

我已经在这个问题之前粘贴了这个文件的一部分,以防有人有线索(完整的文件可以在这里找到https://cernbox.cern.ch/index.php/s/vpi89mDmzgli0Lq

https://pastebin.com/3ZF1DHd6


关于如何解决这个问题的任何想法,最好不需要从头开始安装操作系统?

*请注意,目前我只能通过f30实时 USB 访问我的系统。

答案1

/usr/lib64您需要在(可能还有其他地方)重新安装损坏/覆盖的库文件。

  1. 正如您已经完成的那样,从 USB 启动实时系统。
  2. 假设挂载损坏的根文件系统,位于/mnt/fedora
  3. 识别损坏的文件(或使用ls,或记住您覆盖了哪些文件)。
  4. 识别这些文件的包名称 - 至少,这包括libgcc.
  5. 在路径中重新安装它们/mnt/fedorayum --installroot=/mnt/fedora reinstall libgcc(...)

相关内容