我正在安装 glibc v2.18,突然安装(make install)因错误而停止。之后,任何基本终端命令(ls、sudo 等)以及尝试执行系统操作(关机、重启等)都导致分段错误。
我对系统进行了硬重启,在尝试启动 Ubuntu 时,我的机器显示以下内容:
[ 2.297365] init[1]: segfault at 3cd ip 00000000000003cd sp 00007fffa0a7f468 error 14 in libc-2.15.so[7fecf93a4000+1b5000]
[ 2.297640] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[ 2.297640]
[ 2.297707] Pid: 1, comm: init Not tainted 3.5.0-39-generic #60~precise1-Ubuntu
[ 2.297766] Call Trace:
[ 2.297814] [<ffffffff8168500e>] panic+0xc1/0x1d7
[ 2.297867] [<ffffffff811198f0>] ? perf_adjust_period+0xb0/0xb0
[ 2.297923] [<ffffffff81057582>] find_new_reaper+0x132/0x140
[ 2.297977] [<ffffffff810589e5>] forget_original_parent+0x45/0x1a0
[ 2.298033] [<ffffffff81058b57>] exit_notify+0x17/0x110
[ 2.298086] [<ffffffff810593e5>] do_exit+0x1f5/0x480
[ 2.298138] [<ffffffff81089814>] do_group_exit+0x44/0xa0
[ 2.298192] [<ffffffff810698cb>] get_signal_to_deliver+0x22b/0x440
[ 2.298249] [<ffffffff810147e9>] do_signal+0x29/0x130
[ 2.298301] [<ffffffff81685185>] ? printk+0x61/0x63
[ 2.298353] [<ffffffff81144966>] ? vm_mmap_pgoff+0x96/0xb0
[ 2.298407] [<ffffffff81155c63>] ? sys_mmap_pgoff+0x103/0x1f0
[ 2.298462] [<ffffffff810149a0>] do_notify_resume+0x90/0xd0
[ 2.298516] [<ffffffff8169e32c>] retint_signal+0x48/0x8c
我不确定如何解决内核恐慌并成功启动 Ubuntu。
答案1
glibc 是 Ubuntu 的一个重要组成部分,所以除非您真的需要不同的版本,否则最好保留它。
关于您的问题,只需重新安装libc6
即可解决问题。由于您无法使用该系统,您可以尝试使用 Live CD 恢复它。
从 live cd/usb 启动后,挂载您的根分区(您可以使用 Nautilus 命令mount
来执行此操作)。
然后你应该获取 .deb 的副本libc6
。你可以从http://packages.ubuntu.com/dist/libc6,dist
您的 Ubuntu 版本在哪里(Precise、Quantal、Raring 等)。仔细检查您是否下载了与您的架构相匹配的版本。
之后只需将该 .deb 提取到您的根分区即可。这并不等同于使用apt-get install
,但因为您无法在该系统上使用任何命令...
假设你的根分区安装在 /mnt 中,你可以使用以下命令提取 .deb
$ sudo dpkg -x /path/to/libc6*.deb /mnt
如果一切顺利,您可以卸载根分区并重新启动以检查问题是否已解决。
编辑
正如所指出的弗克莱姆,在您获得一个可以运行的系统后,您应该运行sudo apt-get install --reinstall libc6
以确保 libc 已正确安装。