ইনসিড এইচ 2 ও ইএফআই বায়োস সহ সনি ভায়ো জিআরইউবি ইএফআইতে বুট করবে না


12

আমি একটি নতুন সনি ভাইও এস সিরিজের ল্যাপটপ কিনেছি। এটি ইনসাইড এইচ 2 ও বিআইওএস ইএফআই ব্যবহার করে এবং এটিতে লিনাক্স ইনস্টল করার চেষ্টা আমাকে পাগল করছে।

root@kubuntu:~# parted /dev/sda print
Model: ATA Hitachi HTS72756 (scsi)
Disk /dev/sda: 640GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End    Size    File system  Name                          Flags
 1      1049kB  274MB  273MB  fat32        EFI system partition          hidden
 2      274MB  20.8GB  20.6GB  ntfs        Basic data partition          hidden, diag
 3      20.8GB  21.1GB  273MB  fat32        EFI system partition          boot
 4      21.1GB  21.3GB  134MB                Microsoft reserved partition  msftres
 5      21.3GB  342GB  320GB  ntfs        Basic data partition
 6      342GB  358GB  16.1GB  ext4        Basic data partition
 7      358GB  374GB  16.1GB  ntfs        Basic data partition
 8      374GB  640GB  266GB  ntfs        Basic data partition

অবাক করার মতো বিষয়টি হ'ল ডিস্কে দুটি ইএফআই সিস্টেম পার্টিশন রয়েছে। এসডিএ 2 পার্টিশনটি একটি 20 গিগাবাইট পুনরুদ্ধার পার্টিশন যা একটি উইন্ডোটিকে একটি প্রাথমিক পুনরুদ্ধার ইন্টারফেস সহ লোড করে। সাধারণ পাওয়ার বোতামের বিপরীতে "সহায়তা" বোতাম টিপে এটি অ্যাক্সেসযোগ্য। আমি অনুমান করি যে sda1 EFI সিস্টেম পার্টিশন (ESP) এই পুনরুদ্ধারের মধ্যে লোড হয়।

মাইক্রোসফ্ট উইন্ডোজের জন্য এসডিএ 3 ইএসপি আরও ফ্লেশড এন্ট্রি পেয়েছে, যা আসলে উইন্ডোজ 7-এ যায় (উইন্ডোজে বিসিডিডিট.এক্সই দ্বারা নিশ্চিত করা হয়েছে)। উবুন্টু এসডিএ 6 এ ইনস্টল করা আছে এবং ইনস্টলেশন করার সময় আমি আমার বুট পার্টিশন হিসাবে sda3 বেছে নিয়েছি। ইনস্টলারটি সঠিকভাবে একটি sda3 / EFI / উবুন্টু / grubx64.efi অ্যাপ্লিকেশন তৈরি করেছে।

আসল সমস্যা: আমার জীবনের জন্য, আমি এটি ডিফল্ট হিসাবে সেট করতে পারি না! আমি একটি sda3 / startup.nsh তৈরি করার চেষ্টা করেছি যার নাম grubx64.efi, তবে এটি কোনও লাভ হয়নি - রিবুট করার সময় সিস্টেমটি এখনও উইন্ডোতে বুট হয়। আমি efibootmgr ব্যবহার করার চেষ্টা করেছি এবং এটি যেমন কাজ করেছে তেমন তা দেখায়:

root@kubuntu:~# efibootmgr 
BootCurrent: 0000
BootOrder: 0000,0001
Boot0000* EFI USB Device
Boot0001* Windows Boot Manager
root@kubuntu:~# efibootmgr --create --gpt --disk /dev/sda --part 3 --write-signature --label "GRUB2" --loader "\\EFI\\ubuntu\\grubx64.efi" 
BootCurrent: 0000
BootOrder: 0002,0000,0001
Boot0000* EFI USB Device
Boot0001* Windows Boot Manager
Boot0002* GRUB2
root@kubuntu:~# efibootmgr
BootCurrent: 0000
BootOrder: 0002,0000,0001
Boot0000* EFI USB Device
Boot0001* Windows Boot Manager
Boot0002* GRUB2

