这篇博客讲述了博主为了安装 sqlite3鈈小心删了 boot 目录下的内核,还重启系统结果重启失败,通过 Ubuntu 安装 U 盘和 chroot 修复的故事
想在学校的服务器上装一个 sqlite3,被告知之前一次更新内核由于 boot 目录满了没有更新成功,需要完成内核的更新才能进行其它软件的安装我一看 boot 分区里已经有了很多版本的内核,想都没想就把舊版本的内核 mv 到了 home 目录下只在 boot 中留了最新版本的内核,然后执行 update-grub 命令再重启BOOM,系统开不起来了...刚刚才提示的上一次内核更新没有完全結束怎么会脑子一抽只留不完整的最新内核呢!
没办法,只好带了一个 Ubuntu 的安装 U 盘跑去机房用 U 盘启动后,选择“试用 Ubuntu”进入 liveCD(或者应该叫 liveUSB)。幸好之前把旧版本的内核在 home 目录下备份了把完整的旧内核复制回 boot 目录,执行 update-grub 后得到了错误提示:
上网搜索了一下,aufs 是一种特殊的文件系统liveCD 里有用。原来我们执行 update-grub 的环境是在 liveCD 中而不是我们要修复的硬盘上的系统,当然会报错接下来我们就要通过 chroot 把环境转换箌硬盘上的系统中,再重新安装 grub 并 update-grub 就能完成修复