使用 GRUB 启动 Android,但是如何启动呢?

使用 GRUB 启动 Android,但是如何启动呢?

我有一个小问题。我有七个分区:

Device    Boot   Begin       End         Blocks     Id   System
/dev/sda1   *      206848   219013119   109403136    7  HPFS/NTFS/exFAT     <-- wINDOWS 7
/dev/sda2       219013120   735516671   258251776    7  HPFS/NTFS/exFAT     <--Musik,....
/dev/sda3       735516672   815638527    40060928    7  HPFS/NTFS/exFAT     <-- Android
/dev/sda4       815640574   976771071    80565249    5  Erweiterte          <-- No Idea:D
Partition 4 does not start at a physical sector boundary.
/dev/sda5       815640576   872494091    28426758   83  Linux               <--Kali Linux
/dev/sda6       970151936   976771071     3309568   82  Linux Swap / Solaris
/dev/sda7       872495104   970149887    48827392   83  Linux               <-- Ubuntu

我找到了一个教程,但我试了一下,没有用。以下是链接:

http://www.webupd8.org/2012/03/how-to-dual-boot-android-x86-and-ubuntu.html

我使用了来自 android-x86.org 的 Android 和版本 android-x86-4.4-r1.iso。

这是我的 40_Costum 文档:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Android-x86" {
set root='(hd0,3)'
linux /android-x86-4.4-r1/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode SRC=/android-x86-4.4-r1
initrd /android-x86-4.4-r1/initrd.img}

如果我启动我的电脑GRUB启动管理器出现了,我可以选择 Android,但它没有启动 Android。背景是紫色的,什么也没发生。

什么是完整且可运行的40_Customm脚本?


如果我在 Grub Customizer 中创建脚本并保存它,它不起作用。如果我再次打开 Grub Customizer,它不会显示在启动菜单上,因为脚本已被删除。

这是我的代码:

set root='(hd0,3)' 
`search --no-floppy --fs-uuid --set=root 28D9FDF951298246  
linux android-x86/kernel root=UUID=28D9FDF951298246  quiet 
androidboot.hardware=generic_x86 SRC=/android-x86 acpi_sleep=s3_bios,s3_mode 
initrd Android-x86/android-4.4-r1/initrd.img

现在我还有一个问题:

如果我启动笔记本电脑,它会显示 Ubuntu、Windows、Kali Linux 和 Android(不起作用),但如果我启动 GRub Costumizer,Windows 就不会列出?!但为什么呢?

答案1

关于 Android x86 6.0

“EEEPC”分配仅适用于 ASUS EEEPC,只有当您有 EEEPC 时才使用它,否则使用android_x86不要使用generic_x86,您将卡在启动动画上,必须使用CTRL+重新启动F1才能访问终端,并且reboot由于无法加载 GUI 而出现问题。我知道这一点,因为我花了几个小时遵循了错误的(尽管是善意的)建议。

set root='(hd0,4)'
linux /android-6.0-rc1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 acpi_sleep=s3_bios,s3_mode SRC=/android-6.0-rc1
initrd /android-6.0-rc1/initrd.img

这是在三重启动设置的老式 SONY VAIO 64 位上适合我的最终配置。

'(0,4)'是我的硬盘位置和 Android x86 安装到的分区,请相应更改。您不需要您的 UUID,您只需要我上面提到的内容,您的安装位置是唯一的更改。

答案2

这是来自 XDA Developers 的信息

适用于 GRUB 1.97 - 1.99 和 2.00 +

  1. 为了方便起见,安装 GRUB Customizer 在终端仿真器中输入这些:代码:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer
    
  2. 打开 GRUB 定制器并创建一个新的 GRUB 条目。

  3. 打开‘来源’选项卡,输入以下内容:

    set root='(hd0,4)'
    search --no-floppy --fs-uuid --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3
    linux androidx86/kernel root=UUID=e1f9de05-8d18-48aa-8f08-f0377f663de3 quiet      androidboot.hardware=generic_x86 SRC=/androidx86 acpi_sleep=s3_bios,s3_mode
    initrd androidx86/initrd.img
    

需要更改的内容如下:

  1. set root='(hd0,4)':将 (hd0,4) 更改为 Android x86 安装的分区。hd0 表示 sda,因此如果您将其安装到 sdb,它将是 hd1,依此类推。hd0,4 表示分区号,在我的情况下,hd0,4 表示 sda4。因此,如果您将其安装在 sda6 上,它将是 hd0,6。

  2. --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3:此处的随机数是安装 Android x86 分区的 UUID。您必须将其更改为正确的 UUID,您可以通过在 GRUB Customizer 中创建新条目轻松获取 UUID,然后转到“选项”选项卡,然后在下拉菜单中选择“Linux”选项。您将看到分区下拉菜单,选择您的分区。打开源选项卡,您将在那里看到 UUID。

  3. androidx86/:Android x86 的根目录 将其更改为您的 Android x86 根目录。您可以通过导航到 Android x86 分区来查看您的 Android x86 根目录,您将看到一个以“android”开头的文件夹名称,这就是您的 Android x86 的根目录

  4. androidboot.hardware:当然是您的设备。注意:如果您使用的是 Android 2.3 - 4.0.3,请将其更改为 androidboot_hardware 以下是硬件列表:

  • generic_x86:如果您的硬件未列出,请使用此
  • eeepc:EEEPC 笔记本电脑
  • asus_laptop:华硕笔记本电脑(仅支持华硕笔记本电脑)

答案3

  • 打开40_custom

    sudo -H gedit /etc/burg.d/40_custom
    
  • 添加Android x86菜单项:

    menuentry "Android-4.3-x86" --class android {
    set root='(hd*,msdos*)'
    linux /path/android-4.3-x86/kernel quiet root=/dev/ram0 androidboot.hardware=tx2500 acpi_sleep=s3_bios,s3_mode SRC=/path/android-4.3-x86 vga=788
    initrd /path/android-4.3-x86/initrd.img
    

    (设置path*作为你的)

  • 更新 grub:

    sudo update-grub
    

答案4

其他答案对我都不起作用,所以我决定在 ISO 映像提供的包含 Android-x86 安装文件的文件中自己寻找解决方案。

Android-x86 LiveCD1/efi/boot/android.cfg发现以下菜单项:

set root=$android
linux $kdir/kernel root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug $src $@
initrd $kdir/initrd.img

问题是$kdir和的值$android应该是多少。挂载我安装系统的分区(sda2)后,我找到了目录的名称 - cm-x86-14.1-r2

$@是附加参数(quiet在我的解决方案中),$src可以忽略。最后,我进行了以下 grub 输入:

set root='(hd0,2)'
linux /cm-x86-14.1-r2/kernel quiet root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug
initrd /cm-x86-14.1-r2/initrd.img

并且它有效。

相关内容