তবে, রিবুট করার সময়, আপনি যেমন অনুমান করেছিলেন, মেশিনটি সরাসরি উইন্ডোজে ফিরে গেছে reb

আমি কেবল ভাবতে পারি সেগুলি হ'ল:

  1. Sda1 পার্টিশনটি কোনওভাবে ব্যবহৃত হচ্ছে
  2. Grubx64.efi সহ /EFI/Boot/bootx64.efi এবং /EFI/Mic Microsoft/Boot/bootmgfw.efi মুছে ফেলুন [তবে এটি সত্যিই উগ্র মনে হচ্ছে]।

কেউ দয়া করে আমাকে সাহায্য করতে পারেন? ধন্যবাদ - যেকোন সাহায্যের প্রশংসা করা হয়েছে, কারণ এই সমস্যাটি আমাকে পাগল করছে!


আমি সনি ভাইও এস-তে একই পদ্ধতির অনুসরণ করেছি - এমএস .efi ফাইলটি GRUB একের সাথে প্রতিস্থাপন করে, MS.efi এর একটি অনুলিপি অন্য ডিরেক্টরিতে রেখেছি এবং উইন্ডোজ বুট করার জন্য অনুলিপিটিতে চেইনলোডিং করছি load এটি সাধারণত কাজ করে, তবে একটি খারাপ দিকটি প্রভাবিত করে আমি হাইডারনেশন থেকে উইন্ডোজকে পুনরায় চালু করতে পারি না - এর বুটলোডার ত্রুটিগুলি আউট হয়ে গেছে, এবং একটি পরিষ্কার রিবুট প্রয়োজন।

উত্তর:


11

আমি শেষ পর্যন্ত এটি সমাধান করতে সক্ষম হয়েছি। আমি grub64.efi এর সাথে EFI / মাইক্রোসফ্ট / বুট / bootmgfw.efi প্রতিস্থাপন করেছি। আমি প্রাক্তনটির নাম বুটগমডব্লিউ.ইফ.ইউলে রেখেছি এবং এতে চেইনলোড করার জন্য একটি মেনু বিকল্প যুক্ত করতে গ্রাব ব্যবহার করেছি।

এটি সূচিত করে যে ফার্মওয়্যারটি মাইক্রোসফ্ট উইন্ডোজ বুটলোডার সন্ধান করার জন্য হার্ডকোডযুক্ত এবং efibootmgr সেটিংস, বা startup.nsh সম্মান করে না। এটা সত্যিই ভয়ানক।

আমি জানতে পেলাম যে সনি ইএফআই বুট প্রক্রিয়া কীভাবে কাজ করে:

  1. /EFI/Mic Microsoft/Boot/fwbootmgr.efi এ দেখুন; উপস্থিত থাকলে, এটি বুট করুন।
  2. Grubx64.efi এর জন্য / EFI / এর সমস্ত উপ ডিরেক্টরিতে দেখুন। উপস্থিত থাকলে এটি বুট করুন।
  3. বুট / ইএফআই / বুট / বুটেক্স .৪.efi
  4. একটি ত্রুটি বার্তা প্রদর্শন করুন, যেমন "অপারেটিং সিস্টেম পাওয়া যায় নি"।

লিনাক্সের অধীনে, ইফিবুটমগ্রার সরঞ্জামটি কাজ করে তবে এটি আপনার ব্যবহার করা সর্বশেষ ইউএসবি ড্রাইভ সহ প্রচুর পরিমাণে স্বয়ংক্রিয়-উত্পাদিত আজেবাজে প্রদর্শন করে।

