技术解析

virtualbox 安装的 archlinux 滚挂了,搜索了没找到可行的解决方法,请各位大神帮忙看下如何解决。
0
2021-07-09 17:14:45
idczone
使用 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
xp ?

你就没一个 fallback kernel ?

1.你的 root 参数指定的有问题
2.root 文件系统的驱动没有加入 initramfs
既然你有 chroot 环境,那就确认下 root 设备是否有误,再用 lsinitcpio initramfs-linux.img 看下里面是否包含了你的 root 文件系統驱动。
或者尝试使用 initramfs-linux-fallbak.img 启动,这个里面包含了更全的驱动,可以解决由问题 2 引起的无法启动的问题

实体机是安装的 XP 系统,因为是工作用。虚拟机安装的是 Archlinux 。

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

一直都是新出来更新稍微看下后就滚了,我家用的笔记机实体安排的滚过没事。不知道是什么原因。

使用 initramfs-linux-fallback.img 启动项启动,出现同样的错误信息。
initramfs-linux.img 文件内容如下:
http://img.vim-cn.com/fe/b69611ecd0cd3603a34c2e922698510bc01629.png

从你的贴图看来, 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 包)

另外你贴图中的 initramfs 中连 init 和 mount 都没有,你需要检查下 /etc/mkinitcpio.conf 这个文件的内容,看看是不是把 HOOKS 变量设成空了。如果 HOOKS 变量设置成空,那么重新安装 linux 也不会正常生成 initramfs ,你需要参考 https://wiki.archlinux.org/index.php/Mkinitcpio 设定 HOOKS 变量再重新安装 linux (或者直接执行 mkinitcpio -p linux )

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服