গ্রুব দিয়ে অ্যান্ড্রয়েড বুট করছে, তবে কীভাবে?


9

আমি একটা ছোট সমস্যা আছে। আমার সাতটি পার্টিশন রয়েছে:

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-x86-4.4-r1.iso সংস্করণ থেকে ব্যবহার করেছি।

এটি আমার 40_ কাস্টম ডকুমেন্ট:

#!/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 বেছে নিতে পারি, তবে এটি অ্যান্ড্রয়েড বুট করে না। পটভূমি বেগুনি এবং কিছুই ঘটে না।

একটি সম্পূর্ণ এবং কাজ 40_Custommস্ক্রিপ্ট কি হবে ?


আমি গ্রুব কাস্টমাইজারে স্ক্রিপ্ট তৈরি করি এবং এটি সংরক্ষণ করি তবে এটি কাজ করে না। আমি আবার গ্রুব কাস্টমাইজার খুললে স্ক্রিপ্টটি সরিয়ে ফেলা হয় তবে এটি বুট মেনুতে প্রদর্শিত হবে না।

এটি আমার কোড:

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

এখন আমার একটি অতিরিক্ত সমস্যা আছে:

আমি যদি আমার ল্যাপটপটি শুরু করি তবে এতে উবুন্টু, উইন্ডোজ, কালি লিনাক্স এবং অ্যান্ড্রয়েড (যা কাজ করে না) দেখায়, তবে আমি যদি গ্রাব কস্টুমাইজার শুরু করি তবে উইন্ডোজ তালিকাভুক্ত নয় ?! কিন্তু কেন?

উত্তর:


3

অ্যান্ড্রয়েড x86 6.0 সম্পর্কিত

"EEEPC" কার্যনির্বাহীটি কেবল ASUS EEEPCs এর জন্য, আপনার যদি এটি থাকে তবে এটি ব্যবহার করুন, অন্যথায় ব্যবহার করুন android_x86, জেনেরিক_এক্স 86 ব্যবহার করবেন না , আপনি বুট অ্যানিমেশনটিতে আটকে যাবেন এবং টার্মিনাল অ্যাক্সেস পেতে CTRL+ ব্যবহার করে পুনরায় আরম্ভ F1করতে হবে এবং rebootহিসাবে হিসাবে ইস্যু করতে হবে জিইউআই লোড হবে না। আমি এটি জানি কারণ আমি বেশ কয়েক ঘন্টা খারাপ অনুসরণ করে ব্যয় করেছি, ভাল উদ্দেশ্যপ্রণোদিতভাবে, যদিও পরামর্শ।

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

এটি ছিল চূড়ান্ত কনফিগারেশন যা আমার জন্য ট্রিপল বুট সেটআপে পুরানো স্কুল সনি ভাইও 64 বিটে কাজ করেছিল on

'(0,4)'আমার হার্ড ড্রাইভ এবং পার্টিশনের অ্যান্ড্রয়েড x86 এর অবস্থানটি ইনস্টল করা হয়েছিল, সেই অনুযায়ী এটি পরিবর্তন করুন। আপনার আপনার ইউআইডি দরকার নেই, আপনার ইনস্টলেশন অবস্থানের একমাত্র পরিবর্তন হিসাবে আমি কেবল উপরে যা ঠিক করেছি তা আপনার প্রয়োজন।


2

এটি এক্সডিএ ডেভেলপারদের

