ETAP Akıllı Tahtalarda BIOS Parolası, MAC ve Windows Anahtarı: ETA-112

Pardus ETAP akıllı tahtalarda unutulan BIOS ve hesap parolasını, MAC adresini ve Windows ürün anahtarını tek menüden yöneten açık kaynaklı Linux ve Windows araçları.

ETA-112 ile ETAP akıllı tahtada BIOS yönetici parolasının okunması

Pardus ETAP’lı akıllı tahtası olan her okulda er geç aynı şey yaşanıyor: BIOS yönetici parolası kimsede yok, tahtanın hesap parolası unutulmuş, Windows kurulacak ama ürün anahtarı nerede belli değil. Bunlar için tahtayı servise göndermek ya da anakarttaki çipi sökmek gerekmiyor. ETA-112 (Linux) ve eta-112-win (Windows) bu işleri tek bir menüden, birkaç tuşla yapıyor.

ETA-112 aracının Pardus ETAP terminalinde açılan ana menüsü

Ne işe yarıyor?

  • Kullanıcı hesabı parolası unutulduysa kurulu sistemdeki hesabın parolasını sıfırlıyor, yeni parolanın tuttuğunu doğruluyor.
  • BIOS parolası bilinmiyorsa yönetici ve kullanıcı parolasını okuyor; istenirse yenisini ayarlıyor ya da temizliyor.
  • Ağ kartının MAC adresi değişmiş ya da silinmişse okuyup doğruluyor, gerekirse yeniden yazıyor.
  • Windows ürün anahtarı BIOS’a gömülü; okuyor, gerekirse değiştiriyor. Windows kurulunca tahta bu anahtarla kendiliğinden etkinleşiyor.
  • Dokunmatik ekran kayıyor ya da yanlış noktaya basıyorsa, sürücü sürümlerini sırayla deneyip sorunu çözeni buluyor.

Desteklenen donanımlar Faz 1 Vestel Intel (14MB24A), Faz 2 Vestel AMD (14MB37C1) ve Faz 2 Vestel Intel (14MB57). Bunlar bugün sahadaki ETAP tahtalarının yarısından fazlasını kapsıyor.

Linux: tek satır, menüden seçin

Tahtada ya da USB’den açılan canlı ortamda terminale tek komut yapıştırmak yetiyor, kurulum yok. Açılan menüde ok tuşlarıyla gezip Enter’a basıyorsunuz. Örneğin BIOS parolasını okumak şöyle görünüyor:

ETA-112 ile ETAP akıllı tahtada BIOS yönetici parolasının okunması

Windows: PowerShell’e yapıştırın

Tahtada Windows kuruluysa aynı işler için Windows sürümü var. Yönetici olarak açılmış bir PowerShell’e tek satır yapıştırınca Python’u kuruyor, aracı indiriyor, menüyü açıyor.

eta-112-win aracının Windows PowerShell üzerindeki BIOS EEPROM menüsü

Aracı nereden çalıştırmalı?

Burada ikiye ayırmak gerekiyor, çünkü iki iş birbirinden farklı yerde yapılıyor.

BIOS parolası, MAC ve Windows anahtarı anakarttaki yongada duruyor. Bunları okumak ya da değiştirmek için tahtadaki sistemin parolasını bilmenize gerek yok; aracı çalıştırdığınız ortam yeterli.

Kullanıcı hesabı parolası ise diskteki kurulumun içinde. Burada tavuk-yumurta durumu var: parola unutulduğu için zaten oturum açılamıyor, dolayısıyla aracı o sistemin içinden çalıştırmak mümkün değil.

Çözüm, tahtayı kendi diskinden değil, dışarıdan açmak. En kolayı Pardus ETAP ISO’sunu bir USB belleğe yazıp tahtayı o bellekten başlatmak ve kurulum yapmadan “canlı deneyin” seçeneğiyle açmak. Bu kip diske hiçbir şey yazmaz; USB’yi çıkarıp yeniden başlattığınızda tahta eski haliyle açılır. Canlı ortamda terminali açıp yazının başındaki tek satırlık komutu çalıştırıyorsunuz. Araç diskteki kurulumları kendisi buluyor, birden fazla varsa hangisi üzerinde çalışacağını soruyor.

