1
zerh925 2015-08-19 18:14:12 +08:00 via iPhone
xp ?
|
2
jamesxu 2015-08-19 18:44:08 +08:00 via iPhone
你就没一个 fallback kernel ?
|
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 引起的无法启动的问题 |
4
ardeny OP @zerh925 实体机是安装的 XP 系统,因为是工作用。虚拟机安装的是 Archlinux 。
@comicfans44 明天去办公室后试下,先谢过。不行还得劳烦你。 @jamesxu 一直都是新出来更新稍微看下后就滚了,我家用的笔记机实体安排的滚过没事。不知道是什么原因。 |
5
ardeny OP @comicfans44 使用 initramfs-linux-fallback.img 启动项启动,出现同样的错误信息。
initramfs-linux.img 文件内容如下: http://img.vim-cn.com/fe/b69611ecd0cd3603a34c2e922698510bc01629.png |
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 包) |
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 )
|