আমি এই সমস্ত কীভাবে শিখলাম তা এখানে:

  1. লিনাক্স এবং ম্যাক পাশাপাশি রেখে ইনস্টল করার জন্য আমি আমার নতুন মেশিনটি খুললাম এবং উইন্ডোজ পার্টিশনটি ভেঙে দিয়েছি।
  2. আমি উবুন্টু 12.10 ইনস্টল করেছি এবং ইনস্টলারটি পুরানো উইন্ডোজ বুটলোডার ব্যাক আপ করে fwbootmgr.efi ওভাররোট করে।
  3. আমি পুরানো উইন্ডোজ বুটলোডার পুনরুদ্ধার করেছি, তবে উইন্ডোজ ছাড়া কিছুই বুট করতে পারছি না।
  4. আমি উইন্ডোজ বুটলোডারটির নাম পরিবর্তন করে কিছু বোগাস রেখেছি এবং তারপরে গ্রুব বিএল গ্রহণ করেছিল।
  5. আমি উবুন্টু ডিরেক্টরিটির নাম পরিবর্তন করে অন্য কোনও কিছুর নাম দিয়েছি এবং গ্রুব এখনও লোড হয়েছিল, যদিও আমি আরইএফআইডি ইনস্টল করেছিলাম।
  6. আমি যা চাইছিলাম তা করার জন্য আমি আরইএফআইডি পেতে পারি this

  7. Fwbootmgr.efi কে তার মূল ডিরেক্টরিতে সরান; REFInd এখনও এটি খুঁজে পাবেন এবং উইন্ডোজ অভিযোগ করবে না যে আপনি এটির নামকরণ করেছেন।

  8. Grubx64.efi এর নাম পরিবর্তন করে rfgrubx64.efi বা অন্য কিছু সনাক্তযোগ্য to
  9. / EFI / রিফাইন্ড / EFI / বুট থেকে rEFInd অনুলিপি করুন, /EFI/refind_x64.efi কে * .bak এ পুনরায় নামকরণ করুন এবং সর্বশেষে পুনরায় নামকরণ / বুট / রিফাইন্ড_এক্স64.efi বুটেক্স 64.efi নামকরণ করুন। আপনার এখন আরইএফআইডি থেকে উইন্ডোজ বিএল বা GRUB বুট করতে সক্ষম হওয়া উচিত। আমি আমার ম্যাকোস ইনস্টলটি ক্লোভারে আপগ্রেড করার পরিকল্পনা করছি এবং পাশাপাশি আরইএফআইডি থেকে ক্লোভার লোড করব।

(সম্ভবত এই সবগুলি করার জন্য উইন্ডোজ বুট ম্যানেজার ব্যবহার করা সম্ভব, তবে আইজিসিবিডি এর ইএফআই সমর্থনটি এখনও আমার অভিজ্ঞতার মধ্যে একটি জগাখিচুড়ি। আমি কিছুক্ষণের জন্য আবার এটি স্পর্শ করতে অস্বীকার করি))


নোট করুন যে আমি উইন্ডোজ থেকে বিসিডিটি [বিসিডিডিট.এক্সই ব্যবহার করে] সেটিংস সংশোধন করার চেষ্টা করেছি উইন্ডোজ বুট ম্যানেজারটি গ্রাব করার জন্য সেট করেছিলাম, এবং এটি এখনও কার্যকর হয়নি - আমি আসলে গ্রাবের .efi সহ .efi ফাইলটি প্রতিস্থাপন করতে হয়েছিল। ।
রোহান ধ্রুভা

5

প্রথমত, আপনার কাছে দুটি ইএসপি নেই। একটি ইএসপি হ'ল একটি পার্টিশন যা C12A7328-F81F-11D2-BA4B-00A0C93EC93B এর পার্টিশন টাইপ কোড রয়েছে, যা তার "বুট পতাকা" সেট দিয়ে পার্টিশন হিসাবে চিহ্নিত করে। আপনার আউটপুটটি ইঙ্গিত দেয় যে কেবল / ডিভ / এসডি 3 এর "বুট পতাকা" সেট রয়েছে, সুতরাং আপনার কাছে কেবল একটি ইএসপি - / ডিভ / এসডি 3 পেয়েছে। জিপিটি-র অধীনে, পার্টিশনের নাম থাকতে পারে এবং "ইএফআই সিস্টেম পার্টিশন" নামে দুটি পার্টিশন পেয়েছে তবে এই নামগুলি শুধুমাত্র মানব সনাক্তকরণের উদ্দেশ্যে ব্যবহৃত হয়। সুতরাং, আমার অনুমান যে আপনি (বা কিছু স্বয়ংক্রিয় ইউটিলিটি) এটি একটি ইএসপি বানানোর উদ্দেশ্য নিয়ে একটি / ডিভ / এসডিএ তৈরি করেছেন তবে এর পার্টিশন টাইপ কোডটি সেট করার ক্ষেত্রে কোনও ত্রুটি হয়েছিল বা অন্য কোনও ইউটিলিটি এর টাইপ কোডকে ভুলভাবে পরিবর্তন করেছে C12A7328-F81F-11D2-BA4B-00A0C93EC93B অন্য কিছু।