GRUB 1.97 - 1.99 এবং 2.00 + এর জন্য

  1. এটি সহজ করার জন্য, GRUB কাস্টমাইজার ইনস্টল করুন এগুলি টার্মিনাল এমুলেটরটিতে টাইপ করুন: কোড:

    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)': অ্যান্ড্রয়েড x86 ইনস্টল থাকা পার্টিটনটিতে (hd0,4) পরিবর্তন করুন। এইচডি0 এর অর্থ এসডিএ, সুতরাং আপনি যদি এটি এসডিবিতে ইনস্টল করেন তবে এটি এইচডি 1 এবং আরও কিছু হবে। Hd0,4 এর অর্থ পার্টিশন নম্বর, আমার ক্ষেত্রে, hd0,4 এর অর্থ এসডিএ 4। সুতরাং আপনি যদি এটি sda6 এ ইনস্টল করেন তবে এটি hd0,6 হবে।

  2. --set=root e1f9de05-8d18-48aa-8f08-f0377f663de3: এলোমেলো নম্বরটি হল পার্টিশনের ইউইউডি অ্যান্ড্রয়েড x86 ইনস্টল করা আছে আপনাকে এটি ইউআইডি সংশোধন করতে হবে, আপনি GRUB কাস্টমাইজারে নতুন এন্ট্রি তৈরি করে সহজেই ইউআইডি পেতে পারেন তারপরে বিকল্প ট্যাবে যান, তারপরে ড্রপডাউনতে 'লিনাক্স' বিকল্পটি নির্বাচন করুন। আপনি পার্টিশন ড্রপডাউন দেখতে পাবেন, আপনার বিভাজন নির্বাচন করুন। উত্স ট্যাবটি খুলুন, আপনি সেখানে ইউআইডিটি দেখতে পাবেন।

  3. androidx86/: অ্যান্ড্রয়েড x86 এর মূল এটি আপনার অ্যান্ড্রয়েড x86 রুটে পরিবর্তন করুন। অ্যান্ড্রয়েড x86 পার্টিশনে নেভিগেট করে আপনি দেখতে পাচ্ছেন যে আপনার অ্যান্ড্রয়েড x86 মূল কী এবং আপনি 'অ্যান্ড্রয়েড' দিয়ে শুরু হওয়া একটি ফোল্ডার দেখতে পাবেন, এটিই আপনার অ্যান্ড্রয়েড x86 এর মূল

  4. androidboot.hardware: অবশ্যই আপনার ডিভাইস। দ্রষ্টব্য: আপনি যদি অ্যান্ড্রয়েড ২.৩ - ৪.০.৩ ব্যবহার করে থাকেন তবে এটি এন্ড্রয়েডবूट_হার্ডওয়ারে পরিবর্তন করুন এখানে হার্ডওয়্যারটির তালিকা রয়েছে:

  • generic_x86 : আপনার হার্ডওয়্যারটি তালিকাভুক্ত না হলে এটি ব্যবহার করুন
  • eeepc : EEEPC ল্যাপটপ
  • asus_laptop : ASUS ল্যাপটপগুলি (কেবলমাত্র ASUS ল্যাপটপ সমর্থিত)

আমাকে একটি পরম পথ ব্যবহার করতে হয়েছিল, অর্থাৎ /androidx86/kernel। অন্যথায়, আমি ফাইল খুঁজে পাওয়া যায় নি একটি ত্রুটি পেয়েছিলাম।
banan3'14

1

এটি দশ মাস পুরানো প্রশ্ন তবে আমি বুঝতে পেরেছি যেভাবেই সহায়তা করব। এটি আসলে খুব সাধারণ ফিক্স। আমি উপরের উত্তরে "সম্পাদনা" মারার পরিবর্তে আমার উত্তরে স্থির নিক্ষেপ করছি কারণ আমি পিয়ার পর্যালোচনা বা যাই হোক না কেন অপেক্ষা করতে চাই না।

যাইহোক, সর্বাধিক ভোটের উত্তরে বলা হয়েছে যে আপনার নিম্নলিখিত কোডগুলি ব্যবহার করা উচিত:

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

