Ubuntu 16.04 LTS误删系统内核或驱动导致无法上网解决方案

版权声明:分享、借鉴或使用刁肥宅的劳动成果请务必注明出处!刁肥宅保留追究剽窃者的一切权利! https://blog.csdn.net/u25th_engineer/article/details/89677137

        我花了将近3天的才解决了这个问题,期间多次想放弃、直接重装系统(还好我没有),但一想到重装系统要重新配置那么多东西就不胜其烦。

        我前天突然心血来潮想要清理下系统多余内核,说干就干。我马上在网上搜到相关命令后就开始敲,前后敲了这些“死亡”命令:

 1658  uname -a
 1659  dpkg --get-selections|grep linux
 1660  sudo apt-get remove linux-image-4.15.0-29-generic
 1661  sudo apt-get remove linux-modules-extra-4.4.0-146-generic
 1662  exit
 1663  dpkg --get-selections |grep linux-image
 1664  sudo apt-get remove
 1665  sudo apt-get update
 1666  sudo apt-get upgrade
 1667  sudo gedit /etc/apt/sources.list
 1668  sudo apt-get dist-upgrade
 1669  exit
 1670  sudo apt-get purge  linux-image-4.15.0-29-generic linux-image-4.15.0-42-generi
 1671  ps -e|grep apt-get
 1672  sudo rm /var/cache/apt/archives/lock
 1673  sudo rm /var/lib/dpkg/lock
 1674  sudo apt-get purge  linux-image-4.15.0-29-generic linux-image-4.15.0-42-generi
 1675  jps -m
 1676  kill 2601
 1677  jps -m
 1678  ps aux
 1679  exit
 1680  uname -r
 1681  sudo dpkg --get-selections |grep linux
 1682  sudo apt-get purge linux-image-4.15.0-29-generic linux-image-4.15.0-42-generic linux-image-4.15.0-43-generic linux-image-4.15.0-45-generic linux-image-4.15.0-46-generic linux-modules-4.15.0-29-generic linux-modules-4.15.0-42-generic linux-modules-4.15.0-43-generic linux-modules-4.15.0-45-generic linux-modules-4.15.0-46-generic 
 1683  sudo dpkg --configure -a
 1684  cd
 1685  sudo apt-get purge linux-image-4.15.0-29-generic linux-image-4.15.0-42-generic linux-image-4.15.0-43-generic linux-image-4.15.0-45-generic linux-image-4.15.0-46-generic linux-modules-4.15.0-29-generic linux-modules-4.15.0-42-generic linux-modules-4.15.0-43-generic linux-modules-4.15.0-45-generic linux-modules-4.15.0-46-generic 
 1686  sudo dpkg --configure -a
 1687  sudo rm /var/lib/dpkg/updates/*
 1688  sudo apt-get purge linux-image-4.15.0-29-generic linux-image-4.15.0-42-generic linux-image-4.15.0-43-generic linux-image-4.15.0-45-generic linux-image-4.15.0-46-generic linux-modules-4.15.0-29-generic linux-modules-4.15.0-42-generic linux-modules-4.15.0-43-generic linux-modules-4.15.0-45-generic linux-modules-4.15.0-46-generic 
 1689  uname -r
 1690  sudo dpkg --get-selections |grep linux
 1691  sudo apt-get purge linux-headers-4.15.0-46 linux-headers-4.15.0-46-generic linux-headers-4.4.0-145 linux-headers-4.4.0-145-generic linux-headers-4.4.0-146 linux-headers-4.4.0-146-generic linux-headers-generic linux-image-4.4.0-142-generic linux-image-4.4.0-143-genericlinux-image-4.4.0-145-genericlinux-image-4.4.0-146-generic linux-image-extra-4.4.0-142-generic linux-modules-4.4.0-143-generic linux-modules-4.4.0-145-generic linux-modules-4.4.0-146-generic linux-modules-extra-4.15.0-29-generic linux-modules-extra-4.15.0-42-generic linux-modules-extra-4.15.0-43-genericlinux-modules-extra-4.15.0-45-generic linux-modules-extra-4.15.0-47-generic linux-modules-extra-4.15.0-48-generic linux-modules-extra-4.4.0-143-generic linux-modules-extra-4.4.0-145-generic linux-modules-extra-4.4.0-146-generic
 1692  sudo apt-get purge linux-headers-4.15.0-46
 1693  sudo apt-get purge linux-headers-4.15.0-46-generic
 1694  sudo apt-get purge linux-headers-4.4.0-145
 1695  sudo apt-get purge  linux-headers-4.4.0-145-generic
 1696  sudo apt-get purge  linux-headers-4.4.0-146-generic
 1697  sudo apt-get purge   linux-headers-4.4.0-146
 1698  sudo apt-get purge  linux-image-4.4.0-142-generic
 1699  sudo apt-get purge linux-headers-generic 
 1700  sudo apt-get purge linux-image-4.4.0-143-genericlinux-image-4.4.0-145-generic
 1701  sudo apt-get purge linux-image-4.4.0-143-generic
 1702  sudo apt-get purge linux-image-4.4.0-145-generic
 1703  sudo apt-get purge linux-image-4.4.0-146-generic linux-image-extra-4.4.0-142-generic
 1704  sudo apt-get purge linux-modules-4.4.0-143-generic linux-modules-4.4.0-145-generic
 1705  sudo apt-get purge linux-modules-4.4.0-146-generic linux-modules-extra-4.15.0-29-generic
 1706  sudo apt-get purge linux-modules-extra-4.15.0-42-generic linux-modules-extra-4.15.0-43-generic
 1707  sudo apt-get purge linux-modules-extra-4.15.0-45-generic linux-modules-extra-4.15.0-47-generic
 1708  sudo apt-get purge linux-modules-extra-4.15.0-48-generic
 1709  sudo apt-get purge linux-modules-extra-4.4.0-143-generic
 1710  sudo apt-get purge linux-modules-extra-4.4.0-145-generic
 1711  sudo apt-get purge linux-modules-extra-4.4.0-146-generic
 1712  sudo apt-get autoremove
 1713  sudo dpkg --get-selections |grep linux
 1714  uname -r

        当时没觉得有什么不对,反而看到少了很多的内核与驱动,心情大悦。然而(坏事往往都有个“然而”),当我重启机子后发现,联不上网了,怎么试都没用。

图1 电脑连不上网

        我一想到刚刚的那波操作,瞬时觉得大事不好——捅篓子了,还是天大的篓子!之后,我陆续看了很多的博客与论坛,试了许多办法,都没用!

        几经周折,我已经打算要重装系统了,绝望前我还想再挣扎一下。我到接单的技术QQ群里面发布了“有偿解决问题”的消息,第一天没人接,今天才有人找来,但听了我的问题就说“我可能也拯救不了”;此时我已经打算找人在我重装系统之后帮忙配置Spark环境了。虽然找上门来的技术没有解决我的问题,但他給我带来一个我以前不知道的“新”命令:history——在终端输入history后,系统会显示近期你在终端键入的1000条命令,这給我解决问题带来了新的灵感:

        通过history查询我以前输入的命令,同时也就知道我都删除了那些系统内核与驱动,再用另一台可以上网的机子将对应的内核或驱动下载下来,拷到我的机子上安装,说不定就成了。

图2 键入history的起始
图3 键入history的末尾

        一想到此,我抱着最后的希望试了一下。在“暴力”安装内核或驱动的过程中,有些会因为“依赖关系”而报错,直接忽略错误提示,直到把所有下载下来的.deb文件都安装完毕,无法安装的也不必在意。完事后我重启机子,当在登录界面看到“您已连接到‘自动以太网’”与联网标识时我的激动难以言表!

图4 手动安装的系统内核或驱动
图5 可以联网

        总结:

        问题:

        Ubuntu 16.04 LTS误删系统内核或驱动,导致无法机子联网。

        解决方案:

        通过history命令查询自己删了哪些内核或驱动,之后借一台可以上网的机子,到网上下载所有对应内核或驱动,再拷到自己的机子上,在.deb文件所在路径下打开终端,进入root,用下列命令逐一安装:

sudo dpkg -i *.deb

       命令中的*代指内核或驱动的全名。重启机子,又可以联网了。

猜你喜欢

转载自blog.csdn.net/u25th_engineer/article/details/89677137
今日推荐