আপনি এটি সংশোধন করতে পারেন এমন অনেকগুলি উপায় রয়েছে। সবচেয়ে সহজ হ'ল বিভ্রান্তি এড়ানোর জন্য / dev / sda1 এর নাম পরিবর্তন করা। আপনি যদি ভাবেন যে / dev / sda1 কোনও উদ্দেশ্য করে না, আপনি এটি ব্যাক আপ করতে এবং এটি মুছতে পারেন। এটি এটিকে এড়াতে এবং বিভ্রান্তি এড়াতে সক্ষম করবে তবে অবশ্যই আপনার তখন অব্যবহৃত ডিস্কের স্থান 273 এমবি পাবেন। বিকল্প হিসাবে, আপনি বিভ্রান্তি এড়াতে নাম এবং টাইপ কোড পরিবর্তন করার প্রয়োজন হলে অন্য কোনও প্রয়োজনে স্থানটি উত্সর্গ করতে পারেন। ইএফআই স্পষ্টভাবে একাধিক ইএসপিগুলিকে অনুমতি দেয়, সুতরাং আপনি টাইপ কোডটি (পার্ট ব্যবহার করে "বুট ফ্ল্যাগ" সেট করে) উদাহরণস্বরূপ উভয় ইএসপি ব্যবহার করতে পারবেন; তবে এটি বিভ্রান্তিকর হতে পারে

সম্ভাবনা হ'ল এই সমস্যাটি লিনাক্স বুট করতে আপনার অক্ষমতার সাথে সম্পর্কিত নয়, যেহেতু সমস্ত প্রাসঙ্গিক ফাইলগুলি / dev / sda3-এ রয়েছে বলে মনে হচ্ছে। আমার কাছে এই সমস্যার বেশ কয়েকটি সম্ভাব্য কারণ দেখা দেয়:

  • এটি হতে পারে আপনি আপনার efibootmgr কমান্ডটিতে ভুল কিছু লিখেছেন। আমি কোনও সুস্পষ্ট টাইপস দেখতে পাচ্ছি না, তবে GRU বাইনারিটি যেখানে আপনি নির্দিষ্ট করেছেন সেখানে অবস্থিত না হলে কমান্ডটি কাজ করবে না। "--জিপিটি" এবং "--লিখন-স্বাক্ষর" বিকল্পগুলি প্রায় অবশ্যই অপ্রয়োজনীয়, এবং সম্ভবত অনুভূতিতে সমস্যা তৈরি করতে পারে, তবে সম্ভবত এটি হয় না।
  • আপনার ফার্মওয়্যারটিতে একটি ত্রুটি থাকতে পারে যা ইফিবটমগ্রি কমান্ডের প্রভাবগুলি অস্থায়ী হতে পারে। পুনরায় বুট করার চেষ্টা করুন এবং তারপরে "sudo efibootmgr -v" টাইপ করুন আপনার তৈরি করা এন্ট্রি পুনরায় বুট থেকে বেঁচে আছে কিনা তা দেখতে।
  • আপনার ফার্মওয়্যারটিতে এমন একটি বাগ থাকতে পারে যা বুট অর্ডার ভেরিয়েবলটিকে উপেক্ষা করতে পারে। আমি এর মত একটি মাদারবোর্ড পেয়েছি; এটি বুটআর্ডার ভেরিয়েবল দ্বারা নির্দিষ্ট করা ক্রমের পরিবর্তে বুট এন্ট্রিগুলি ক্রমযুক্ত হয়। এই ত্রুটিটি ব্যবহার করার জন্য আপনাকে সমস্ত এন্ট্রি মুছতে হবে এবং আপনি যে বুট ক্রমটি ব্যবহার করতে চান তাতে সেগুলি পুনরায় তৈরি করতে হবে।
  • আপনার grubx64.efi বাইনারিটি এমনভাবে ক্ষতিগ্রস্থ হতে পারে যাতে ফার্মওয়্যারটি এটি চালু করতে অস্বীকার করে এবং তাই এটি বুট ক্রমে পরবর্তী আইটেমে যায়।

