Начальная загрузка Android с GRUB, но как?

У меня есть небольшая проблема. У меня есть семь разделов:

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 из android-x86.org и версии 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 сценарий?


Это не работает, если я делаю сценарий в Личинке 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 (который не работает), но если я запускаю Личинку Costumizer, Windows не перечислен?! Но Почему?

8
задан 14 May 2018 в 04:51

7 ответов

Это было все очень полезно, но в конце, это пропускало маленький бит для меня, и это не будет работать, пока я не добавил во всех частях.

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

, Как отправлено Banan3'14 было правильным, но он отсутствовал:

search --no-floppy --fs-uuid --set=root a47b5fe5-8969-4774-be9c-72c32a3fd14b

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

    set root='(hd0,2)'
 search --no-floppy --fs-uuid --set=root a47b5fe5-8969-4774-be9c-72c32a3fd14b
    linux /cm-x86-14.1-r2/kernel quiet root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug
    initrd /cm-x86-14.1-r2/initrd.img
0
ответ дан 23 November 2019 в 05:54

Относительно Android x86 6.0

присвоением "EEEPC" является только для ASUS EEEPCs, только используйте его, если Вы имеете один, иначе используйте 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
ответ дан 23 November 2019 в 05:54

Это от Разработчиков XDA

Для 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 customizer и делают новую запись GRUB.

  3. Открытая вкладка 'Sources', введите их:

    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) к partiton Android x86 установлено. hd0 означает sda, поэтому при установке его на sdb это будет hd1 и так далее. hd0,4 означает, что число раздела, в моем случае, hd0,4 означает sda4. Таким образом, при установке его на sda6 это будет hd0,6.

  2. --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3: случайное число здесь является UUID раздела Android x86, установлен, необходимо изменить его для исправления UUID, Вы можете, легко получил UUID путем создания новой записи в GRUB, Customizer тогда переходят к вкладке Options, затем выбирают опцию 'Linux' в выпадающем. Вы будете видеть, что раздел выпадает, выбирает Ваш раздел. Откройте исходную вкладку, Вы будете видеть UUID там.

  3. androidx86/: корень Изменения Android x86 это в Ваш корень Android x86. Вы видите то, что является Вашим корнем Android x86 путем навигации к разделу Android x86, и Вы будете видеть имя папки, запущенное с 'андроида', это - корень Вашего Android x86

  4. androidboot.hardware: Ваше устройство, конечно. Отметьте: Если Вы используете Android 2.3 - 4.0.3, изменяетесь, он к androidboot_hardware Вот список аппаратных средств:

  • generic_x86: Если Ваши аппаратные средства не перечислены, используйте это
  • eeepc: ноутбуки EEEPC
  • asus_laptop: ноутбуки ASUS (поддерживал только ноутбуки ASUS)
1
ответ дан 23 November 2019 в 05:54
  • Открывают 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 и * как Ваш)

  • личинка Обновления:

    sudo update-grub
    
0
ответ дан 23 November 2019 в 05:54

Не беспокойтесь sda или sdc, это всегда (hd0, x) в моем случае при установке андроида x86 на загружающемся устройстве. То есть, в моем случае, перечислено ли Ваше устройство в OS как человечность как/dev/sda или/dev/sdb, необходимо добавить (hd0, x), x является количеством раздела андроида x86 в личинке 2 объекта, пока Вы загружаетесь с тем же устройством, Вы установили свой андроид x86 (например, Вы установили андроид x86 в карте памяти по имени U в разделе 3 и U, перечисленный в Вашей человечности как/dev/sdc, но Вы загружаетесь от U, тогда необходимо добавить корень = (hd0,3), но не корень = (hd2,3) в личинке).

-1
ответ дан 23 November 2019 в 05:54

Ни один из других ответов не работал на меня, таким образом, я решил найти решение сам в файлах обеспеченным 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 может быть проигнорирован. Наконец, я сделал следующую запись личинки:

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

И это работает.

0
ответ дан 23 November 2019 в 05:54

Это - десятимесячный вопрос, но я полагал, что помогу так или иначе. Это - на самом деле очень простая фиксация. Я бросаю фиксацию в свой ответ вместо того, чтобы поразить "редактирование" в вышеупомянутый ответ, потому что я не хочу ожидать однорангового узла, рассматривающего или что бы то ни было.

