আল্ট্রা ফাস্ট বুট ব্যবহার করার সময় ইউইএফআই ফার্মওয়্যার সেটআপ ইউটিলিটি প্রবেশের প্রয়োজনে (পিওএসটি চলাকালীন কীবোর্ড ড্রাইভারগুলি লোড করা হয় না), আমি "ওএস সূচকগুলি" এফি ভেরিয়েবলটি লিখতে চাই। আমার ওএস হ'ল উবুন্টু 14.04 কার্নেল 3.13.0-35-জেনেরিক।
OsIndications
ভেরিয়েবল একটি UINT64 বিটমাস্ক প্রদান করে returns
OsIndicationsSupported
ভেরিয়েবল একটি UINT64 বিটমাস্ক প্রদান করে returns
EFI_OS_INDICATIONS_BOOT_TO_FW_UI
বিট যদি ফার্মওয়্যার সমর্থন ওএস অনুরোধ একটি ফার্মওয়্যার ইউজার ইন্টারফেস এ বন্ধ করার ফার্মওয়্যার দ্বারা OsIndicationsSupported পরিবর্তনশীল মধ্যে নির্ধারণ করা যাবে।EFI_OS_INDICATIONS_BOOT_TO_FW_UI
বিট OsIndications পরিবর্তনশীল মধ্যে ওএস দ্বারা সেট করা যেতে পারে, যদি ফার্মওয়্যার জন্য অপারেটিং সিস্টেম ইচ্ছা পরবর্তী বুট একটি ফার্মওয়্যার ইউজার ইন্টারফেস এ থামাতে।
EFI_OS_INDICATIONS_BOOT_TO_FW_UI
=0x0000000000000001
- ইউইএফআই স্পেসের পৃষ্ঠা 312 2.3.1 সি
আমার ফার্মওয়্যারটিতে পরবর্তী বুটে ফার্মওয়্যার সেটআপ ইউটিলিটি প্রবেশ করার ক্ষমতা রয়েছে:
$ hexdump /sys/firmware/efi/vars/OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c/data
0000000 0001 0000 0000 0000
0000008
আমি /sys/firmware/efi/efivars
ব্যবহার করে একটি নতুন ভেরিয়েবল তৈরি করতে পারি
$ printf\x07\x00\x00\x00\x00" > myvar-12345678-1234-1234-1234-123456789abc
যাইহোক, efi লেখার জন্য OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
সব ধরণের ফলাফল পরিবর্তন write error: Invalid argument
:
নতুন efivarfs ব্যবহার করে
# printf "x00\x00\x00\x01" > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
-bash: printf: write error: Invalid argument
# printf "x00\x00\x00\x01" > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
-bash: printf: write error: Invalid argument
# printf "\x01" > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
-bash: printf: write error: Invalid argument
# cat enter-uefi-fw > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
cat: write error: Invalid argument
পুরানো 1024 বাইট সর্বাধিক সিসফস-ইফিভারগুলি ব্যবহার করে
# cat enter-uefi-fw > /sys/firmware/efi/vars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var
cat: write error: Input/output error
# cat enter-uefi-fw > /sys/firmware/efi/vars/new_var
cat: write error: Invalid argument
# echo 'enter-uefi-fw' > /sys/firmware/efi/vars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var
-bash: echo: write error: Invalid argument
# printf "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" > /sys/firmware/efi/vars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var
-bash: printf: write error: Invalid argument
সঠিকভাবে কাজ করার জন্য ইউইএফআই ভেরিয়েবল সমর্থনের প্রয়োজনীয়তাগুলি পরীক্ষা করে
- EFI রানটাইম পরিষেবাদি সহায়তা কার্নেলের
$ cat /boot/config-$(uname -r) | grep CONFIG_EFI=y
রিটার্নে উপস্থিত থাকতে হবেCONFIG_EFI=y
- কার্নেল প্রসেসরের বেতেনস / খিলান এবং ইএফআই প্রসেসরের বেটেনস / খিলানটি মিলবে
? - কার্নেলটি EFI মোডে বুট করা উচিত
ফার্মওয়্যার সেটআপ ইউটিলিটি / বিআইওএসে সিএসএম অক্ষম করা আছে - কার্নেলের EFI রানটাইম পরিষেবাদিগুলি কার্নেল cmdline এর মাধ্যমে অক্ষম করা উচিত নয়, যেমন নোফি কার্নেল প্যারামিটার ব্যবহার করা উচিত নয়।
cat /proc/cmdline | grep EFI
কিছুই না - efivarfs ফাইল সিস্টেমটি / sys / ফার্মওয়্যার / efi / efivars
mount | grep efivars
রিটার্নে মাউন্ট করা উচিতnone on /sys/firmware/efi/efivars type efivarfs (rw)
efivar -l
কোনও ত্রুটি ছাড়াই EFI ভেরিয়েবলগুলি তালিকাভুক্ত করা উচিত
কমান্ডটি 82 লাইন এবং কোন ত্রুটি তালিকাভুক্ত করে।- / Sys / ফার্মওয়্যার / efi / efivars / dump- * ফাইলের অস্তিত্বের জন্য পরীক্ষা করুন।
কোনও ডাম্প ফাইল নেই exist
মতে https://ask.fedoraproject.org/en/question/8264/after-installing-fedora-i-cant-open-biosefi-setup/?answer=16402#post-id-16402cat enter-uefi-fw > /sys/firmware/efi/vars/new_var
কমান্ড Fedora- র মধ্যে কাজ করা উচিত 17।
প্রথমে OsIndication মুছে ফেলার উন্নতি হয় না
# rm -rv /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c
removed '/sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c'
# ls -l enter-uefi-fw
-rw-r--r-- 1 root root 2084 Aug 25 20:23 enter-uefi-fw
# cat enter-uefi-fw > /sys/firmware/efi/vars/new_var
cat: write error: Invalid argument
কমান্ড-লাইন থেকে আমি কীভাবে উবুন্টু 14.04 (বিশ্বস্ত) তে ইতিমধ্যে বিদ্যমান ওসিআইডিকেশনগুলি ইফি ভেরিয়েবল আপডেট করব?
-bash: echo: write error: Invalid argument