আপনি আপনার efibootmgr কমান্ড সামঞ্জস্য করার চেষ্টা করতে পারেন, একটি নতুন বাইনারি সনাক্ত করতে পারেন, বা এই সম্ভাবনাগুলি পরীক্ষা করার জন্য কী নন। অন্য সব কিছু ব্যর্থ হলে, আমি আপনাকে নিম্নলিখিতগুলি করার পরামর্শ দিই:

  1. Efibootmgr বা আপনার ফার্মওয়্যার (যদি এটি ইন্টারফেস সরবরাহ করে) ব্যবহার করে সমস্ত বুট এন্ট্রি মুছুন।
  2. ESPI / বুট / bootx64.efi তে grubx64.efi অনুলিপি করুন ESP তে।
  3. আপনি যদি পুনরায় বুট করেন আপনি এখনও উইন্ডোজ পান তবে EFI / মাইক্রোসফ্ট / বুট / bootmgfw.efi নামকরণ করুন EFI / মাইক্রোসফ্ট / bootmgfw.efi।

বুট লোডার (EFI / Boot / bootx64.efi) এর ডিফল্ট নাম ব্যবহার করে GRUB বুট করা উচিত। এর সাথে একটি সমস্যা হ'ল উইন্ডোজের জন্য GRUB এর কার্যকরী এন্ট্রি নাও থাকতে পারে। আপনি সম্ভবত একটি নিজে তৈরি করতে পারেন; এই মত একটি এন্ট্রি কাজ করা উচিত:

menuentry "Windows 7" {
    set root='(hd0,gpt3)'
    chainloader /EFI/Microsoft/bootmgfw.efi
}

অন্যথা, আপনি ইনস্টল করতে পারে মেরামত বা rEFInd efi / boot / bootx64.efi হিসাবে। নোট করুন যে এর সাইট থেকে উপলব্ধ আরইএফআইটি বাইনারিগুলি ইউইএফআই ভিত্তিক পিসিগুলিতে কাজ করবে না; আপনাকে উবুন্টু সংগ্রহস্থলগুলিতে সংস্করণটি ব্যবহার করতে হবে। rEFInd হ'ল rEFIt এর একটি কাঁটা যা অনেকগুলি বাগ ফিক্স এবং আপডেট সহ আরও ভাল ইউইএফআই সমর্থন সহ। (REFIt প্রায় দুই বছর আগে পরিত্যক্ত বলে মনে হয়)) সুতরাং, আমি REFIt এর চেয়ে rEFInd ব্যবহার করার পরামর্শ দিই - তবে আমি REFInd এর রক্ষণাবেক্ষণকারী, তাই আমি এই স্কোরটিতে স্বতন্ত্র পর্যবেক্ষক নই। দুর্ভাগ্যক্রমে, আফাইক আরএফআইন্ড উবুন্টু স্টোরগুলিতে অন্তর্ভুক্ত নেই (তাই), সুতরাং আপনাকে এটি ম্যানুয়ালি ডাউনলোড করে ইনস্টল করতে হবে।


আপনাকে অনেক ধন্যবাদ, রড! তবে, এসডিএ 1 একটি ইএসপি রয়েছে এবং এটি নিজেই সম্ভবত ডিফল্টরূপে বুটযোগ্য নয়], যা উদ্ধার পার্টিশনে (20 জিবি সোনসইএস) বুট করার জন্য ব্যবহৃত হচ্ছে। আমি জানি এটি একটি অদ্ভুত সেটআপ, তবে সনি কোনও কারণে সেভাবেই এটি করা বেছে নিয়েছিল। পাওয়ার বোতামের বিপরীতে "সহায়তাকারী" বোতাম টিপলে সেই বুটলোডারকে কল করে।
রোহান ধ্রুভা

