Konu Başlıkları Gizle
Kendim EndeavourOS + Windows 11 kullanıyorum. Linux'u gündelik olarak, Windows'u ise Valorant vb Anti-cheat kullanan oyunlar için kullanıyorum. Bilen bilir, Windows 10'da Valorant oynamak istenildiğinde Secure Boot kapalı olsa dahi oyun, sorunsuzca açılır. Fakat Windows 11'in kesin Secure Boot politikası ve Riot abimizin dikte etmesi sayesinde tahminimce 3 yıldır Windows 11 ile Secure Boot açılmadan Valorant oynayamıyorsunuz, Vanguard abimiz anında olaya müdahale edip Secure Boot'u açıp tekrar girmenizi isteyen bir uyarı veriyor. Secure Boot'u BIOS'tan açarım keyfime bakarım derseniz de, bu sefer Linux'ta sorun yaşıyorsunuz. Hem GRUB menüsü Secure Boot yüzünden açılmıyor hem de kapalı kaynak NVIDIA sürücüleri(NVIDIA'nın Linux için şahsi olarak çıkardığı), Secure Boot açık olduğunda Linux'ta stabil çalışmıyor. Bende Windows 10'dan Windows 11'e yükseltme yapınca maalesef bu sorun ile baş başa kaldım. 7 saat boyunca sadece bu sorunu düzeltebilmeye uğraştım. İnternet üzerinde kısıtlı, parça parça bilgi olduğundan ve kendi problemimi çözebilmeyi başardığımdan dolayı tüm bu araştırmaları bir bütün olarak rehberimde sunmaya çalıştım. Bu rehberde Secure Boot'un açık olduğu bir sistemde Arch Linux tabanlı bir dağıtımın (örneğin EndeavourOS) sorunsuz şekilde çalışabilmesi için sbctl aracının nasıl kullanılacağını anlatacağım.
Secure Boot'u Arch Linux (EndeavourOS) ile Uyumluluğa Kavuşturma Adımları:
BIOS'ta Secure Boot menüsüne girip şu ayarları yapın:
Örneğin ben MSI'ın BIOS'una sahibim. O yüzden oradan örnek vereceğim. (Farklı üreticilerin, farklı adımları olabilir ancak amacımız aynı.)
BIOS menüsüne girebilmek için Del tuşuna sürekli ardı ardına, BIOS menüsü gelene kadar basıp basıp durmamız gerekiyor. Farklı üreticilerde Del tuşu yerine farklı tuşlar olabiliyor. (F12, F9, vesaire vesaire)
Üstte görmüş olduğunuz, Secure Boot ile ilgili ayarlarımızı yapacağımız yer. Ancak bu haliye işimize yaramayacak. Gizli BIOS'u açmamız gerekiyor, sebebi ise MSI'ın BIOS'unda Setup mode gizli BIOS'a kaldırılmış olması. Benim laptopumun modelinde gizli BIOS'u açmak için Sol ALT + F2 + Sağ CTRL(eğer yoksa Copilot tuşu ile FN tuşuna basacaksınız Sağ CTRL yapabilmek için) + Sağ Shift tuşlarına aynı anda basmamız gerekli. Modelinize göre farklı kombinasyonlar gerekiyor olabilir. En nihayetinde aşağıdaki görseldeki gibi, bir sürü ayarın gelmiş olması gerekiyor.
Burada yapmamız gereken "Key Management"e giriş yapmak. Tabii bunu yapmadan önce "Secure Boot Support"u Enabled haline getirmiş ve standart yerine Custom'ı seçmiş olmalıyız.
(Bazen Secure Boot'u bu adımda açarak ilerlediğimizde, Linux'a giriş yapamayabiliyoruz. Eğer aşağıdaki BIOS adımlarını da tamamladıktan sonra yine de önyükleme sırasında GRUB menüsüne(Linux'a mı yoksa Windows'a mı girmek istediğinizi soran pencere) giremezseniz Secure Boot'u Enabled yapmadan, aşağıdaki BIOS adımlarını uygulayın.)
Ve burasıda Key Management bölümü. Buradan Factory Default Key Provisioning'i Disabled yapıyoruz. Bunu yapmaktaki amacımız, BIOS'u kaydedip çıkınca şifreleme anahtarlarının Fabrika ayarına dönmemesini sağlamak.
Ardından 3 satır aşağısında kalan Reset to Setup Mode'a girerek gelen sorulara Yes dedikten sonra Sonunda Setup Mode'a geçmeyi sağlıyoruz.
Eğer BIOS'tan sistem otomatik çıkılmamış ise, Save All diyerek BIOS'taki adımlarımızı sonlandırıyoruz. GRUB menüsünden Linux'a önyüklüyoruz. Diğer Adımlarda Konsol komutları ile BIOS Sistemimizin Linux'u Secure Boot'ta tanıyabilmesi için bazı ayarlamalar yapacağız.
Eğer şunları görüyorsanız işlem tamamdır:
Ama Setup Mode: Disabled yazıyorsa BIOS'tan tüm Secure Boot anahtarlarını temizlememişsiniz demektir.
Bunun için sırasıyla bu komutları terminal ekranına girin.
-M parametresi Microsoft anahtarlarını da ekler, böylelikle Windows da Secure Boot ile sorunsuz çalışacak.
Ardından tekrar kontrol edin:
Çıktı şöyle olmalı:
Önce imzasız dosyaları listeleyin:
Çıktıda şunlar gibi satırlar görürsünüz:
İmzalama işlemi:
Gerekli diğer EFI dosyalarını da aynı yöntemle imzalayın.
Eğer farklı bir kernel (örneğin Linux-zen) kullanıyorsanız, onun da imzalanması gerektiğini unutmayın. Örneğin:
Ben de bu detayı başta atlamıştım; GRUB menüsü geliyor ama işletim sistemi açılmadan tekrar GRUB'a dönüyorsa, sebebi büyük ihtimalle aktif kullanılan çekirdeğin (vmlinuz-Linux-zen gibi) imzalanmamış olması. Sbctl verify çıktısını dikkatle kontrol edin.
İmzalama sonrasında tekrar kontrol edelim:
Her şey ✔ olarak görünmelidir.
Artık:
Umarım bu rehber, benim yaşadığım sıkıntıları yaşamadan Secure Boot'u zahmetsizce etkinleştirmenize yardımcı olur — beğendiyseniz paylaşmayı, arşivlemeyi ve bir gün lazım olabileceğini unutmamayı ihmal etmeyin!
Secure Boot'u Arch Linux (EndeavourOS) ile Uyumluluğa Kavuşturma Adımları:
1. BIOS Ayarları
BIOS'ta Secure Boot menüsüne girip şu ayarları yapın:
- Tüm mevcut Secure Boot anahtarlarını silin:
- Reset to Setup Mode
- Clear all Secure Boot Keys
Amaç: Setup Mode'un "Enabled" olması. Kısaca Setup Mode'a girebilmek.
Örneğin ben MSI'ın BIOS'una sahibim. O yüzden oradan örnek vereceğim. (Farklı üreticilerin, farklı adımları olabilir ancak amacımız aynı.)
BIOS menüsüne girebilmek için Del tuşuna sürekli ardı ardına, BIOS menüsü gelene kadar basıp basıp durmamız gerekiyor. Farklı üreticilerde Del tuşu yerine farklı tuşlar olabiliyor. (F12, F9, vesaire vesaire)
Üstte görmüş olduğunuz, Secure Boot ile ilgili ayarlarımızı yapacağımız yer. Ancak bu haliye işimize yaramayacak. Gizli BIOS'u açmamız gerekiyor, sebebi ise MSI'ın BIOS'unda Setup mode gizli BIOS'a kaldırılmış olması. Benim laptopumun modelinde gizli BIOS'u açmak için Sol ALT + F2 + Sağ CTRL(eğer yoksa Copilot tuşu ile FN tuşuna basacaksınız Sağ CTRL yapabilmek için) + Sağ Shift tuşlarına aynı anda basmamız gerekli. Modelinize göre farklı kombinasyonlar gerekiyor olabilir. En nihayetinde aşağıdaki görseldeki gibi, bir sürü ayarın gelmiş olması gerekiyor.
Burada yapmamız gereken "Key Management"e giriş yapmak. Tabii bunu yapmadan önce "Secure Boot Support"u Enabled haline getirmiş ve standart yerine Custom'ı seçmiş olmalıyız.
(Bazen Secure Boot'u bu adımda açarak ilerlediğimizde, Linux'a giriş yapamayabiliyoruz. Eğer aşağıdaki BIOS adımlarını da tamamladıktan sonra yine de önyükleme sırasında GRUB menüsüne(Linux'a mı yoksa Windows'a mı girmek istediğinizi soran pencere) giremezseniz Secure Boot'u Enabled yapmadan, aşağıdaki BIOS adımlarını uygulayın.)
Ve burasıda Key Management bölümü. Buradan Factory Default Key Provisioning'i Disabled yapıyoruz. Bunu yapmaktaki amacımız, BIOS'u kaydedip çıkınca şifreleme anahtarlarının Fabrika ayarına dönmemesini sağlamak.
Ardından 3 satır aşağısında kalan Reset to Setup Mode'a girerek gelen sorulara Yes dedikten sonra Sonunda Setup Mode'a geçmeyi sağlıyoruz.
Eğer BIOS'tan sistem otomatik çıkılmamış ise, Save All diyerek BIOS'taki adımlarımızı sonlandırıyoruz. GRUB menüsünden Linux'a önyüklüyoruz. Diğer Adımlarda Konsol komutları ile BIOS Sistemimizin Linux'u Secure Boot'ta tanıyabilmesi için bazı ayarlamalar yapacağız.
2. sbctl Kurulumu ve Ayarlanması
sbctl, kullanıcı dostu ve Arch sistemleriyle birebir çalışan bir Secure Boot yönetim aracıdır.a) Sbctl'yi kurun:
Bash:
sudo pacman -S sbctl
b) Durumu kontrol edin:
Bash:
sbctl status
Eğer şunları görüyorsanız işlem tamamdır:
YAML:
✘ Sbctl is not installed
Setup Mode: ✘ Enabled
Secure Boot: ✘ Disabled
Ama Setup Mode: Disabled yazıyorsa BIOS'tan tüm Secure Boot anahtarlarını temizlememişsiniz demektir.
3. Anahtar Oluşturma ve Enroll Etme
Anahtarlarınızı oluşturup sisteme tanıtın:Bunun için sırasıyla bu komutları terminal ekranına girin.
Bash:
sudo sbctl create-keys
sudo sbctl enroll-keys -m
-M parametresi Microsoft anahtarlarını da ekler, böylelikle Windows da Secure Boot ile sorunsuz çalışacak.
Ardından tekrar kontrol edin:
Bash:
sbctl status
Çıktı şöyle olmalı:
YAML:
✔ Sbctl is installed
Setup Mode: ✔ Disabled
Secure Boot: ✘ Disabled
Owner GUID: xxxxxxxxxx...
4. GRUB'ı Shim Kullanmadan Yeniden Kur (Opsiyonel Ama Önerilir)
Eğer shim kullanmıyorsanız ya da kullanmak istemiyorsanız GRUB'ı aşağıdaki gibi yeniden kurmanız önerilir:
Bash:
sudo grub-install --target=x86_64-efi --efi-directory=/efi/dizini --bootloader-id=EndeavourOS --modules="tpm" --disable-shim-lock
sudo grub-mkconfig -o /boot/grub/grub.cfg
/efi/dizini kısmı sisteminize göre değişir:
Genelde /boot/efi ya da /efi olur. Emin olmak için lsblk veya findmnt /boot/efi ile kontrol edin.
Systemd-boot kullanıyorsanız bu adımı atlayabilirsiniz.
5. Gerekli Dosyaları İmzalama
Şimdi Secure Boot'un önyüklemesine izin vermesi için ilgili EFI dosyalarını imzalıyoruz.Önce imzasız dosyaları listeleyin:
Bash:
sudo sbctl verify
Çıktıda şunlar gibi satırlar görürsünüz:
YAML:
✘ /boot/vmlinuz-linux is not signed
✘ /boot/EFI/BOOT/BOOTX64.EFI is not signed
✘ /boot/EFI/GRUB/grubx64.efi is not signed
İmzalama işlemi:
Bash:
sudo sbctl sign -s /boot/vmlinuz-linux
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI
sudo sbctl sign -s /boot/EFI/GRUB/grubx64.efi
Gerekli diğer EFI dosyalarını da aynı yöntemle imzalayın.
Eğer farklı bir kernel (örneğin Linux-zen) kullanıyorsanız, onun da imzalanması gerektiğini unutmayın. Örneğin:
Bash:
sudo sbctl sign -s /boot/vmlinuz-linux-zen
Ben de bu detayı başta atlamıştım; GRUB menüsü geliyor ama işletim sistemi açılmadan tekrar GRUB'a dönüyorsa, sebebi büyük ihtimalle aktif kullanılan çekirdeğin (vmlinuz-Linux-zen gibi) imzalanmamış olması. Sbctl verify çıktısını dikkatle kontrol edin.
İmzalama sonrasında tekrar kontrol edelim:
Bash:
sudo sbctl verify
Her şey ✔ olarak görünmelidir.
6. Secure Boot'u BIOS'tan Aç ve Yeniden Başlat
Tüm işlemler tamamlandıktan sonra bilgisayarınızı yeniden başlatın. BIOS'a girip Secure Boot'u Enabled yapın.Artık:
- Windows 11'de Valorant açılır,
- Linux açılışta hata vermez,
- NVIDIA sürücüsü çalışır,
- Sbctl otomatik olarak güncellemelerde imzalama yapar.
Ekstra Bilgi:
- Eğer elle çekirdek ya da EFI dosyası ekliyorsanız, sbctl sign -s /dosya/yolu ile manuel imzalama yapmanız gerekir.
- Sbctl her kernel ve Bootloader güncellemesinde otomatik olarak imzalama yapar (paket hook'ları sayesinde).
Umarım bu rehber, benim yaşadığım sıkıntıları yaşamadan Secure Boot'u zahmetsizce etkinleştirmenize yardımcı olur — beğendiyseniz paylaşmayı, arşivlemeyi ve bir gün lazım olabileceğini unutmamayı ihmal etmeyin!