কোনও নির্দিষ্ট চলমান উবুন্টু সিস্টেম EFI / UEFI, বা BIOS ব্যবহার করে বুট করা হয়েছিল কিনা তা আমি কীভাবে নির্ধারণ করব?
কোনও নির্দিষ্ট চলমান উবুন্টু সিস্টেম EFI / UEFI, বা BIOS ব্যবহার করে বুট করা হয়েছিল কিনা তা আমি কীভাবে নির্ধারণ করব?
উত্তর:
সবচেয়ে সহজ /sys/firmware/efiউপায়টি উপস্থিত রয়েছে কিনা তা পরীক্ষা করা । আপনি যদি traditionalতিহ্যবাহী BIOS ব্যবহার করে বুট করেন তবে এটি উপস্থিত হবে না।
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
অননুমোদিত
নীচের উত্তরটি এমন একটি পদ্ধতি যা সর্বদা কার্যকর নাও হতে পারে।
পরিবর্তে কলিনের উত্তর ভিত্তিক ব্যবহার করুন/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 এর বেশ কয়েকটি বিক্রেতা / সংস্করণগুলির স্ট্রিং সহ, দয়া করে এই পৃষ্ঠা থেকে দেখুন যথার্থ জন্য উবুন্টু বিকাশকারী শীর্ষ সম্মেলন ।
if dmesg | grep -Fq "EFI v"; then ...। [কমান্ডটি চালানোর কোনও অর্থ নেই , কেবল সাফল্য / ব্যর্থতার জন্য পরীক্ষা করা। $?নির্দিষ্ট ত্রুটিগুলি পরীক্ষা করার জন্য প্রধানত কার্যকর mainly
UEFI বা ROM BIOS দিয়ে সিস্টেম বুট করা আছে কিনা তা পরীক্ষা করার জন্য পাইথন কোড:
ওএস, এসি আমদানি করুন
ডিএফ প্রধান ():
যদি (os.path.exists ( "/ sys / ফার্মওয়্যার / efi-")):
মুদ্রণ "\ n \ n ইউয়েফি দিয়ে সিস্টেম বুট হয়েছে!"
অন্য:
মুদ্রণ "\ n \ n সিস্টেমটি রোম বায়োস দিয়ে বুট করা হয়েছে"
মেন ()
sys.exit (0)