রড তথ্যটির জন্য ধন্যবাদ, আমারও একই সমস্যা হয়েছিল এবং আপনার পদক্ষেপগুলি অনুসরণ করে এটি আংশিকভাবে ঠিক করেছি। GRUB ভাল কাজ করেছে এবং তারপরে আমি Win7 এর জন্য এন্ট্রি যুক্ত করার চেষ্টা করেছি এবং এখন GRUB প্রদর্শিত হচ্ছে না, কেবল উবুন্টুতে সরাসরি বুট করছে। কোনও ধারণা কেন এবং কীভাবে ঠিক করবেন? এছাড়াও আমার EFI পার্টিশনটি sda1 এবং Win sda3 এই লাইনটিতে X সেট করা উচিত "সেট রুট = '(এইচডি0, জিপিটিএক্স)" "সমান 1 বা 3? আমি উভয় চেষ্টা করেছি!
ব্যারো32

@ রড, আমি মেনুয়েণ্ট্রি (উইন্ডোজ)) কোথায় যুক্ত করব? \ ইত্যাদি \ ডিফল্ট \ গ্রাব?
আলেখাইন

4

নতুন সনি ভাইও ই সিরিজটিতে এখানে একই অবস্থান শুরু। আপনার উত্তরের জন্য রড ধন্যবাদ।

যদি কারও হাঁটার পথে দরকার হয় তবে আমার পক্ষে এটি কাজ করেছে:

উইন 7 এর পাশাপাশি ইউএসবি থেকে 12.04 উবুন্টু ইনস্টল করা হয়েছে।

লাইভ-সেশন থেকে মাউন্ট / ডেভ / এসডিএ 3

  • EFI / উবুন্টু / grubx64.efi অনুলিপি করুন EFI / বুট /
  • EFI / বুট / bootx64.efi নাম বুটx64.efi.old এ রাখুন
  • EFI / বুট / grubx64.efi নাম বুটx64.efi

এখন এটি grub2 এ সরাসরি বুট হয়েছে, তবে উইন 7 এন্ট্রি ছাড়াই

ওবুন্টু লোড করার পরে আমি সম্পাদনা করেছি

/etc/grub.d/40_custom

যোগ

menuentry "Windows 7" {
    set root='(hd0,gpt3)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

এবং তারপর

sudo update-grub

সবকিছু ঠিকঠাক কাজ করে


1

আমি দুটি ভিন্ন বিকল্প প্রস্তাব:

  1. উইন্ডোজ এমবিআর ওভাররাইট করবেন না তবে গ্রাব চালু করতে এটি ব্যবহার করুন

  2. ইউইএফআই থেকে লেগ্যাসিতে বুট বিকল্পগুলিতে বায়োস সেটিংস ( f2বা f3শুরুতে) পরিবর্তন করুন, তবে এটি সাধারণত আগের মতো ইনস্টল করা শেষ সিস্টেমটি চালু করবে


এমবিআর ইএফআই কম্পিউটারগুলির জন্য প্রযোজ্য নয়
বেন ভয়েগট

0
  1. লাইভসিডি / লাইভ ইউএসবি থেকে বুট-মেরামত চালান
  2. Recommended Repairবোতামটি ক্লিক করুন । (এটি স্বয়ংক্রিয়ভাবে গ্রুব-এফির জন্য সঠিক প্যারামিটারগুলি ইনস্টল করবে, প্রয়োজনে সিকিউর বুট প্যারামিটারগুলি সহ, এবং ইউইএফআই ফার্মওয়্যারটি উইন্ডোজ ফাইলগুলিতে লক হয়ে থাকলে EFI ফাইলগুলির নামকরণ)। ইউআরএল নির্দেশ করুন যা কোনও সমস্যা হলে উপস্থিত হবে।

বুট-মেরামত

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