Подумайте над цим: Memtest86 потрібно зберігати інформацію про те, наскільки велика оперативна пам’ять, що вона вводить в оперативну пам'ять, щоб порівняти пізніше, де оновити екран, і багато іншого. Акт використання змінної вимагає належної роботи ОЗУ. Але як можна отримати надійні результати при запуску програми на можливо несправній ОЗУ?
Ну, це робить Memtest - він записує різні (відомі) зразки у вашу ОЗУ, читає їх назад і порівнює. Якщо відбувається невідповідність, оперативна пам’ять повинна бути пошкоджена.
Аналогією цьому є запуск програми перевірки жорсткого диска з жорсткого диска, на який перевіряється. Ви ніколи цього не зробите, поганий блок може вплинути на програму безліччю несподіваних способів
Хоча це правда, є деякі випадки, коли у вас немає вибору. Поки ви можете успішно завантажити програму, вона повинна мати можливість виконувати її діагностичні завдання (навіть якщо вона працює на якомусь несправному носії).
Як працює Memtest86 при поганій оперативній пам’яті?
Ну, спочатку треба завантажити себе в пам'ять. У більшості випадків ця пам’ять все одно буде хорошою. У випадку, якщо його немає , Memtest, швидше за все, визначить, що сама програма пошкоджена шляхом порівняння деяких змінних на місці з контрольною сумою. У випадку, якщо вони не збігаються, ви одразу знаєте, що або ваша оперативна пам’ять погана, або завантажена вами копія (це було б тривіальним завданням визначити, чи є останнім причиною чи ні).
TL, DR: Memtest86 + працює лише за умови, що перший мегабайт оперативної пам’яті все ще добре (місце, де воно буде завантажено, швидше за все). Якщо припустити, що ця область пошкоджена, сам Memtest86 + просто не функціонує (що є досить швидким показником, що ваша ОЗУ погана, навіть не запускаючи тести).