我为了清理Ubuntu 16.04空间,误删了当前内核,导致无法进入系统。由于幸好有些没有御载的内核还可以用,就用liveCD方式修改了grub中所要引导的内核,勉强使用,还有一些小困扰,系统启动时会有几秒的黑屏,以后再修理。
1,获得写权限配置grub
在终端里输入命令:
sudo gedit /boot/grub/grub.cfg
打开grub配置文档.
2,修改grub配置
set default="0":表示默认的启动项,“0”表示第一个,依次类推。
set timeout=10:表示默认等待时间,单位是秒。
3,查看已有内核
在终端里输入命令:
dpkg --get-selections | grep linux-image
注:dpkg --get-selections [<表达式> ...] 把已选中的软件包列表打印到标准输出;
grep linux-image 匹配查找;
然后会显示系统中已安装的内核,例如:
linux-image-2.6.38-10-generic install
linux-image-2.6.38-8-generic install
linux-image-2.6.35-22-generic install
linux-image-generic install
4.卸载旧的内核版本,在终端里输入命令:
sudo apt-get remove linux-image-2.6.35-22-generic linux-image-2.6.38-8-generic
5,uname -a 查看已安装的linux内核版本。
6,设置完kernal和grub要更新grub:
sudo update-grub
7,livecd
系统损坏时,可以烧制U盘启动盘,按F12进入boot,选择U盘启动。进入试用系统。挂载原系统的硬盘,好操作文件,进行修复。
8, 进入grub命令行
重启进入grub——高级选项(Enter)——上下键选择内核版本——按e进入命令行 ,
ls -l查看所有的分区及其对应的uuid
可设置:
set root=(hd0,msdos1)
linux linux /vmlinuz.efi root=UUID=xxx
initrd /initrd.lz
boot
其中(hd0,msdos1)是/boot挂载的分区,具体的序号因人而异。而xxx表示/分区的uuid。