Android x86 Marshmallow не загружается на Virtualbox и VMware Workstation

32

Я скачал последнюю версию Android x86 (android-x86-6.0_20160129.iso) отсюда и попытался установить ее на жесткий диск на виртуальной машине в VMware Workstation и в Virtualbox.

Кажется, что установка проходит правильно (с использованием EXT4 и EFI Grub), и я получаю сообщение, что она успешно установлена. Однако, когда я перезагружаюсь, он проходит GRUB, выбирает правильную установку Android, но он не загружается. Я получаю результат, показанный на скриншоте ниже, а затем на пустом экране с мигающим курсором .

введите описание изображения здесь

Я видел как-то похожие вопросы на Android-SE ( здесь и здесь ), но они используют более старые версии Android x86 и, похоже, не имеют решений, которые мне подходят.

Виртуальные машины в VMware и Virtualbox имеют: HDD = 4 ГБ (IDE), RAM = 2 ГБ, 2 ЦП, и они загружаются через EFI. Я пробовал nomodeset и xforcevesa в параметрах загрузки Grub, но, похоже, ничего не работает.

.Iso загружается через графический интерфейс в режиме Live (LiveCD).

Будем очень благодарны любой помощи. У меня есть ощущение, что решение может быть связано с настройками графики, но я не совсем уверен.

Ирвин Х.
источник
Я разделяю ваши чувства (такая же проблема здесь). Из-за некоторых советов я даже увеличил графическую память до 32 МБ (без улучшений). Некоторые сообщения говорят о необходимости 2 разделов (1 = основной 100 МБ для grub, 2 = расширенный с оставшимся пространством для Android), не помогло в моем случае. Другой источник предложил вручную редактировать / создавать grub.cfgкак menu.lstне работает (еще не пробовал). Моя вторая попытка с Android 5.1 зависла в загрузочной анимации (текст «android»), поэтому я сдался через 15 минут. На каких настройках ОС основана ваша установка? Я использовал «другой Linux», как это работало в прошлом.
Иззи
До сих пор я пробовал "Ubuntu" и "FreeBSD" ... позвольте мне возиться с некоторыми другими и посмотреть, поможет ли это.
Ирвин Х.
Я видел видео на YouTube, где кто-то использовал Windows7, что действительно смутило меня.
Иззи
Кстати, я только что попробовал еще раз, для меня это даже не загружается в режиме реального времени (заканчивается в том же месте). Связанный вопрос на нашем дочернем сайте, о котором я уже упоминал: Android-x86 6.0 Marshmallow в VirtualBox: установка зависла на GRUB
Иззи
@ Иззи: На самом деле из того, что я прочитал, решение по ссылке в вашем предыдущем посте (и из небольшого количества экспериментов) не совсем правильно, но оно работает. Насколько я понимаю, это на самом деле создание загрузочного сектора GPT, позволяющего продолжить работу Grub, а не наличие 2 разделов. Я где-то читал, что форматирование раздела Android x86 происходит молча, если сначала «Создать / изменить раздел не выполняется», что приводит к зависанию установщика grub, поскольку диск даже не был отформатирован с самого начала. (Я добавлю эту «сноску» также к этой ссылке)
Ирвин Х.

Ответы:

51

Нашел решение!

Вы должны редактировать menu.lst file. Вот как:

  1. загрузка в режиме отладки (обычно это вторая опция в меню загрузки)
  2. когда загрузка останавливается (для меня она просто висит там с мигающим курсором и без всякого приглашения) введите mount -o remount,rw /mnt
  3. войти cd /mnt/grub
  4. войти vi menu.lst
  5. нажмите Shift + a
  6. прямо под первой загрузочной записью найдите строку, начинающуюся с kernel initrd=/in(ваша строка может выглядеть иначе; это зависит от версии Android; в общем, просто найдите строку, которая начинается с kernel)
  7. в конце типа линии vga=834 nomodeset xforcevesa
  8. затем нажмите ESC :wq- эти команды сохранят файл и выйдут из vi
  9. войти cd /
  10. войти umount /mnt
  11. войти reboot -f

Теперь система должна перезагрузиться в выбранном вами режиме VESA.

Это заставит использовать драйвер VESA для X.

Вы можете заменить на vga=xxxлюбой номер, который вы хотите для вашего разрешения экрана. Также проверено, что 832работает отлично (дает разрешение 800х600).

