Bunun bir sorun haline geldiği nokta ise, küçük bellek haritaları olan veya çok fazla aygıt barındıran cihazlarda bunun tanıtılması zorlaşmakta. Kısaca: Çekirdeğin çalışması için yer vardır, ancak bu yer çekirdeğin sığacağı kadar büyük değildir. Bunun içinde Slide = xxx komutu kullanarak MacOS'un her önyüklemede çalışacak rastgele bir alan seçmesine izin vermek yerine, çekirdeğin sorunsuzca sığacağı bir yer ayarlayıp sorunsuzca boot etmesini sağlayacağız.
Yukarıda da bahsettiğim üzere, bu sorunu yaşarsanız genelde önyükleme yaparken buna benzer bir hatayla karşılaşırsınız:
Kod:
Error allocating 0x1197b pages at 0x0000000017a80000 alloc type 2
Couldn't allocate runtime area
Kod:
Only 244/256 slide values are usable!
Kod:
panic(cpu 6 caller 0xffffff801fc057ba): a freed zone element has been modified in zone kalloc.4096: expected 0x3f00116dbe8a46f6 but found 0x3f00116d00000000
Genel olarak bunun için AptioFix dosyaları kullanılması yeterli olabiliyor:
- AptioMemoryFix.efi
- OsxAptioFix3Drv.efi
- OsxAptioFixDrv.efi
- OsxAptioFix2Drv-free2000.efi (Bu en son kullanılmalı)
bütün aptiofix dosyaları.zip
Gerekenler
- Clover kullanıcıları:
- AptioMemoryFix ( Aptiofix'leri beraber kullanmayın. Yine aynı şekilde OsxAptioFixDrvX kullanmayın. Zira bu rehber için geçerli olan Aptiomemoryfix)
- Clover Shell (çoğu kullanıcının EFI / CLOVER / Tools için de bu zaten bulunmakta. Genellikle shell64.efi veya bazı varyasyonlarıdır)
- OpenCore Kullanıcıları:
- FwRuntimeServices
- OpenCoreShell ( Root->Misc->Tools altında bunu aktif etmeyi unutmayın)
- Open Core- Config.plist ayarları:
- AvoidRuntimeDefrag: UEFI runtime servislerini düzeltir. Tarih, saat, NVRAM vs.
- DevirtualiseMmio: Stolen Memory değerini azaltır. Böylece slayt değerleri için daha fazla seçenek sunulur.
- DisableVariableWrite: NVRAM'i nvram.plist'e yönlendirir. NVRAM desteklemeyen bAzı sistemler için bu gereklidir.
(B360, B365, H310, H370, Q370, Z390).
Ve C612, X79, X99, X299 gibi sistemlerde buna ihtiyaç duyar. - EnableSafeModeSlide: Slide'ı güven'i modda kullanmanıza olanak sağlar. BU sayede farklı sorunlar yaşadığınızda bu yine aktif olarak çalışır.
- EnableWriteUnprotector: Ürün yazılımının kilitlediği belirli alanlara, özellikle CR0 kaydına yazmamızı sağlar.
- ProvideCustomSlide: Herhangi bir gerçek iş yapmak için buna ihtiyaç var.
- SetupVirtualMap: MacOS ile bellek haritanız arasında daha fazla destek ve daha az güvenli yazma olasılığı için bir katman oluşturur
- ShrinkMemoryMap: X99 ve X299 platformları ve bazen Z390 için çok kullanışlı olan çok büyük bellek haritalarıyla ilgili sorunları giderir.
BIOS Ayarları
Yapacağımız ayarların sebebi bellek haritasını sıfırlayarak daha belirleyici olmasını sağlamak, gereksiz aygıtları kapatmak ve ön yüklemede daha az varyasyon oluşturması amaçlamak.. Bu sayede daha az sorun alınması sağlanabilir.
- BIOS güncel olduğundan emin olun. Özellikle Z390 gibi erken üretim kartlarda bellek haritası sorunu çok sıklıkla karşılaşılmakta. BU yüzden BIOS'un güncel olması önemli.
- Clear CMOS yapın.
- BIOS içinde yapılması gerekli ayarlar:
- Above4GDecoding: Bu, cihazların 4GB üzerindeki bellek bölgelerini kullanmasına izin verir, yani macOS'un sığması için daha fazla alan olacaktır, Ancak bu ayar bazı X99, X299'da sorunlu olabilir ve bu nedenl kafi ve devre dışı olarak denenmesi önerilir.
- Boot Options -> Windows8.1/10 mode: Bu eski sistemlerin yüklenmesine engel olur. Ek bilgi. Other OS seçeneği sadece eski Windows sürümlerinin kurulmasına izin veren bir ayardır. Farklı mimariye sahip işletim sistemleri için bir ayar değildir.
- BIOS içinde gerekmeyen aygıtları devre dışı bırakın (Bunun faydası bu, her önyüklemede haritada daha az değişiklik olacağı için önyüklemede daha az sorunla karşılaşılır).
- CSM: Legacy desteği içindir ancak bununla gereksiz bir çok data eklenir. O yüzden bunu devre dışı bırakın.
- Intel SGX: Software Guard Uzantıları, çok fazla yer kaplar ve macOS'ta gereksizdir.
- Parallel Port: BU da macOS ile gerekli değil.
- Serial Port: Buda devre dışı olsun.
- IGPU: GErekmedikçe kullanmayın.
- Thunderbolt: Çoğu Hackintosh üzerinde bu aygıt tanıtmak sorunlu. Eğer kullanmıyorsanız devre dışı bırakın.
- Led Lighting: Devre dışı bırakın.
- Legacy USB: Devre dışı bırakın.
SLIDE Değerini bulmak:
Kendimize uygun Slide değerini ayarlayabilmemiz için sistemi EFI Shell ile boot edip
memmap komutunu kullanıp bütün sayfaların ve bunların boyutlarının listelendiği raporu çıkartacağız.Bunun içinde Clover Boot Menü içinde klavyeden sağ sol tuşlarını kullanıp alttaki seçeneklerden EFI shell mode seçip boot edin. Eğer bunu seçtikten sonra sadece boş bir sayfa görürseniz aşağıda verdiğim driver'ı EFI / CLOVER / Drivers / UEFI içine koyup tekrar deneyin.
EnglishDxe.efi.zip
Şimdi EFI shell içinde
memmap komutunu kullandıktan sonra size şu şekilde bir liste sunulacaktır.Type | Start | End | # Pages | Attributes |
|---|---|---|---|---|
RT_Data | 0000000000000000 | 0000000000000FFF | 0000000000000001 | 800000000000000F |
Available | 0000000000001000 | 0000000000057FFF | 0000000000000057 | 000000000000000F |
Reserved | 0000000000058000 | 0000000000058FFF | 0000000000000001 | 000000000000000F |
Available | 0000000000059000 | 000000000008FFFF | 0000000000000037 | 000000000000000F |
RT_Code | 0000000000090000 | 0000000000090FFF | 0000000000000001 | 800000000000000F |
Available | 0000000000091000 | 000000000009DFFF | 000000000000000D | 000000000000000F |
Reserved | 000000000009E000 | 000000000009FFFF | 0000000000000002 | 000000000000000F |
Available | 0000000000100000 | 000000005B635FFF | 000000000005B536 | 000000000000000F |
BS_Data | 000000005B636000 | 000000005B675FFF | 0000000000000040 | 000000000000000F |
Available | 000000005B676000 | 000000006AF77FFF | 000000000000F902 | 000000000000000F |
LoaderCode | 000000006AF78000 | 000000006B155FFF | 00000000000001DE | 000000000000000F |
BS_Data | 000000006B156000 | 000000006B523FFF | 00000000000003CE | 000000000000000F |
ACPI_NVS | 000000006B524000 | 000000006B524FFF | 0000000000000001 | 000000000000000F |
BS_Data | 000000006B526000 | 000000006B625FFF | 0000000000000100 | 000000000000000F |
Available | 000000006B626000 | 000000006B634FFF | 000000000000000F | 000000000000000F |
Burada yapacağımız işlemler oldukça kolay. Bizim ilgilendiğimiz Start sütunundaki en büyük Available değerini hesap makinesi kullanarak ondalık değere dönüştürüceğiz.
Şimdi macOS Hesap Makinesi açın ve ⌘+3 ile programcı moduna alın.
Örnek olarak yukarıda en büyük değer 000000006B626000 olarak görünüyor. Bunu hesap makinesine kopyalarsak bu şekilde görünecek.
Şimdi kullanacağımız formül şu:
- 000000006B626000 - 0x100000 =0x6B526000 / 0x200000 = 0x35A
- Ve bunun doğru olduğunu doğrulamak için sağlamasında:
0x100000 + (0x35A * 0x200000) = 0x6B500000
Çıkan bu sonucu daha sonra ondalık yapmak için hesap makinesinde 10 seçeceğini seçtiğinizde istediğimiz ondalık slide değerini görebilirsiniz. Bu da 858 olacak.
Ancak benim bu verdiğim örnekte slide değeri çok büyük ve Above4gdecoding içeren sektörler bu değerleri kullanamaz. Slide değeri için kullanılabilecek maksimum değer 255 olmalıdır. Bu yüzden tekrar tabloya dönmeli ve available içeren start sütünü altından diğer değerleri hesaplayıp bize en küçük değeri vereni bulmalıyız.
Bizim için bu tabloda kullanacağımız değer 0000000000100000 olur.
Formülü tekrar açıklamak gerekirse:
- (HEX - 0x100000)/0x200000 = HEX olarak Slide değeri
- 0x100000 + ( HEX olarak Slide değeri * 0x200000) = Orijinal Slide değeri ( Eğer sağlamada farklı çıkarsa değere +1 ekleyin)
Kimi zaman slide değeri hesaplaması yapıldığında slide değeri slide=-0.379150390625 gibi ufak bir değer çıkabilir. Bu durumda slide=0 olarak girilmesi gerekir.
Not: EFU Shell içinde memmap sonucunu text edit olarak kaydetmek isterseniz aşağıdaki komutları EFI Shell içinde sıra ile girin.
Kod:
shell> fs0: //FSO yerine uygun sürücü girin.
fs0:\> dir //bunun doğru dizin olduğunu doğrulayın.
Directory of fs0:\
01/01/01 3:30p EFI
fs0:\> memmap > memmap.txt
Ekli dosyalar
-
2.6 KB Görüntüleme: 874
-
45 KB Görüntüleme: 1,175
Son düzenleme:
- BootLoader
- OpenCore 0.6.4
- Anakart Modeli
- Asus Z170 Deluxe
- İşlemci Modeli
- Intel i7 6700K
- Grafik Kartı
- 8 GB Sapphire RX 580 & HD 530
- Ses Kartı Modeli
- ALC 1150
- Ağ Aygıtları
- Broadcom BCM43xx - I211 Gigabit Ethernet
- Disk ve RAM
- 500GB NVMe & 32 GB DDR4