বিষয়টি দুটি লাইনে আছে। দুই লাইনের শুরুতে একটি বিপথগামী কবর রয়েছে (`)। আক্ষরিক হিসাবে এটি হিসাবে সহজ। কখনও কখনও এটি এমন জিনিসগুলির মধ্যে সর্বাধিক সাধারণ যা সমস্ত কিছু কাজ বন্ধ করে দেয়।

আমি কল্পনা করেছি যে আপনি হয় GRUB এ অ্যান্ড্রয়েড x86 যুক্ত করার একটি উপায় খুঁজে পেয়েছেন বা আপনার আর কোনও যত্ন নেই তবে হ্যাঁ। সুতরাং এখানে সঠিক কোড:

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যে পার্টিশনটি আমার কাছে অ্যান্ড্রয়েড ৪.৪ আর ২ ইনস্টল করা আছে এবং a47b5fe5-8969-4774-be9c-72c32a3fd14bতা বলা পার্টিশনের hd0,msdos4ইউইউডি এবং এটি সেই পার্টিশন যা আমি অ্যান্ড্রয়েড 5.0.2 (বেসরকারী এবং অত্যন্ত অস্থির) ইনস্টল করেছি এবং d2edeae9-3dc8-41b1-b775-25d0a8028092সেই পার্টিশনের ইউআইইডি হয়েছি ।

আমার জন্য, hd0,msdos2হয় /dev/sdb2এবং hd0,msdos4হয় /dev/sdb4। আমি নিশ্চিত নিম্নলিখিত নয়, কিন্তু আমি মনে করি যে গ্রাব করে hd0, hd1, hd2, ইত্যাদি একটি ভিন্ন অনুক্রমে চেয়ে লিনাক্স করে sda/hda, sdb/hdb, sdc/hdc, ইত্যাদি আবার, নিশ্চিত না, কিন্তু আমি মনে করি গ্রাব শারীরিক অনুক্রমে এটা আছে (তারা would আপনার বিআইওএসে চিহ্নিত করুন) এবং লিনাক্স এগুলিতে ... আহ ... অন্য কোনও উপায়ে, আমার ধারণা। আবার, এটি সম্পর্কে নিশ্চিত না।

তবে হ্যাঁ আপনার যদি GRUB পার্টিশন ফর্ম্যাটে ( hdX,msdosY) আপনার অ্যান্ড্রয়েড পার্টিশনটি (যা আমি দেখতে পাচ্ছি /dev/sda3) কোন পার্টিশনটি খুঁজে বের করতে হবে , আপনার পিসি পুনরায় চালু করুন এবং কমান্ড লাইনে যাওয়ার জন্য সি টিপুন। তারপরে (hdট্যাবটি টাইপ করুন এবং হিট করুন (ট্যাব স্বতঃপূরণ জিনিসগুলি) এবং এটি তারপরে সমস্ত ড্রাইভকে স্বতঃসম্পূর্ণ বিকল্প হিসাবে তালিকাভুক্ত করবে (100% নিশ্চিত নয় তবে আমি 70% নিশ্চিত যে এটি USB ড্রাইভগুলি প্রদর্শন করে না যদি না তারা কোনও ইউএসবির সাথে সংযুক্ত না হয় Sata ড্রাইভগুলি SATA অ্যাডাপ্টারে) তারপরে টাইপ করুন (hd0এবং ট্যাবটি হিট করুন এবং এটি hd0স্বতঃসম্পূর্ণ বিকল্প হিসাবে সমস্ত পার্টিশন তালিকাভুক্ত করবে । আপনার যদি একাধিক ড্রাইভ থাকে তবে /dev/sda3কোনটি কেবল পরীক্ষার বিষয় এবং এটি স্বয়ংক্রিয়ভাবে সম্পূর্ণ হওয়াতে ত্রুটিযুক্ত তা নির্ধারণ করে (hd। আমি ফলাফলগুলি দেখতে ঠিক কী তা নিশ্চিত নই তবে ফলাফলের জন্য আমি জানি(hd0(স্পষ্টত) এ সমস্ত পার্টিশন জন্য গ্রাব-শৈলী পার্টিশন শনাক্তকারী প্রদর্শন করা হবে hd0(জন্য আপনাকে, এটা হতে চাই msdos1মাধ্যমে msdos7; GRUB- র মধ্যে, hd0 এ শুরু কিন্তু msdos1 টায় শুরু), সমস্ত পার্টিশন লেবেল hd0, এবং ফাইল সিস্টেম ( সাধারণত আপনি অ্যান্ড্রয়েড x86 এক্সট 2 এর উপরে ফেলে দেন তবে যেহেতু এটি আপনার এনটিএফএসে রয়েছে তাই এটি ফাইল সিস্টেমটিকে এনটিএফএস হিসাবে প্রদর্শন করবে; বেশিরভাগ লোকের জন্য এটি এক্সট 2 প্রদর্শন করবে যা আমি জানি এটি কোনটি কারণ আমার অ্যান্ড্রয়েড পার্টিশনগুলিই কেবল এক্সট 2 পার্টিশন আমার আছে).

হুম ... আমি প্রথম দিকে কেবলমাত্র সর্বাধিক জনপ্রিয় উত্তরের দুটি লাইনেই ভুলটি সংশোধন করার ইচ্ছা নিয়েছিলাম এবং গ্রুবটিতে অ্যান্ড্রয়েড x86 কীভাবে যুক্ত করা যায় তার সম্পূর্ণ টিউটোরিয়ালটির কাছে একটি জঘন্য কাজটি শেষ করেছি ...


1
  • খোলা 40_custom:

    sudo -H gedit /etc/burg.d/40_custom
    
  • অ্যান্ড্রয়েড 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

অন্য কোনও উত্তর আমার পক্ষে কাজ করেনি, তাই আমি নিজেরাই অ্যান্ড্রয়েড-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

এটি সমস্ত খুব সহায়ক ছিল, কিন্তু শেষ পর্যন্ত, এটি আমার জন্য একটি সামান্য কিছু অনুপস্থিত ছিল এবং আমি সমস্ত অংশগুলিতে যোগ না করা পর্যন্ত এটি কাজ করবে না।

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

-1

এসডিএ বা এসডিসি নিয়ে বিরক্ত করবেন না, আপনি যদি বুটিং ডিভাইসে অ্যান্ড্রয়েড x86 ইনস্টল করেন তবে আমার ক্ষেত্রে সর্বদা এটি (এইচডি0, এক্স) থাকে। এটি বলতে গেলে, আমার ক্ষেত্রে, আপনার ডিভাইসটি ওবুন্টুর মতো / ডিভ / এসডিএ বা / ডিভ / এসডিবি হিসাবে ওএসে তালিকাভুক্ত হয়েছে কিনা, আপনার (hd0, x) যোগ করা উচিত, x আপনার গ্রাউন্ডে অ্যান্ড্রয়েড x86 পার্টিশনের সংখ্যা 2 আইটেম, যতক্ষণ না আপনি একই ডিভাইসটি বুট করেন ততক্ষণ আপনি আপনার অ্যান্ড্রয়েড x86 ইনস্টল করেছেন (উদাহরণস্বরূপ, আপনি পার্টিশন 3 এ ইউ নামের একটি ইউএসবি ড্রাইভে অ্যান্ড্রয়েড x86 ইনস্টল করেছেন, এবং আপনার উবুন্টুতে / dev / sdc হিসাবে তালিকাভুক্ত করেছেন তবে আপনি ইউ থেকে বুট করুন, তারপরে আপনার রুট = (hd0,3) যুক্ত করা উচিত তবে গ্রুতে রুট = (এইচডি 2,3) নয় not


আমি আপনার উত্তর উন্নত করার চেষ্টা করেছি। তবে এর মাথা বা লেজ বানাতে পারে না। আপনি যদি আপনার উত্তরের নীচে সম্পাদনা লিঙ্কটিতে ক্লিক করেন তবে আপনি আপনার উত্তর পরিবর্তন করতে পারেন ।
ম্যাডমাইক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.