Özetle: sisteme girebiliyorsanız aracı doğrudan tahtanın üzerinde çalıştırın. Giremiyorsanız USB’den canlı açılış yapın. EEPROM tarafındaki işlevler her iki durumda da çalışır.

Söylemeye gerek yok ama yazayım: bunlar kendi sorumluluğunuzdaki cihazlar için. Okulun ya da kurumun zimmetinde olmayan bir tahtada işiniz yok.

Bağlantılar

İki araç da ücretsiz ve açık kaynak (GPL-3.0). Kurulum ve kullanım ayrıntıları GitHub sayfalarında:

Perde arkası

Bu projeler benim için kolay olmadı. Yapay zekanın yardımıyla onlarca saat harcadım, milyonlarca token yaktım. Üç ayrı platform için onlarca kez EEPROM’u brick ettim ve her seferinde çipi anakarttan söküp elle programlamam gerekti. Aşağıdakiler merak edenler için ince ayrıntılar.

Meraklısına teknik notlar (açmak için tıklayın)

Linux daha rahat. Linux tarafında araçlar çok daha gelişmiş ve esnek, geliştirmesi de Windows’a göre kolay oldu. SPI flash’a erişim için hazır ve olgun araçlar var.

Windows’ta ring 0 gerekiyor. BIOS EEPROM’una yazmak çekirdek kipinde (ring 0) erişim istiyor. Bunun için kendi sürücümü imzalayıp açılışta yüklemem gerekti. Test imzalama açık olmalı ve Secure Boot kapalı kalmalı.

Erişim yöntemini ve adresleri baştan kurmam gerekti. Aynı donanıma Linux’tan ve Windows’tan bakınca flash’a ulaşmanın yolu da adresleme de farklı. AMD kartlarda ROM, belleğin en üstüne (8 MiB için 0xFF800000) bellek-haritalı pencere olarak eşleniyor ve Windows’ta oradan okuyorum. Intel kartlarda ise BIOS bölgesinin tabanını flash descriptor’dan okumak gerekiyor; Linux’taki bölge-göreli ofsetler Windows’ta tam çipe göre mutlak ofsetlere çevrilmek zorunda kaldı. Bunu yanlış yaparsanız parola “güncel” yerine “önceki” parola olarak çıkıyor, ya da yazma yanlış yere gidiyor.

Okuma güvenli. Okuma işlemi (örneğin BIOS parolasını öğrenmek) EEPROM’u brick etmez; flash’a hiçbir şey yazmaz.

Yazmada tahtayı önce tanıyorum. Platform teyidini sıkı tuttum. Tahtanın kimliğini USB dokunmatik panelin vendor ID’sine bakarak çıkarmıyorum. Doğrudan SMBIOS alanından okuyorum (Linux’ta dmidecode, Windows’ta aynı tabloyu sistemden ham okuyorum). Ulusal ETAP veritabanında herkese açık olan kart dizeleri bunlar: Faz 1 Intel için 14MB24A, Faz 2 AMD için 14MB37C1, Faz 2 Intel için 14MB57. Kart bunlardan biri değilse araç yazmıyor, “DESTEKLENMİYOR” deyip çıkıyor. Yazılan her bölge geri okunup doğrulanıyor. Kart kimliği dokunmatik panele değil anakartın kendisine bağlı olduğu için, OPS’i dışarıda bir JAE board’una bağlayarak bile kullanabilirsiniz.

Dürüst not: Windows sürümünde Faz 2 Intel için okuma ve yazma, Faz 2 AMD için okuma gerçek donanımda doğrulandı. Faz 1 Intel aynı mekanizmayı kullanıyor ama Windows’ta sınanmadı.

Küçük bir ricam var: araç işinizi gördüyse GitHub’da yıldız bırakın. Yıldız sayısının bana bir getirisi yok ama aynı sorunu yaşayan başka birinin depoyu bulmasını kolaylaştırıyor. Bir de, açıkçası, onca saatin birilerinin işine yaradığını görmek güzel oluyor.

Sorunuz ya da bulduğunuz hata olursa GitHub sayfalarından yazabilirsiniz.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.