হাইপার-ভি সার্ভারে চলমান একটি ভার্চুয়াল মেশিনে Linux CentOS ইনস্টল করার চেষ্টা করার সময় আমি একটি আকর্ষণীয় সমস্যার সম্মুখীন হয়েছিলাম (ভার্চুয়াল মেশিনের ধরনটি ছিল “জেনারেশন 2 UEFI সমর্থন সহ)। আমি CentOS 7 ইনস্টলেশন ফাইল (ISO) ডাউনলোড করেছি, হাইপার-ভিতে একটি নতুন gen2 টাইপ VM তৈরি করেছি, ISO ফাইলটি মাউন্ট করেছি এবং ইনস্টলেশন ISO থেকে VM বুট করার চেষ্টা করেছি। যাইহোক, VM বুট করার সময়, হাইপার-V কনসোলে নিম্নলিখিত ত্রুটি বার্তাটি উপস্থিত হয়েছিল:
SCSI DVD (0,0). The image's hash and certificate are not allowed (DB). No UEFI-compatible file system was found. No operating system was loaded. Press a key to retry the boot sequence…
সমস্যা হল যে হাইপার-ভি ডিফল্টভাবে UEFI ব্যবহার করছে যার জন্য নিরাপদ বুট মোড সক্ষম জেনারেশন 2 ভার্চুয়াল মেশিন। সিকিউর বুট আইএসও ফাইলে একটি অবিশ্বস্ত লিনাক্স বুটলোডার থেকে বুটকে বাধা দেয় (লিনাক্স বুটলোডারটি মাইক্রোসফ্ট দ্বারা স্বাক্ষরিত বা প্রত্যয়িত নয়)।
লিনাক্স ইনস্টলেশন শুরু করতে, আমাকে ভার্চুয়াল মেশিন সেটিংসে সিকিউর বুট অক্ষম করতে হয়েছিল (সেটিংস -> সিকিউরিটি -> বিকল্পটি আনচেক করুন নিরাপদ বুট সক্ষম করুন )।
অথবা আপনি নিরাপদ বুট সক্ষম রেখে যেতে পারেন, তবে Microsoft UEFI সার্টিফিকেট অথরিটি ব্যবহার করুন মাইক্রোসফ্ট উইন্ডোজের পরিবর্তে টেমপ্লেট। মাইক্রোসফ্ট তথ্য অনুসারে, এই টেমপ্লেটটি আপনাকে সিকিউর বুট সামঞ্জস্য মোডে লিনাক্স ডিস্ট্রো চালানোর অনুমতি দেয়৷
আপনার VM পুনরায় চালু করুন এবং CentOS ইনস্টলেশন ISO ইমেজ বা অন্য Linux ডিস্ট্রিবিউশন থেকে এটি আবার বুট করার চেষ্টা করুন (আমি এই পদ্ধতিটি ব্যবহার করে CentOS 8 এবং Ubuntu 19.04 ইনস্টলেশন চালাতে পেরেছি)।
একইভাবে, আপনি PowerShell ব্যবহার করে VM এর নিরাপদ বুট এবং টেমপ্লেট সেটিং পরিচালনা করতে পারেন। আপনি কিভাবে বর্তমান VM ফার্মওয়্যার সেটিংস পেতে পারেন তা এখানে:
Get-VMFirmware -VMName "centos7"
আপনার VM এর জন্য নিরাপদ বুট মোড নিষ্ক্রিয় করতে:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off
বুটলোডার সার্টিফিকেট যাচাইকরণ টেমপ্লেটটিকে বেশিরভাগ লিনাক্স ডিস্ট্রোগুলির সাথে সামঞ্জস্যপূর্ণ একটিতে পরিবর্তন করার জন্য:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot On -SecureBootTemplate "MicrosoftUEFICertificateAuthority"