linux下安装android x86后提示没有kernel


#1

请教各位大佬,昨天打算在opensuse(15.1 beta)下安装android x86,从网站下载了可以直接在linux下安装的rpm包,下载地址为


执行

$ sudo rpm -Uvh cm-x86-14.1-r2.x86_64.rpm

之后,安装完成。重启之后引导出现android引导项,点击进入后显示detecting android x86…按照网上教程修改了/boot/grub2/custom.cfg,现在此文件内容为

menuentry “Android-x86 8.1-r1” {
set root=‘hd1,3’
linux /android-8.1-r1/kernel quiet root=/dev/ram0 androidboot.selinux=permissive SRC=/android-8.1-r1
initrd /android-8.1-r1/initrd.img
}

根目录在/dev/sdb3,启动进入引导点击后提示找不到 /android-8.1-r1/kernel,但是这个文件明明就在这个文件夹里啊,请教大家到底是哪里出了问题?谢谢~


#2

把root=/dev/ram0改成 root=/dev/sdb3


#3

谢谢。试过了,还是不行,一直提示找不到kernel,即使删掉也不行。


#4

set root=‘hd1,3’

改成

set root='hd1,msdos3'

#5

我昨天晚上试过很多次,各种组合,改成msdos3也不行。但是我看了一下/boot/grub2/grub.cfg里面引导opensuse的内容,

linux /vmlinuz-4.12.14-lp151.22-default root=UUID=74086a1d-b03c-4393-8b49-8360023d8e51 resume=/dev/disk/by-id/ata-PLEXTOR_PX-128M8VC_P02806100910-part2 splash=silent quiet showopts

这个vmlinuz文件是在/boot下面的,但是系统在这里却直接在/下找到了,所以我怀疑是不是我写的kernel路径不对。


#6

教你个简单方法,重启,在GRUB 引导界面按 C 键。然后依次输下面的命令

//  显示所有磁盘分区
ls
// 查看相应分区下是否有你的内核文件
ls (hd*,msdos*)/

// 确认分区后,手动引导内核
linux (hd*,msdos*)/vmlinuz.....

// 加载引导
initrd ......

// 启动引导
boot

#7

进…进去了,原因是这块盘在系统是/dev/sdb,所以我就一直认为是hd1,但是这块盘确是hd0.感谢大佬!!!


#8

可是大佬,难道不应该是sda对应hd0,sdb对应hd1吗?而且opensuse和android在一块盘上,grub.cfg里面也是hd1,为什么到了引导android的时候又变成了hd0?


#9

安装系统的时候可能你是U盘引导,把hd0给占了就分了hd1, 现在你加sdb 就被分配了空闲的hd0,纯属瞎猜,毫无根据。:joy:


于关闭 #10

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。