Вы можете найти все режимы VESA при использовании iso-файла и выбрать опцию загрузки для загрузки в режиме VESA - он покажет список со всеми режимами (цифры указаны в шестнадцатеричном формате, а перед некоторыми режимами также есть избыточная буква) не обращайте на это внимания), и вы можете сразу же проверить их там, чтобы увидеть, работает ли он и подходит ли это menu.lstисправление, но сначала нужно преобразовать его из hex в dec, используя любой hex-> dec преобразователь.

Аджира
источник
2
+1, подтверждено для работы android-x86-6.0-r3.isoна VMware Workstation.
Дэвид Рефуа
Есть ли утомительный альтернативный вариант, который также не допускает ошибок, которые могут быть вызваны 1 опечаткой?
neverMind9
1
Большое спасибо… он все еще работает на Android 8 😊
Яссин ЭльБадауи
2
Большое спасибо❗️ он все еще работает на Android 8.1 😊
智 文
1
На шаге 10 я получаю: «не могу размонтировать / mnt: устройство или ресурс заняты»
Кой
7

Я хотел бы расширить и улучшить ответ @Jay Smith на основе личного опыта. Он прав в том, что причиной проблемы является разрешение VGA, используемое Android, но он ошибается, полагая, что это одноразовое исправление, которое следует вводить при каждой загрузке.
Это можно сделать настойчиво, и должно быть! И я покажу вам, как :)

  1. Прежде всего, правильно установите Android из iso-образа, выполнив шаги мастера.
  2. Как не использовать EFI GRUB во время установки.
  3. Вы не использовать сразу же запустить Android_x86 вариант, вместо того, чтобы выбрать Reboot и извлечь изо. Ошибка, упомянутая @Jay Smith

Большим недостатком этого подхода является то, что при следующей попытке загрузки с жесткого диска GRUB не сможет найти образ

это не связано с вопросом VGA и должны рассматриваться отдельно. Я также столкнулся с этой ошибкой и помогла полная переустановка, поэтому я предполагаю, что эта ошибка каким-то образом связана с параметром « Выполнить» , потому что при выборе « Перезагрузка» я не сталкивался с ошибкой.

  1. После установки вы загрузитесь и застрянете в командной строке Android. Хорошо, тогда иди.
  2. Теперь вы должны попытаться подобрать правильное разрешение. Это не обязательно будет 788 или 794 , как говорят здесь , все зависит от настроек вашего оборудования. Для меня 796, 794 и 792 работали для изображений KitKat, Lollipop и Marshmallow соответственно, однако ваши значения могли быть разными. Вот таблица для привязки значений GRUB VGA к разрешениям. Чтобы проверить, какое совпадение вы используете методом проб и ошибок

Затем при загрузке на экран GRUB выберите клавишу e, чтобы изменить опцию

введите описание изображения здесь

Там вы найдете длинную строку опций, к которой вы должны добавить свою опцию VGA вот так nomodeset vga=794

введите описание изображения здесь

После редактирования нажмите Enter и b, чтобы загрузить нужную загрузочную запись.

  1. Повторите эти шаги N раз, чтобы найти правильное разрешение. Вы узнаете это при загрузке Android :)
  2. О-ля-ля, отлично! Мы добились желаемого результата и загрузили Android за один раз. Но это только 50% работы. Я полагаю, вы не хотите каждый раз печатать эту VGA-чушь? Хорошо, давайте продолжим наш результат.
  3. Теперь нам нужно отредактировать, GRUB configчтобы добавить желаемое разрешение. Хотя есть способы, которые позволяют делать это в самом GRUB (например, режим отладки, grub cmd), я не смог заставить его работать и предложить другое 100% решение.

Нам нужна рабочая установка Linux (физическая или виртуальная, не имеет значения). Проблема здесь в том, что к папке GRUB нельзя получить доступ изнутри Android, поскольку она защищена, и к ней следует обращаться извне. И не из Windows, потому что он не распознает ext3/ext4разделы, только из * nix ОС. Поэтому добавьте этот диск (VHD, VDI, VMDK или любой другой) в вашу установку Linux, чтобы он имел доступ к файловой системе Android

  1. Доступ /grub/menu.lst. Обычно он находится в корневой папке.

  2. Там вы найдете что-то вроде

введите описание изображения здесь

Добавьте желаемую опцию VGA к загрузочной записи, как мы делали ранее, и все!

  1. Сохраните файл.

Мы сделали! Теперь вы можете подключить свой android-диск к виртуальной машине и с радостью использовать его.

Suncatcher
источник
4