Так или иначе ответ с большинством голосов указывает, что необходимо использовать следующий код:

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

Проблема в гармонии два. Существует случайная могила (') в начале строки два. Буквально настолько простой. Иногда это является самым простым из вещей, которые заставляют все прекратить работать.

Я предполагаю, что Вы или нашли способ добавить Android x86 к GRUB, или Вы просто не заботитесь больше, но да. Таким образом, вот правильный код:

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

Вот мое все /etc/grub.d/40_custom файл (исключая exec tail и закомментированные строки вначале):

menuentry "Android x86 4.4 R2" --class android --class gnu-linux --class gnu --class os {
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root a47b5fe5-8969-4774-be9c-72c32a3fd14b
    linux /android-4.4-r2/kernel root=UUID=a47b5fe5-8969-4774-be9c-72c32a3fd14b quiet      androidboot.hardware=generic_x86 SRC=/android-4.4-r2 acpi_sleep=s3_bios,s3_mode
    initrd /android-4.4-r2/initrd.img
}
menuentry "Android x86 5.0.2 UNOFFICIAL" --class android --class gnu-linux --class gnu --class os {
    set root='(hd0,msdos4)'
    search --no-floppy --fs-uuid --set=root d2edeae9-3dc8-41b1-b775-25d0a8028092
    linux /android-2014-12-25/kernel root=UUID=d2edeae9-3dc8-41b1-b775-25d0a8028092 quiet      androidboot.hardware=generic_x86 SRC/android-2014-12-25 acpi_sleep=s3_bios,s3_mode
    initrd /android-2014-12-25/initrd.img
}

Очевидно, hd0,msdos2 раздел, что мне установили Android 4.4 R2 на и a47b5fe5-8969-4774-be9c-72c32a3fd14b UUID упомянутого раздела и hd0,msdos4 раздел, что у меня есть Android 5.0.2 (неофициальный и очень нестабильный) установленный на и d2edeae9-3dc8-41b1-b775-25d0a8028092 будучи, что UUID раздела.

Для меня, hd0,msdos2 /dev/sdb2 и hd0,msdos4 /dev/sdb4. Я не уверен в следующем, но я думаю, что GRUB делает hd0, hd1, hd2, и т.д. в другом порядке, чем Linux sda/hda, sdb/hdb, sdc/hdc, и т.д. Снова не уверенный, но я думаю, что GRUB делает это в физическом порядке (поскольку они были бы определены в Вашем BIOS), и Linux выполняет в них... uhh... некоторый другой путь, я предполагаю. Снова, не уверенный в этом.

Но да если необходимо выяснить который раздел в формате раздела GRUB (hdX,msdosY) Ваш раздел Android (который я вижу, /dev/sda3), перезапустите свой ПК и поразите C для движения в командную строку. Затем введите (hd и вкладка хита (вкладка автоматически заполняет вещи) и она затем перечислит все диски как опции автоматического заполнения (не уверенных 100%, но я похож на 70%, уверенных, что она не отображает Карты памяти, если они не диски SATA, подключенные с USB к адаптеру SATA). Затем введите (hd0, и вкладка хита и это перечислят все разделы на hd0 как автоматически заполняют опции. Если у Вас есть несколько дисков, выясняя который /dev/sda3 просто вопрос метода проб и ошибок с использованием автоматического заполнения на (hd. Я не уверен точно, на что похожи результаты, но я действительно знаю для того, что результаты для (hd0, (очевидно), отобразит идентификаторы раздела стиля GRUB для всех разделов на hd0 (для Вас это было бы msdos1 через msdos7; в GRUB, hd запускается в 0, но msdos запускается в 1), маркировки всех разделов на hd0, и файловая система (обычно Вы бросаете Android x86 на ext2, но так как у Вас есть он на NTFS, это отобразило бы файловую систему как NTFS; для большинства людей это отобразило бы ext2, который является, как я знаю, какой это - потому что мои разделы Android являются единственными ext2 разделами, которые я имею).

Хм... Я первоначально намеревался только исправить ошибку в строке два из самого популярного ответа, и я закончил с проклятым почти полное учебное руководство о том, как добавить Android x86 к GRUB...

0
ответ дан 23 November 2019 в 05:54

Другие вопросы по тегам:

Похожие вопросы: