Максимальний розмір реєстру обмежений 102MB але не встановлено явно, проте це можна змінити.
Розмір реєстру (максимальний) контролюється субключомHKEY_LOCAL_MACHINE \ SYSTEM \
CurrentControlSet \ Control \ RegistrySizeLimit.
За замовчуванням його не існує, але це легко виправити:
- запускаємо regedit.exe
- вперед в
HKEY_LOCAL_MACHINE \ SYSTEM \
CurrentControlSet \ Control. - У меню Edit, вибираємо New - тип Dword, ім'я RegistrySizeLimit
- Дабл клік і вводимо значення
Мінімальне значення 4MB, і навіть якщо фактично менше (ну немає стількох записів) значення буде примусово збільшено до 4MB. Максимальне значення це 80% від "paged pool" (максимальний розмір якого 128MB, значить 102MB це 80% від 128MB). Коли значення не встановлено, то максимальний розмір обмежений 25% від "paged pool". Ну а "paged pool" це область фізичної пам'яті, яка використовується для даних системи, які можуть бути вивантажені на диск, коли не вони не використовуються.
Пам'ятайте, що RegistrySizeLimit це максимум, а не виділення, і установка більш високого значення, ніж 102Мб НЕ резервує розмір і не гарантує досягнення такого розміру.
Це можна все зробити з меню System в Control Panel. клікніть на Performance і максимальний розмір реєстру м.б. встановлений в закладці Швидкодія> Змінити (не забудьте перевантажитися після всіх цих пригод. Якщо не страшно ..)
Подальша інформація в MS Knowledge Base Article Q124594
Купа інших проблем, з цим реєстром. На самому початку завантаження NTLDR завантажує якийсь програмний код, розподіляє пам'ять і читає частини реєстру. І все це д.б.н. завантажено в перші 16MB пам'яті незалежно від того, скільки її у вас встановлено. Вміст системних файлів зчитується і все, що записано всередині цих файлів, впихати в пам'ять, незалежно від того що там записано і використовується.
Самі проблеми:- У реєстрі міститься купа порожнього простору (іноді жахливо багато). Спробуйте зберегти SYSTEM key з REGEDT32 і порівняйте з тим що зберігається в \% systemroot% \ system32 \ config \. У мене ця операція зменшила SYSTEM з 1,33 MB до 916 KB.
- Створення LastKnownGood ControlSet (обично002) після завантаження майже подвоює розмір файлу. І тут може виникнути якась ситуація коли порожній простір додається до об'єднаних Current і LastKnownGood SYSTEM вулика. Після чергової перезавантаження це призводить до додавання наступної LastKnownGood до кінця файлу, що влаштовує вже справжній розмір і може привести до краху системи (коли точніше з'ясую, я опишу її, але вона точно може виникнути, тут може ховатися причина несподіваного траха ... ой ... краху системи ).
- Якщо FAT, просто завантажитися з DOS дискетки, і замінити SYSTEM file на збережений.
- Якщо NTFS, завантажити іншу NT (її ще й встановити треба) ну і те ж саме.
- Використовувати REGBACK / REGREST з NT ресурс кита (мабуть найкращий спосіб).
- Попередньо RDISK, після shutdown (якщо раніше сама не зробила), і відновити (repair) system
- Використовувати ERD.
Для поправки цієї біди можна заздалегідь з REGEDT32 вставити "ReportBootOk: REG_SZ: 0" в
HKEY_Local_Machine \ SOFTWARE \
Microsoft \ WindowsNT \ CurrentVersion \ Winlogon.
Це позбавить від створення LastKnownGood ControlSet (ну і можливості даного виду т ... краху). Якщо синій екранчик досягнутий перевищенням цих горезвісних 16MB при роботі NTLDR, то ніякої дамп не проводиться і "MS вам не допоможе". Ця проблема з 16 MB буде вирішена в NT 5 (напевно виникне проблема 32. мда.)