Ubuntu系统内核出错,不用重装系统的修复方法

前段时间我跑了几年的Ubuntu系统在编译一个东西的时候改动了系统内核文件,导致除了cd命令其他命令都无法使用;

一直报错:

/sbin/init: relocation error:/lib/.... version GLIBS_PRIVATE ...not define 

ld-linux-x86-64.so.2 with link time reference(信息记不大清楚了,大致是这样的)

修复方法:

  1. 找一个大于8G的U盘,下载对应版本的ubuntu镜像文件,制作U盘启动盘
  2. 在需要修复的电脑上启动u盘启动盘,进入Try Ubuntu;直接进入测试系统
  3. 此时,你在此系统中会看到有个media 一长串字母数字组成的目录,这个其实就是我们真实ubuntu系统
  4. 对比测试系统和我们真实系统的usr/lib64下的系统库文件(主要找到错误中提到的两个.so文件)
  5. 用sudo cp 命令拷贝测试系统中的so库到真实系统usr/lib64下
  6. sudo sln xxxxxxxxxx(那一长串字母数字,真实系统)/usr/lib64/ld-2.23.s0  xxxxxxxxxx(那一长串字母数字,真实系统)/usr/lib64/ld-linux-x86-64.so.2
  7. 关机正常启动电脑,成功进入系统说明系统修复了.

PS: 如果正常启动电脑遇上No boot Device Found错误,

        可以在插上U盘进入测试系统,命令行输入:

        grub-install --root-directory=/media/tempdir /dev/sda

         其中tempdir是我自己新建的目录,大家可自行命名;

        fdisk -l 可以查看系统分区,我这边查看系统启动在 /dev/sda

       上述命令输完后运行sudo update-grub2即可

关掉测试系统,正常启动电脑,此时没有再报No boot Device Found,出现正常启动界面,说明修复成功了.

因为是好几天前经过无数次各种尝试修复的,当时没做记录,以上内容均为我凭记忆记录,大致内容应该是正确的,个别错误请大家多多包含啊!

猜你喜欢

转载自blog.csdn.net/u011249920/article/details/80568771