আমার সিস্টেমটি EFI / UEFI বা BIOS হিসাবে বুট করা হয়েছে কিনা আমি কীভাবে বলতে পারি?


120

কোনও নির্দিষ্ট চলমান উবুন্টু সিস্টেম EFI / UEFI, বা BIOS ব্যবহার করে বুট করা হয়েছিল কিনা তা আমি কীভাবে নির্ধারণ করব?


আকর্ষণীয় প্রশ্ন। একটি সঠিক ডুপ নয়, উত্তরটি এখানে চেষ্টা করুন , অনুরূপ প্রশ্নের জন্য।
টম ব্রসম্যান 21

উত্তর:


133

সবচেয়ে সহজ /sys/firmware/efiউপায়টি উপস্থিত রয়েছে কিনা তা পরীক্ষা করা । আপনি যদি traditionalতিহ্যবাহী BIOS ব্যবহার করে বুট করেন তবে এটি উপস্থিত হবে না।

#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

কিউইএমইউ ২.০.০, ওভিএফএম এবং উবুন্টুতে পরীক্ষিত হয়েছে ১৪.০৪: github.com/cirosantilli/runlinux/tree/…
Ciro

উবুন্টু 16.04, এবং ফেডোরা 24
geek1011

16

অননুমোদিত

নীচের উত্তরটি এমন একটি পদ্ধতি যা সর্বদা কার্যকর নাও হতে পারে।
পরিবর্তে কলিনের উত্তর ভিত্তিক ব্যবহার করুন /sys/firmware/efi


এটা তোলে বলতে যদি একটি সিস্টেম EFI -তে বুট হয়েছিল (বা, যে ক্ষেত্রে এটি খুব সহজ নয় BIOS- র হতে):

শুধু ব্যবহার dmesg | grep "EFI v"

  • যদি সিস্টেমটি EFI থেকে বন্ধ করে দেওয়া হয় তবে এটি এটির মতো একটি লাইনে ফিরে আসবে:

    [0.000000] আমেরিকান মেগাট্রেন্ডের দ্বারা EFI v2.00
  • বা এটি না থাকলে কিছুই ফিরিয়ে আনবেন না, এই ক্ষেত্রে এটি BIOS থেকে বন্ধ হয়ে গেছে

গ্রেপ এর প্রস্থান কোডের উপর ভিত্তি করে ব্যাশ স্ক্রিপ্ট ব্যবহারের উদাহরণ :

...
dmesg | grep -q "EFI v" # -q গ্রেপকে আউটপুট কিছুই বলে না
যদি [$? -eq 0] # পরীক্ষার প্রস্থান কোড; যদি 0 ইএফআই হয়, অন্যথায় বায়োস
তারপর
    প্রতিধ্বনি "আপনি EFI বুট ব্যবহার করছেন।"
  আর
    প্রতিধ্বনি "আপনি BIOS বুট ব্যবহার করছেন"
ফাই
...

উত্স: কোনও EFI সিস্টেম লিগ্যাসি-BIOS অনুকরণ ব্যবহার করছে কিনা তা নির্ধারণের জন্য, পাশাপাশি EFI এবং EFI সামঞ্জস্যের জন্য পরীক্ষার আরও তথ্য, EFI এর বেশ কয়েকটি বিক্রেতা / সংস্করণগুলির স্ট্রিং সহ, দয়া করে এই পৃষ্ঠা থেকে দেখুন যথার্থ জন্য উবুন্টু বিকাশকারী শীর্ষ সম্মেলন


2
আমি এটিকে সহজ করব if dmesg | grep -Fq "EFI v"; then ...[কমান্ডটি চালানোর কোনও অর্থ নেই , কেবল সাফল্য / ব্যর্থতার জন্য পরীক্ষা করা। $?নির্দিষ্ট ত্রুটিগুলি পরীক্ষা করার জন্য প্রধানত কার্যকর mainly
গিরিহা

3
এটি ভঙ্গুর, কারণ অনুসন্ধানের স্ট্রিংটি পছন্দসই বৈশিষ্ট্যটির দ্বারা উত্পন্ন হওয়ার কোনও গ্যারান্টি নেই।
থরবজর্ন রাভন অ্যান্ডারসন

1
@ আইজএক্স, যে কোনও স্ক্রিপ্ট অন্য কোনও কিছুর অংশ হিসাবে "EFI v" লিখতে ঘটতে পারে। যদি এটি কোনও বিআইওএস মেশিনে ঘটে থাকে তবে এটি মিথ্যা ইতিবাচক হবে।
থরবজর্ন রাভন অ্যান্ডারসন

2
কার্নেলের লগে পাঠ্যের জন্য গ্রেপ না করা ভাল, এটি পরিবর্তনের বিষয়। সেরা / সিস / ফার্মওয়্যার / এফি দেখার জন্য
কলিন ইয়ান কিং

1
আমি তবে উল্লেখ করতে চাই যে এটি EFI সংস্করণ পাওয়ার একটি দুর্দান্ত উপায়!
ওমেগা

0

UEFI বা ROM BIOS দিয়ে সিস্টেম বুট করা আছে কিনা তা পরীক্ষা করার জন্য পাইথন কোড:

ওএস, এসি আমদানি করুন
ডিএফ প্রধান ():
    যদি (os.path.exists ( "/ sys / ফার্মওয়্যার / efi-")):
        মুদ্রণ "\ n \ n ইউয়েফি দিয়ে সিস্টেম বুট হয়েছে!"
    অন্য:
        মুদ্রণ "\ n \ n সিস্টেমটি রোম বায়োস দিয়ে বুট করা হয়েছে"
মেন ()
sys.exit (0)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.