“Unable to locate valid DTB” hatası nasıl çözülür
Directory Table Base nedir ve reader'ın onu neden bulması gerekir. Ardından DTB hatasının sıralı çözümleri: bellek haritası, sanallaştırma, USB kararlılığı, soğuk başlatma ve en sonda temiz Windows kurulumu.
Kısa cevap
DTB hatası, reader'ın kartınız üzerinden belleği okuduğu ama Windows çekirdeğinin Directory Table Base değerini bulamadığı anlamına gelir. Sırayla ilerleyin: bir bellek haritası üretin, oyun PC'sinin BIOS'unda VT-d/VT-x ya da SVM/IOMMU'yu kapatın, USB kararlılığını kanıtlayın, sonra iki makineye de soğuk başlatma yapın.
Bu sayfada11
- Directory Table Base nedir?
- Reader'ın DTB'ye neden ihtiyacı var?
- DTB hatası kartın bozuk olduğu anlamına mı gelir?
- Hangi neden sizde var, nasıl anlaşılır
- DTB hatası adım adım nasıl çözülür
- Hangi BIOS ayarları, hangi PC'de değiştirilecek
- Launcher'ınızın arkasındaki komut satırı seçenekleri
- DTB'yi elle girmek neden çözüm değil
- Windows'u yeniden kurmak neden en sona kalmalı
- DTB hatası hakkında sık sorulan sorular
- Kaynaklar
Directory Table Base nedir?
Bir Windows makinesindeki her süreç kendi özel sanal adres alanını görür. Sanal bir adresi RAM'deki fiziksel bir adrese çevirmek için bir sayfa tablosu hiyerarşisi gerekir ve bu hiyerarşinin kökü, her süreç için tek bir fiziksel adrestir. x86-64'te işlemci bu adresi CR3 yazmacında tutar, Windows ise her süreç için DirectoryTableBase olarak saklar; herkes bunu kısaca DTB diye anar.
Reader'ın DTB'ye neden ihtiyacı var?
Kartınız PCIe üzerinden sanal belleği değil fiziksel belleği okur, yani RAM'i düz bir bayt dizisi olarak görür ve hangi bölümün hangi sürece ait olduğunu bilmez. Bağlandıktan sonra reader'ın ilk işi, bu dizide çekirdeğin sayfa tablolarına benzeyen bir yapı aramaktır. DTB'yi o yapıdan çıkarır ve o andan itibaren adresleri işlemcinin çevireceği gibi çevirir. Bu adım başarılı olmadan üstündeki hiçbir şey çalışamaz. DTB arızasının her şeyi durdurmasının ve oyuna özgü değil bir başlatma hatası olarak görünmesinin sebebi de budur.
Not
DTB hatası kartın bozuk olduğu anlamına mı gelir?
Hayır, aramanın başarısız olduğu anlamına gelir. Mesajın kendisi USB'nin çalıştığını, PCIe'nin çalıştığını ve baytların geri geldiğini kanıtlar. Tarama ise yanlış baytları, eksik baytları ya da karta ulaşmadan önce yeniden düzenlenmiş baytları okumuştur. Bu üç durumun her birinin kendi nedenleri vardır ve birbirlerinden ayırt edilebilirler.
Hangi neden sizde var, nasıl anlaşılır
Bir şeyleri değiştirmeye başlamadan önce hangi nedenin sizde olduğunu belirleyin, çünkü onları gerçekten ayıran şey test sütunudur.
| Gördüğünüz | En olası neden | Bunu doğrulayan test |
|---|---|---|
| Hiç çalışmamış bir makinede her seferinde, hemen başarısız oluyor | Bellek haritası yok ve reader dokunmaması gereken aralıklara giriyor | Bir bellek haritası üretip yazılıma verin. Hata kayboluyorsa sebep buydu |
| Her seferinde başarısız oluyor ve oyun PC'si bir AMD platformu ya da bağlantı Thunderbolt üzerinden geçiyor | Bu platformlarda geçersiz fiziksel adresleri okumak okuma yolunu öldürüyor, tarama da hiç tamamlanmıyor | Burada bellek haritası fiilen zorunludur. Başka bir şeyi denemeden önce haritayla deneyin |
| Sanallaştırmanın açık bırakıldığı bir makinede her seferinde başarısız oluyor | Intel'de VT-d/VT-x ya da AMD'de SVM/IOMMU, kartın görebildiğini yeniden eşliyor veya kısıtlıyor | Bunları oyun PC'sinin BIOS'unda kapatın, soğuk başlatma yapın, aynı haritayla tekrar deneyin |
| Bazen çalışıyor, bazen çalışmıyor ve adını koyabileceğiniz bir düzen yok | Kararsız USB bağlantısı: yarım okumalar hiçbir şey bulamayan bir tarama üretiyor | Okuma hızı testini iki kez çalıştırın. Birbirinden çok farklı ya da düşük bir rakam cevabınızdır |
| Firmware'in yüklendiği gün bozuldu ve o günden beri hiç çalışmadı | Firmware imajının kendisi | Bu sayfadaki her şey temiz çıktıysa hatanın tam metniyle firmware tedarikçinize dönün |
| Dün çalışıyordu, bugün çalışmıyor ve siz hiçbir şey değiştirmediniz | İki makineden birinde bir Windows güncellemesi ya da takılı kalmış bir kart | Önce iki makineye de tam soğuk başlatma yapın, sonra ikinci PC'deki sürücü sürümünü yeniden kontrol edin |
İlk kurulumlarda iki nedenin bir arada olması sık görülür: harita yok ve sanallaştırma açık bırakılmış. Değişikliklerden hiçbirinin işe yaramadığı sonucuna varmadan önce ikisini de düzeltin.
DTB hatası adım adım nasıl çözülür
Adımlar en ucuz ve en olası çözümle başlıyor. Bir adımı uygulayıp tekrar deneyin, sonra diğerine geçin; dört şeyi birden değiştirirseniz hangisinin işe yaradığını hiç öğrenemezsiniz.
- Bu makinede, bu firmware ile bir bellek haritası üretin ve yazılıma yolunu gösterin. Tek başına en etkili çözüm budur ve ilk kurulumların çoğuna başka bir şey gerekmez
- OYUN PC'sinin BIOS'una girin ve sanallaştırmayı kapatın: Intel'de VT-d ve VT-x, AMD'de SVM Mode ve IOMMU. Kaydedip çıkın ve sistemin bir kez masaüstüne kadar açılmasını bekleyin
- USB bağlantısını kanıtlayın: veri kablosu, kartın veri portu ve ikinci PC'de arka bir USB 3 portu, arada hub ya da dock olmadan. Okuma hızı rakamı iki ölçümde de kararlı kalmalı
- İki makineye de tam soğuk başlatma yapın: tamamen kapatın, sonra fişi çekili ya da güç kaynağının düğmesi kapalı hâlde on saniye bekleyin. Önce oyun PC'sini, sonra ikinci PC'yi açın
- Her donanım değişikliğinden sonra bellek haritasını yeniden üretin: yeni RAM, yeri değişen bir DIMM, kart için başka bir yuva ya da bir BIOS güncellemesi. Eskimiş bir harita artık var olmayan bir yerleşimi anlatır
- Yalnızca yukarıdaki her adım temiz çıktıysa ve hata hiç değişmediyse oyun PC'sine temiz bir Windows kurun. Bu son çaredir, asla ilk adım değil
Hangi BIOS ayarları, hangi PC'de değiştirilecek
Önemli ayarlar ikinci PC'nin değil, OYUN PC'sinin BIOS'undadır. Intel platformlarında bunlar VT-x ve VT-d adını taşır, bazen Intel Virtualization Technology başlığı altında durur; AMD'de ise SVM Mode ve IOMMU olarak geçer. Bazı anakartlarda aynı bölümde DMA protection ya da Kernel DMA Protection gibi ilgili maddeler de bulunur. Ayarları teker teker değiştirin ve ne değiştirdiğinizi yazın, çünkü bir gün bu makineyi eski hâline döndürmek isteyeceksiniz. Bir ayarı bulamıyorsanız menülerde tahmin yürütmek yerine anakart kılavuzunda ayarın tam adını arayın.
Launcher'ınızın arkasındaki komut satırı seçenekleri
Çoğu ürün bu seçenekleri bir launcher'ın içine saklar; seçenekleri bilmek, yazılımınızdaki bir onay kutusunun aslında ne yaptığını gösterir. Buradaki bütün komutlar inceleme ve kurulum işlemleridir.
REM Probe which physical memory ranges are readable, to build a map from
pcileech.exe probe -device fpga
REM Let the tool derive the memory map itself
MemProcFS.exe -device fpga -memmap auto
REM Or pass a map file you generated on this machine
MemProcFS.exe -device fpga -memmap mmap.txt
REM Verbose output, so the failing line is visible instead of guessed at
MemProcFS.exe -device fpga -memmap mmap.txt -v -printf
REM Diagnostic only: supply a known DTB by hand. The value changes every boot
MemProcFS.exe -device fpga -memmap mmap.txt -dtb 0x1ad000Uyarı
DTB'yi elle girmek neden çözüm değil
Elle verdiğiniz bir DTB değeri hatayı ortadan kaldırıyorsa işe yarar bir şey öğrenmişsiniz demektir: sorun okuma yolunda değil taramadaydı. Bu yine de bir çözüm değildir, çünkü Windows bu değeri açılışta seçer ve iki makineden biri yeniden başladığında değer farklı olacaktır. Buna dayanan bir kurulum da her gün bozulur. Elle girişi bir varsayımı doğrulamak için kullanın, sonra taramayı başarısız kılan bellek haritasını ya da BIOS ayarını düzeltin.
Uyarı
Windows'u yeniden kurmak neden en sona kalmalı
Temiz kurulum en sonda gelir, çünkü saatler alır, aynı anda pek çok değişkeni değiştirir ve sık görülen nedenlerin hiçbirini gidermez. Kurulumdan sonra eksik bir bellek haritası hâlâ eksiktir, bir BIOS ayarı hâlâ açıktır, zayıf bir kablo hâlâ zayıftır. Haritayı, BIOS'u, USB yolunu ve düzgün bir soğuk başlatmayı denedikten sonra hatanın metni hâlâ değişmediyse yeniden kurun.
DTB hatası hakkında sık sorulan sorular
Hatadan sonraki sayının bir anlamı var mı?
Evet, çünkü aracın hangi denemesinin başarısız olduğunu gösterir ve böylece nedeni daraltır. Hatayı bildirirken bu sayıyı her zaman ekleyin ve ekran görüntüsü olarak değil metin olarak kopyalayın.
Aynı anakarta sahip birinden bellek haritası kopyalayabilir miyim?
Hayır. Bir harita, tek bir makinenin belirli bir andaki fiziksel bellek yerleşimini, RAM'inin nasıl takıldığı dâhil anlatır. Başkasının haritası en iyi ihtimalle işe yaramaz, en kötü ihtimalle okumalarınızın başarısız olmasının sebebidir.
Sanallaştırmayı ikinci PC'de de kapatmam gerekir mi?
Hayır. Ayar, belleği okunan makinede önemlidir; kendi yazılımınızın belgeleri aksini söylemedikçe ikinci PC'ye dokunmayın.
DTB hatası tespit edildiğimin işareti mi?
Hayır. Bu, ikinci PC'nizdeki reader'ın bir başlatma arızasıdır ve aynı hata, hiç oyun kurulmamış bir makinede de çıkar.
Oyun PC'sini yeniden başlatana kadar çalışıyor, sonra yine bozuluyor. Neden?
Bu tablo eskimiş bir bellek haritasına ya da önceki açılıştan kalan, elle verilmiş bir DTB değerine işaret eder. Haritayı yeniden üretin ve sabit bir DTB vermeyi bırakın.
Kaynaklar
Sıralı çözüm listesi tezgâh çalışmasıdır: ekip DTB taleplerini en ucuz adımdan başlayarak bu sırayla çözüyor.
- 01MemProcFS (Ulf Frisk)
DTB hatasını yazan ve sayfadaki memmap ile dtb bayraklarını alan araç
github.com
- 02
- 03
- 04RAMMap (Sysinternals)
tek bir Windows makinesinde fiziksel bellek aralıklarının nasıl dizildiği — bellek haritasının anlattığı şey de budur
learn.microsoft.com
Sırada ne var
Hâlâ takıldınız mı? Discord'da destek talebi açın
Tüm rehberler