VirtualBox中的棉花糖:安装卡在GRUB上


15

我正在尝试android-x86-6.0_20160129.iso在VirtualBox中安装,但是安装卡在了Do you want to install boot loader GRUB

在此处输入图片说明

一些背景:

  • VM是从Ubuntu 32位(x86)VirtualBox模板创建的
  • VM具有1核心+ 3096 MB RAM
  • 显存:32 MB
  • 启用PAE / NX
  • 硬件虚拟化:同时启用了VTx和嵌套分页
  • 图形加速:禁用(2D和3D)
  • 存储:附加到IDE虚拟控制器的64 GB(以前是SATA:没有区别)

我已经尝试了所有“标准” VirtualBox程序(PAE是/否; SATA / IDE;没有声卡;没有USB;图形加速。是/否)。

我也尝试过在VESA模式下运行Live CD:这样就可以启动,但我还是更喜欢安装它。


我只想提及有可用的预先构建的VirtualBox映像:android-x86.org/documents/howtouseprebuildimages
Vardanyan

Answers:


11

首先,选择创建/修改分区:

在此处输入图片说明

然后创建2个分区:

  • 为grub创建一个小的(100m)第一主分区。设置可启动标志。写更改。
  • 创建其余的扩展(逻辑)分区,并在第二个安装android。Grub将自动转到第一个。写更改。

2
手动分区为我解决了这个问题,谢谢!
Gianluigi Zane Zanettini博士

我有同样的问题。您不需要两个分区,一个可引导的ext2分区就足够了。两个更好,因为您可以使用ext3格式化其中一个。
播种

9

只需加上我的2美分,就可以得出以下结论:

实际上,经过一点试验,并不是让2个分区允许Grub继续进行,而是需要首先进入“创建/修改权限” 以创建GPT分区表,然后才能格式化该分区。(这就是为什么在最初接受的答案的评论中,手动分区也对Gianluigi Zane Zanettini博士有用的原因)。

实际上似乎正在发生的事情是,如果您不创建分区表,则在进入格式化阶段,要求它格式化分区(EXT4,EXT3等)时,安装程​​序似乎会说成功了,实际上没有发生,因为GPT分区表不存在。因此,当它要求您安装grub时,它将尝试将grub安装到未格式化的分区上……并以静默方式失败。

如果转到“创建/修改分区”并创建“新建”单个分区(接受创建单个分区的默认设置),则“写入”“退出”;然后下一步格式化分区,下一步将安装Grub,安装将照常进行。

(上强调只是为了表明,即使一个分区将工作)。

注意:我还没有设法使GUI在Android x86(android-x86-6.0_20160129.iso)上运行,但是至少它似乎可以启动-这意味着它已通过grub安装并得到了shell提示。


为什么要下票?
Irvin H.

1
反对票不是来自我。我实际上认为您的想法有意义。我会尽快尝试的,谢谢分享!
Gianluigi Zane Zanettini博士

1
对此进行了测试,可以确认它是否有效。
adeelx

这是一个很好的假设,但事实并非如此。当我尝试安装x64 ISO时,它能够创建分区,格式化分区并安装得很好。当我使用x86 ISO时,在安装Grub时(或在“只读/ system”提示下),它会挂起。即使当我使用通过x64 ISO进行分区和格式化的虚拟磁盘时,x86 ISO仍会挂起,因此我知道存在GPT且分区为ext4。还有其他原因导致安装程序挂起。
托马斯

6

这对于android-x86-4.4-r5.iso在VirtualBox 5.2.0上安装Android x86 4.4-r5()的工作对我来说是成功的:

  1. 创建VM:选择Type as Linux和Version as Linux 2.6 / 3.x / 4.x (32-bit),然后单击Next。
  2. 保留默认的512 MB内存(或选择更多,无所谓)
  3. 创建一个新的虚拟硬盘。我选择了8 GB
  4. 点击开始
  5. 在弹出窗口中,选择iso: android-x86-4.4-r5.iso
  6. 在启动菜单中选择 Installation - Install Android-x86 to harddisk
  7. Choose Partition菜单中选择Create/Modify partitions
  8. Do you want to use GPT问题的选择No
  9. cfdisk 程序将打开
  10. 选择New并选择Primary作为分区类型,将大小设置为100MB并选择Beginning
  11. 选择可启动。现在,该Flags列应说明Boot新分区
  12. 选择可用空间,New然后选择Primary分区类型,将大小保留为默认值以填充剩余的可用空间
  13. 选择Write并键入yes并按Enter
  14. 选择 Quit
  15. 现在,Choose partition菜单应显示以下配置:

    sda1 unknown VBOX HARDDISK
    sda2 unknown VBOX HARDDISK
    
  16. 选择第二个分区:sda2并选择OK
  17. 选择 ext2
  18. Yes在丢失数据警告弹出窗口中选择
  19. 等待格式化完成
  20. Do you want to install boot loader GRUB?问题的选择Yes
  21. Do you want to install EFI GRUB2?问题的选择Yes
  22. Do you want to format the boot partition /dev/sda1?选择Yes
  23. Do you want to install /system directory as read-write选择Yes(没关系我们)
  24. 等待安装完成
  25. Congratulations!菜单中选择Reboot
  26. 删除安装iso,这样它就不会引导回安装

我只花了3个小时试图使它正常工作。希望这对某人有帮助。

奖励1:

要设置ADB调试,请参见http://www.android-x86.org/documents/debug-howto

  1. 在Android中启用开发人员选项并启用 USB Debugging
  2. 在VirtualBox中,转到设备->网络->网络设置
  3. 确保Adapter 1选择了选项卡,然后单击Advanced
  4. 确保Cable Connected选中复选框
  5. 请点击 Port Forwarding
  6. 单击加号
  7. 设置以下值:名称:adb,Prodocol:,TCP主机IP:保留空白或设置127.0.0.1为使其只能从本地主机访问,主机端口:5555,来宾IP:保留空白,来宾端口:5555
  8. 请点击 OK
  9. 通过ADB连接:

    # adb connect localhost:5555
    
  10. 现在adb devices应该显示:

    List of devices attached
    localhost:5555  device
    

奖励2:

在VirtualBox输入菜单中,取消选择,此时Mouse Integration将显示鼠标指针!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.