У меня также были проблемы с Android x86 vitual box на машине с Windows 7 Pro x64 AMD. Я полагаю, что у всех нас будут немного разные проблемы в зависимости от нашей архитектуры / аппаратного обеспечения, но все они кажутся похожими основными причинами. Я думаю, что больше внимания следует уделять архитектуре / аппаратному обеспечению, чем основной операционной системе. Попробуйте 32-битный без / с EFI, установленным в системе, оставьте аппаратное ускорение по умолчанию, убедитесь, что виртуализация включена в вашем BIOS. Не включайте ускорение 3D-графики, вы должны получить предупреждение, если вы включаете 2D-ускорение, поэтому не включайте его, если во время начальной настройки вы получаете черный экран, попробуйте увеличить объем видеопамяти до 64 МБ. Наконец, вы можете скачать готовые образы ВМ здесь:

http://www.osboxes.org/android-x86/

Все эти маленькие хитрости помогли мне успешно установить Android x86 4.4 на компьютер с Windows 7 x64 Pro.

PassingGuest
источник
4

Некоторый прогресс здесь, но не настоящий. Следующее позволило мне правильно загрузить Android x86 6.0 под VirtualBox - но только один раз:

1) При загрузке установочного образа на первом экране отображаются четыре варианта. Переместите курсор к последнему: Установка - Установить Android-x86 на жесткий диск ".

2) Нажмите клавишу [Tab] для редактирования параметров.

3) Сразу после INSTALL=1 DEBUG=типаvga=788

(Убедитесь, что между DEBUG=и vga=788. Есть пробел .)

4) Нажмите [Enter].

5) Продолжайте разметку диска, как описано на многих сайтах в сети.

6) Когда предложены варианты Run Android x86и Rebootвыберите Run Android x86. Вы должны увидеть, как ANDROID пульсирует большими буквами в течение нескольких минут, и затем откроется экран приветствия Android.

Большим недостатком этого подхода является то, что в следующий раз, когда вы попытаетесь загрузиться с жесткого диска, GRUB не сможет найти образ :-( Любая помощь, исправляющая это, будет принята с благодарностью.

Джей Смит
источник
1
К сожалению, это одноразовый обходной путь: (...
Suncatcher
0

Вот видео на YouTube, показывающее, как установить режим VESA в Grub.

https://www.youtube.com/watch?v=JoMs-4bsygs

Мой другой пост был по какой-то причине удален, но если вы хотите узнать, является ли VESA / VIDEO причиной того, что ваш графический интерфейс не появляется после установки, загрузитесь с Android x86 ISO и выберите режим VESA (Live boot), и если Вы получаете графический интерфейс, а затем посмотрите это видео на YouTube. Он прекрасно объясняет, как настроить ваш grub для загрузки правильного режима VESA.

Android Helper
источник
Нажатие [esc] не поддерживается
Micha93
0

Совершенно новичок в этом, но я только что попытался установить Android 6.0 на Workstation 12 Pro и при загрузке просто застрял в командной строке, иногда перепрошивая. Перепробовал пару предложений от abvoe безрезультатно. Наконец, вошел в настройки виртуальной машины и поставил галочку на 3D Graphics, в которой он предупреждал, что она не поддерживается Это тогда позволило мне выбрать 32 МБ графической памяти. Перезагрузился и все заработало. Попытка загрузки еще несколько раз, чтобы доказать это, и он все еще работает. Надеюсь это поможет.

Spider5445
источник
Я попробовал решение, данное Spider5445, и оно сработало и для Nougat ... спасибо, приятель! :)
Капил Вьяс
0

Находясь в загрузчике grub, нажмите вкладку и измените androidboot.hardware = android_x86 на androidboot.hardware = x86.

Алек Петридис
источник
-1

У меня была такая же проблема с установкой на жесткий диск, и мне помогли следующие шаги:

  • Как и Джей, упомянутый выше: на установочном носителе я нажал клавишу [Tab].
  • Я записал в точности все аргументы, такие как androidboot.hardware=android_x86_64и DEBUG=2т. Д., Которые теперь показаны для пункта меню загрузочного носителя установочного носителя.

  • Я добавил все эти аргументы в свою пользовательскую конфигурацию grub и обновил grub.

  • При загрузке мне нужно дважды ввести «выход» в командной строке консоли.

При этом Android загрузился и запустил диспетчер окон.

PS: Очень не круто, если рецензент испортит формат ответа и даже проголосует за вас без получения контента.

бестолковый
источник