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

2015-08-19 17:11:32 +08:00
 ardeny
使用 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
2759 次点击
所在节点    Linux
7 条回复
zerh925
2015-08-19 18:14:12 +08:00
xp ?
jamesxu
2015-08-19 18:44:08 +08:00
你就没一个 fallback kernel ?
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
2015-08-19 20:22:42 +08:00
@zerh925 实体机是安装的 XP 系统,因为是工作用。虚拟机安装的是 Archlinux 。


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


@jamesxu 一直都是新出来更新稍微看下后就滚了,我家用的笔记机实体安排的滚过没事。不知道是什么原因。
ardeny
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
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
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 )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/214340

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX