Hyper-V সার্ভারে চলমান একটি ভার্চুয়াল মেশিনে Linux CentOS ইনস্টল করার চেষ্টা করার সময় একটি আকর্ষণীয় সমস্যার সম্মুখীন হয়েছি (ভার্চুয়াল মেশিনের ধরন ছিল “Generation 2” UEFI সাপোর্ট সহ)। আমি CentOS 7 ইনস্টলেশন ফাইল (ISO) ডাউনলোড করেছিলাম, Hyper-V-এ নতুন gen2 টাইপ VM তৈরি করেছিলাম, ISO ফাইল মাউন্ট করেছিলাম এবং ইনস্টলেশন ISO থেকে VM বুট করার চেষ্টা করেছিলাম। কিন্তু VM বুট করার সময় Hyper-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…

সমস্যাটি হল Hyper-V ডিফল্টভাবে তার Generation 2 ভার্চুয়াল মেশিনের জন্য UEFI-এর সাথে Secure Boot মোড সক্রিয় করে রাখে। Secure Boot ISO ফাইলে অবিশ্বস্ত Linux বুটলোডার থেকে বুট রোধ করে (Linux বুটলোডার Microsoft দ্বারা স্বাক্ষরিত বা সার্টিফাইড নয়)।
Linux ইনস্টলেশন শুরু করতে, আমাকে ভার্চুয়াল মেশিন সেটিংসে Secure Boot নিষ্ক্রিয় করতে পড়ল (Settings → Security → Enable Secure Boot অপশনটি আনচেক করুন)।
অথবা আপনি Secure Boot সক্রিয় রেখে Microsoft UEFI Certificate Authority টেমপ্লেট ব্যবহার করতে পারেন Microsoft Windows টেমপ্লেটের পরিবর্তে। Microsoft-এর তথ্য অনুযায়ী, এই টেমপ্লেট আপনাকে Secure Boot কম্প্যাটিবিলিটি মোডে Linux ডিস্ট্রো চালাতে দেয়।

আপনার VM রিস্টার্ট করুন এবং আবার CentOS ইনস্টলেশন ISO ইমেজ বা অন্য Linux ডিস্ট্রিবিউশন (আমি এই পদ্ধতিতে CentOS 8 এবং Ubuntu 19.04 ইনস্টলেশন চালাতে পারলাম) থেকে বুট করার চেষ্টা করুন।
একইভাবে, আপনি PowerShell ব্যবহার করে VM-এর Secure Boot এবং টেমপ্লেট সেটিংস পরিচালনা করতে পারেন। এখানে কিভাবে আপনি বর্তমান VM ফার্মওয়্যার সেটিংস পেতে পারেন:
Get-VMFirmware -VMName "centos7"

আপনার VM-এর জন্য Secure Boot মোড নিষ্ক্রিয় করতে:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot Off
বেশিরভাগ Linux ডিস্ট্রোর সাথে সुसঙ্গত বুটলোডার সার্টিফিকেট ভ্যালিডেশন টেমপ্লেটে পরিবর্তন করতে:
Set-VMFirmware -VMName "centos7" -EnableSecureBoot On -SecureBootTemplate "MicrosoftUEFICertificateAuthority"