问题原因:内核的某次升级,导致系统无法启动。

首先进入recovery模式:引导界面选择-->Ubuntu高级-->出现的选项中选择能够启动的recovery模式(几个内核版本分别试一下)-->确认后就能看到一个界面出现很多选项,选择第一个recovery模式-->OK。(大概步骤就是这样,自己摸索一下就出来了)

然后就进入系统了。在这里操作如下

1,查看/boot/下的文件

abi-4.4.0-31-generic memtest86+.bin
abi-4.4.0-98-generic memtest86+.elf
config-4.4.0-31-generic memtest86+_multiboot.bin
config-4.4.0-98-generic System.map-4.4.0-31-generic
grub System.map-4.4.0-98-generic
initrd.img-4.4.0-31-generic vmlinuz-4.4.0-31-generic
initrd.img-4.4.0-98-generic vmlinuz-4.4.0-98-generic

发现存在两个版本的内核,原因应该是某次自动更新??不知道

2,尝试修改/boot/grub/grub.cfg

定位到某个menuentry(你自己需要启动的那个系统),如下是我无法启动的系统的menuentry

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c9ddf11a-a984-4854-91af-bcaed3e6c9b9' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos9'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 c9ddf11a-a984-4854-91af-bcaed3e6c9b9
else
search --no-floppy --fs-uuid --set=root c9ddf11a-a984-4854-91af-bcaed3e6c9b9
fi
linux /boot/vmlinuz-4.4.0-31-generic root=UUID=c9ddf11a-a984-4854-91af-bcaed3e6c9b9 ro quiet splash $vt_handoff
initrd /boot/initrd.img-4.4.0-31-generic
}

标红的版本,将自己系统中的高版本修改为低版本。如我的系统版本原来是31,不知道为什么升级成了98,修改回来。

重启就能启动了。

Ubuntu升级内核后无法启动

Ubuntu升级内核后常常产生新的内核grub无法启动,只能进入Ubuntu图标,加载进度条没有反应,呈现紫葡萄色背景的界面不动。而通过grub的原先内核版本启动,仍然能够启动。原因是新升级的内核与显卡等不兼容,需要更新显卡驱动。另外如果不想麻烦,可以直接内核降级,回到升级之前的版本:

找出系统已经安装的内核版本,在终端里输入命令:

dpkg --get-selections | grep linux-image

然后会显示系统中已安装的内核,例如:

linux-image-3.0.0-32-generic           instal
    linux-image-3.0.0-12-generic           install
    linux-image-generic               install

卸载新的内核版本,在终端里输入命令:

sudo apt-get removelinux-image-3.0.0-32-generic

上面命令和含义是:

dpkg --get-selections [<表达式> ...]把已选中的软件包列表打印到标准输出;

grep linux-image 匹配查找;

uname -a 查看已安装的linux内核版。

发现只有原先的内核版本了

最后update-grub一下,重启,就可以直接进入。

Linux内核升级导致无法启动,Kernel panic - not syncing Unable to mount root fs on unknown block(0,0)的更多相关文章

  1. CentOS启动报错:Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block

    Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block 原因:主要问题就是你更新了内核之后出现的问题. ...

  2. Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block 解决办法

    昨晚更新了一下内核,今晚开机就无法进系统了...提示如下图: 解决方案:开机启动时按Esc,然后选择下面的旧版本的内核启动即可. (成功进入系统后,你可以选择改变开机默认选择的内核). uname - ...

  3. 解决Ubuntu启动错误——kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0 – error

    最近在倒腾Ubuntu,然后想着怎么美化一下界面,于是照着网上的教程整了一下Flatabulous这个软件,然后好像/boot就满了.关机之后再开机就出现了如题所述的错误,无法开机,也无法进入reco ...

  4. LFS:kernel panic VFS: Unable to mount root fs

    说明: 使用Vm虚拟机构建自己的LFS系统时,系统引导不成功,提示 kernel panic VFS: Unable to mount root fs 参考链接:http://www.52os.net ...

  5. Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0)

    Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0) 33 ...

  6. Kernal Panic - Not syncing : VFS: unable to mount root fs on unknown-block

    升级了一下centos6.5 执行了 yum -y update reboot 出现了以下问题: Kernal Panic - Not syncing : VFS: unable to mount r ...

  7. 解决 linux [Fedora] 升级 导致VMware启动出现"before you can run vmware workstation, serveral modules must be complied and loaded into the runing kernel" 而无法卸载

    解决: 开机启动 进入 升级之前的内核系统 然后 执行卸载 VMware 命令 # vmware-uninstall You have gotten this message because you ...

  8. linux内核升级图文攻略(转)

    一.Linux内核概览Linux是一个一体化内核(monolithic kernel)系统.设备驱动程序可以完全访问硬件.Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置 ...

  9. linux内核升级图文攻略

    Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统. 设备驱动程序可以完全访问硬件. Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设 ...

随机推荐

  1. web-day2

    第2章WEB02-CSS&JS篇 今日任务 使用CSS完成网站首页的美化 使用CSS完成网站注册页面的美化 使用JS完成简单的数据校验 使用JS完成图片轮播效果 教学导航 教学目标 了解CSS ...

  2. jvm虚拟机--堆内存

    reserved 保留区域 堆 所有对象实例都在这里分配内存. 是垃圾收集的主要区域("GC 堆").现代的垃圾收集器基本都是采用分代收集算法,主要思想是针对不同的对象采取不同的垃 ...

  3. AngularJS 启动执行过程

    一.浏览器下载HTML/CSS/JavaScript等 当你转到一个页面地址后,浏览器先回下载这个HTML,同时,会开启一些辅助线程下载所关联的script标签和link标签里引用的文件. 二.浏览器 ...

  4. 使用UTL_HTTP时遭遇ORA-29273

    http://blog.itpub.net/8520577/viewspace-1295182/ 项目中需要使用utl_http访问webserivce.使用utl_http时报错ORA-29273. ...

  5. linux中yum命令的解析

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  6. 如何利用JUnit开展一个简单的单元测试(测试控制台输出是否正确)

    待测类(CreateString)如下: public class CreateString { public void createString() { //Output the following ...

  7. asp.net core 健康检查

    asp.net core 健康检查 ASP.NET Core 2.2 开始,提供了健康检查中间件和库,用来报告应用基础结构组件的运行状况.官方文档在此 运行状况检查由应用程序作为 HTTP 终结点公开 ...

  8. “全栈2019”Java多线程第三十六章:如何设置线程的等待截止时间

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 下一章 "全栈2019"J ...

  9. Python黑客——快速编写信息收集器

    i春秋作家:大木瓜 环境:Python 3模块:LxmlRequestBeautifulsoup开始:首先看一下目标站: http://gaokao.chsi.com.cn/gkxx/zszcgd/d ...

  10. C#6.0语言规范(十三) 接口

    接口定义合同.实现接口的类或结构必须遵守其合同.接口可以从多个基接口继承,并且类或结构可以实现多个接口. 接口可以包含方法,属性,事件和索引器.接口本身不为它定义的成员提供实现.接口仅指定必须由实现接 ...