Mam mały problem. Mam siedem partycji:
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
Znalazłem samouczek, ale próbowałem tego i to nie działa. Oto link:
http://www.webupd8.org/2012/03/how-to-dual-boot-android-x86-and-ubuntu.html
Użyłem tego Androida z android-x86.org i wersji android-x86-4.4-r1.iso.
To jest mój dokument 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}
Po uruchomieniu komputera pojawia się menedżer rozruchu GRUB i mogę wybrać system Android, ale nie uruchamia on systemu Android. Tło jest fioletowe i nic się nie dzieje.
Jaki byłby kompletny i działający 40_Customm
skrypt?
Nie działa, jeśli utworzę skrypt w Grub Customizer i go zapiszę. Nie pojawia się w menu rozruchu, jeśli ponownie otworzę Grub Customizer, skrypt zostanie usunięty.
To jest mój kod:
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
Teraz mam jeden dodatkowy problem:
Jeśli uruchomię laptopa, pokaże to Ubuntu, Windows, Kali Linux i Android (co nie działa), ale jeśli uruchomię GRub Costumizer, Windowsa nie ma na liście ?! Ale dlaczego?
/androidx86/kernel
. W przeciwnym razie wystąpił błąd związany z brakiem pliku.To pytanie ma dziesięć miesięcy, ale pomyślałem, że i tak pomogę. To jest naprawdę bardzo prosta poprawka. Rzucam poprawkę w mojej odpowiedzi zamiast naciskać „edytuj” w powyższej odpowiedzi, ponieważ nie chcę czekać na recenzowanie lub cokolwiek innego.
W każdym razie odpowiedź z największą liczbą głosów mówi, że powinieneś użyć następującego kodu:
Problem jest w drugiej linii. Na początku drugiego wiersza znajduje się zbłąkany grób (`). Dosłownie tak proste. Czasami jest to najprostsza rzecz, która powoduje, że wszystko przestaje działać.
Wyobrażam sobie, że albo znalazłeś sposób, aby dodać Androida x86 do GRUBA, albo już cię to nie obchodzi, ale tak. Oto poprawny kod:
Oto cały mój
/etc/grub.d/40_custom
plik (z wyjątkiemexec tail
wierszy i komentarzy skomentowanych na początku):Oczywiście
hd0,msdos2
jest to partycja, na której mam zainstalowany system Android 4.4 R2 ia47b5fe5-8969-4774-be9c-72c32a3fd14b
jest to UUID tej partycji ihd0,msdos4
jest to partycja, na której mam zainstalowany system Android 5.0.2 (nieoficjalny i wysoce niestabilny)d2edeae9-3dc8-41b1-b775-25d0a8028092
, który jest UUID tej partycji.Dla mnie
hd0,msdos2
jest/dev/sdb2
ihd0,msdos4
jest/dev/sdb4
. Nie jestem pewien, co następuje, ale myślę, że GRUB robihd0
,hd1
,hd2
, itd. W innej kolejności niż Linux robisda/hda
,sdb/hdb
,sdc/hdc
, itd. I znowu, nie jestem pewien, ale myślę, GRUB robi to w celu fizycznego (tak samo, jak być zidentyfikowanym w BIOS-ie), a Linux robi to w ... hmm ... w inny sposób, tak myślę. Znowu nie jestem tego pewien.Ale tak, jeśli chcesz dowiedzieć się, która partycja w formacie partycji GRUB (
hdX,msdosY
) twoja partycja na Androida jest (co widzę, że jest/dev/sda3
), uruchom ponownie komputer i naciśnij C, aby przejść do wiersza polecenia. Następnie wpisz(hd
i wciśnij tab (tab autouzupełnianie rzeczy), a następnie wyświetli listę wszystkich dysków jako opcje autouzupełniania (nie jestem w 100% pewien, ale jestem pewien, że 70% jest pewien, że nie wyświetla napędów USB, chyba że są to napędy SATA połączone z USB na adapter SATA). Następnie wpisz(hd0
i naciśnij klawisz Tab, a wyświetli się lista wszystkich partycjihd0
jako opcji autouzupełniania. Jeśli masz wiele dysków, ustalenie, który z nich/dev/sda3
jest tylko kwestią prób i błędów przy korzystaniu z autouzupełniania(hd
. Nie jestem pewien , jak dokładnie wyglądają wyniki, ale wiem na pewno , że wyniki(hd0
Będzie (oczywiście) wyświetla GRUB stylu identyfikatory partycji dla wszystkich partycjachhd0
(na ty, że to będziemsdos1
poprzezmsdos7
; w GRUB,hd
zaczyna się od 0, alemsdos
zaczyna się od 1), etykiety wszystkich partycjachhd0
, a system plików ( zwykle wrzucasz Androida x86 na ext2, ale skoro masz go na NTFS, wyświetlałby system plików jako NTFS; dla większości ludzi wyświetlałby ext2, dlatego wiem, który to jest, ponieważ moje partycje Androida są jedynymi partycjami ext2 Mam).Hmm ... Początkowo zamierzałem tylko poprawić błąd w drugiej linii najpopularniejszej odpowiedzi, a skończyłem z cholernie prawie pełnym samouczkiem na temat dodawania Androida x86 do GRUBa ...
źródło
Otwórz
40_custom
:Dodaj pozycję menu systemu Android x86:
(ustaw
path
i*
jako twoje)Zaktualizuj grub:
źródło
Żadna z pozostałych odpowiedzi nie działała dla mnie, dlatego postanowiłem sam znaleźć rozwiązanie w plikach dostarczonych przez obraz ISO z plikami instalacyjnymi systemu Android-x86.
W
Android-x86 LiveCD1/efi/boot/android.cfg
znalazłem następujący wpis menu:Pytanie tylko, jakie wartości
$kdir
i$android
powinno być. Po zamontowaniu partycji zainstalowałem system na (sda2
), znalazłem nazwę katalogu -cm-x86-14.1-r2
.$@
są dodatkowymi parametrami (quiet
w moim rozwiązaniu) i$src
można je zignorować. Na koniec zrobiłem następujący wpis grub:I to działa.
źródło
To wszystko było bardzo pomocne, ale ostatecznie trochę mi brakowało i nie zadziałałoby, dopóki nie dodałem wszystkich części.
Jak pisał Banan3'14 miał rację, ale brakowało:
Może to zasugerowano i jestem zbyt nowy, żeby to zrozumieć, ale kiedy już to wszystko udało mi się zebrać, zadziałało.
źródło
Nie przejmuj się sda lub sdc, zawsze jest to (hd0, x) w moim przypadku, jeśli zainstalowałeś system Android x86 na urządzeniu rozruchowym. To znaczy, w moim przypadku, czy twoje urządzenie jest wymienione w systemie OS jak Ubuntu jako / dev / sda lub / dev / sdb, powinieneś dodać (hd0, x), x jest liczbą partycji Androida x86 w grub 2 element, o ile uruchamiasz się przy użyciu tego samego urządzenia, na którym zainstalowałeś Androida x86 (na przykład zainstalowałeś Androida x86 na dysku USB o nazwie U na partycji 3, a U na twojej Ubuntu jako / dev / sdc, ale ty boot z U, wtedy powinieneś dodać root = (hd0,3), ale nie root = (hd2,3) w grub).
źródło