Вызов
В пятнадцать лет у меня уже было небольшое неофициальное дело — ремонт компьютеров по звонку, выезд на дом, оплата на месте. Компьютер клиента вёл себя странно, сказал он по телефону. Я слышал такую фразу уже сотню раз.
Я приехал уверенным, с сумкой софта. Отвёртки не взял — не думал, что понадобится. Windows сбоил, выдавал ошибки, зависал в случайные моменты. Для меня на тот момент такая картина означала одно.
Вирусы. Грязная система. Очевидный вывод — и тот, который я до этого делал правильно десятки раз.
Первая попытка
Я снёс диск и переустановил Windows набело. Пятнадцать минут работы, машина загрузилась чисто, всё выглядело нормально. Я взял деньги, попрощался и ушёл так же, как уходил всегда — уверенный в диагнозе, уверенный, что задача закрыта.
Через пятнадцать минут зазвонил телефон. Тот же компьютер. Та же проблема.
Первая мысль была не «мой диагноз неверен». Она была: клиент, видимо, сразу же куда-то не туда потыкал. Такое бывает. Переустановил Windows — и тут же открыл тот самый файл, который всё сломал в первый раз.
Вирусы / повреждённая система
Симптомы совпадали с картиной, которую я видел и решал много раз. Решение быстрое, дешёвое и почти всегда верное.
Провал после успеха
Я вернулся и переустановил Windows второй раз — на этот раз честно предупредив клиента: если повторится ещё раз, дело не в софте, и мне придётся забрать компьютер с собой. У меня в тот день даже отвёртки не было — все мои инструменты жили на флешке.
Расследование
Третий звонок, та же неисправность. Я забрал компьютер к себе. На моём столе он тоже падал — но с другой ошибкой, похожей на ту, что была у клиента, но не идентичной. Достаточно похожей, чтобы всё ещё пахнуть железом, а не привычкой.
Я заподозрил диск. Windows на нём не раз не грузилась чисто, а умирающий диск даёт именно такую нестабильную, плавающую ошибку. Я заменил диск, переустановил систему и гонял компьютер два-три дня без остановки. Чисто. Ни одного сбоя.
Отвёз обратно после обеда. При мне всё работало. Через три часа, вечером, снова зазвонил телефон.
Долгая дорога
К этому моменту я подозревал материнскую плату — а это значит, на практике, замену платы, блока питания и видеокарты разом. Клиенту дискретная видеокарта была не нужна — хватило бы встроенной графики новой платы. Старый корпус, новая начинка.
Ничего из этого не продавалось у нас. Ближайший город, где можно было купить нормальные детали, — в 200 километрах.
Я собрал машину той же ночью, переустановил Windows ещё раз и пользовался компьютером сам — это был единственный компьютер в квартире брата, где я тогда жил. Я гонял его больше недели, прежде чем доверился ему достаточно, чтобы везти обратно.
Я привёз собранный заново компьютер. При мне всё работало. Я ушёл. Через десять минут зазвонил телефон. Я буквально не поверил своим ушам.
Кнопка включения.
Каждый внутренний компонент в этом корпусе был новым — половину, по иронии, я забрал себе и собрал из неё свой компьютер. Единственная деталь, которую никто не додумался заподозрить, — это физическая кнопка на передней панели корпуса. Она врала всё это время, и каждый мой диагноз молча предполагал, что кнопке можно доверять.
Чему это научило
Любой диагноз стоит на непроверенных допущениях. Мой предполагал, что кнопка — это просто провод, а провод не врёт.
Повторяющийся симптом — не доказательство повторяющейся причины. Четыре разных решения дали один и тот же сбой по четырём разным причинам — кроме одной, которая вовсе не была отдельной причиной, а той же неисправностью в другой одежде.
Иногда решение — не в правильной детали, а в том, чтобы полностью убрать точку отказа из цепи. Клиент больше никогда не трогал эту кнопку.
Я провозился с этим одним компьютером, с перерывами, около месяца — дольше любой другой работы до этого. Именно поэтому я до сих пор не до конца доверяю первому диагнозу, и этот урок сопровождает меня в любой отладке с тех пор, включая аппаратную работу, которой я занимаюсь сейчас: плавающий вход на контроллере ретранслятора на бумаге выглядит точь-в-точь как программный баг — пока не приложишь к нему мультиметр.
— Дмитрий, WH6HIS