V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ardeny
V2EX  ›  Linux

virtualbox 安装的 archlinux 滚挂了,搜索了没找到可行的解决方法,请各位大神帮忙看下如何解决。

  •  
  •   ardeny · 2015-08-19 17:11:32 +08:00 · 2747 次点击
    这是一个创建于 3172 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用 Virtualbox 安装的 archlinux ,一直 pacman -Syu 升级相安无事,前几天内核升级成了 4.1.4 ,重启就成了下面这个样子了。检查过 fstab 文件配置没有问题, syslinux.cfg 文件配置也是正确的,度娘查了很久没找到解决方法,尝试使用 chroot 挂载系统更新 4.1.5 的内核后,问题依旧。

    宿主机: WIN XP SP3
    virtualbox 版本: 5.0.2 r102096

    http://paste.ubuntu.org.cn/t3185992
    7 条回复    2015-08-20 11:34:32 +08:00
    zerh925
        1
    zerh925  
       2015-08-19 18:14:12 +08:00 via iPhone
    xp ?
    jamesxu
        2
    jamesxu  
       2015-08-19 18:44:08 +08:00 via iPhone
    你就没一个 fallback kernel ?
    comicfans44
        3
    comicfans44  
       2015-08-19 19:27:34 +08:00
    1.你的 root 参数指定的有问题
    2.root 文件系统的驱动没有加入 initramfs

    既然你有 chroot 环境,那就确认下 root 设备是否有误,再用 lsinitcpio initramfs-linux.img 看下里面是否包含了你的 root 文件系統驱动。
    或者尝试使用 initramfs-linux-fallbak.img 启动,这个里面包含了更全的驱动,可以解决由问题 2 引起的无法启动的问题
    ardeny
        4
    ardeny  
    OP
       2015-08-19 20:22:42 +08:00
    @zerh925 实体机是安装的 XP 系统,因为是工作用。虚拟机安装的是 Archlinux 。


    @comicfans44 明天去办公室后试下,先谢过。不行还得劳烦你。


    @jamesxu 一直都是新出来更新稍微看下后就滚了,我家用的笔记机实体安排的滚过没事。不知道是什么原因。
    ardeny
        5
    ardeny  
    OP
       2015-08-20 10:49:42 +08:00
    @comicfans44 使用 initramfs-linux-fallback.img 启动项启动,出现同样的错误信息。

    initramfs-linux.img 文件内容如下:

    http://img.vim-cn.com/fe/b69611ecd0cd3603a34c2e922698510bc01629.png
    comicfans44
        6
    comicfans44  
       2015-08-20 11:16:13 +08:00
    从你的贴图看来, initramfs-linux.img 中根本没有任何驱动模块,推测是更新 linux kernel 过程意外打断导致驱动没有解压缩,创建 initramfs 自然也就没有任何驱动了

    试试 lsinitcpio initramfs-linux-fallback.img ,看看里面是否有你的 root 文件系统的 ko 驱动

    如果 initramfs-linux-fallback.img 中也和 initramfs-linux.img 一样,仅有很少的内容(就像你截图一样),那问题出在 initramfs 的创建过程中

    可以用 chroot 环境进 archlinux 重新安装 linux 包,这个过程会解压缩驱动并且重新生成 initramfs

    安装后检查 root 文件系统下 /lib/modules/4.1.5-1-ARCH 目录下是否已经多了很多 ko
    (也可能是 ko.gz 什么的)文件,再用 lsinitcpio 检查新生成的 initramfs-linux.img 中是否已经包含驱动。

    正常情况 initramfs-linux.img 中应该会有很多 ko ,不会像你的截图中那么少



    如果 lsinitcpio initramfs-linux-fallback.img 中已经有很多 ko 驱动,那么你的问题可能出在 syslinux 的启动项上(可能仅加载了 kernel ,但没有加载 initramfs 。当然这种情况下你的 initramfs-linux.img 仍然可能是有问题的,同样需要重新安装 linux 包)
    comicfans44
        7
    comicfans44  
       2015-08-20 11:34:32 +08:00
    另外你贴图中的 initramfs 中连 init 和 mount 都没有,你需要检查下 /etc/mkinitcpio.conf 这个文件的内容,看看是不是把 HOOKS 变量设成空了。如果 HOOKS 变量设置成空,那么重新安装 linux 也不会正常生成 initramfs ,你需要参考 https://wiki.archlinux.org/index.php/Mkinitcpio 设定 HOOKS 变量再重新安装 linux (或者直接执行 mkinitcpio -p linux )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   980 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:26 · PVG 05:26 · LAX 14:26 · JFK 17:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.