কোনও নির্দিষ্ট চলমান উবুন্টু সিস্টেম 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)