Сначала я попытался поставить систему на винт, подцеплённый к моему ноуту через USB-переходник, но винт, вставленный обратно, отказался запускать систему, показывая только синий экран с ошибкой 7B. Пробовал винду привести к состоянию запуска на любом железе — 7B. Пробовал ставить винду, но винт вставлять в родное железо сразу после копирования файлов, при первой перезагрузке, — даже ставиться дальше не хотело, 7B. Примерно в этот момент я обнаружил, что такими экспериментами убил загрузчик на жёстком своего ноута, так как винда вкатывала загрузчик не на тот винт, на который ставилась, а на первый в списке (что логично, это была моя глупость), и эксперименты со своим ноутом я решил прекратить.
Ещё на прошлом месте работы я узнал, что «семёрку» можно ставить с жёсткого диска на него же, сделав раздел активным. Оттуда же я помнил, что с XP такое не прокатывает. Выход? Делаем из жёсткого загрузочную флешку для установки с неё винды! В принципе, занятие довольно геморройное, но в процессе раскопок я нашёл программку WinToFlash, позволяющую автоматизировать процесс до нескольких кликов. Таким образом на винт я залил винду с кучей вшитых драйверов на контроллеры (во избежание синих экранов с 7B), и через полчаса на несчастном ноуте стояла заветная XP.
Когда я через пару дней зашёл по другим делам в наш сервис-центр, обнаружил целую стопку дисководов, подходящих к тому ноуту, причём работоспособных. Но с ними было бы не так интересно и познавательно.
#9730: А ручка-то — вот она
12:45 15.08.2012, IT happens
Ноут HP с Core i7 на борту греется, как маленький термоядерный реактор. Пришёл с подозрительно плавающим дефектом, был оставлен на run-in тест на выходные.
Утром в понедельник обнаружилась крайне неприятная проблема: в непосредственной близости от системы выхлопа лежала шариковая ручка, которая от потока горячего воздуха весьма обильно потекла. Теперь предстоит отмывать корпус от чернил — опять неслабый расход спирта, опять головная боль, которая неизменно придёт после вдыхания паров…
#9731: Старьё моё
12:15 16.08.2012, IT happens
Понадобилось недавно написать для студента небольшую программу на Паскале. Программа простейшая — переход в графический режим, построение графика функции, вывод таблицы значений. На Windows 7 x64 Паскаль, разумеется, не запустится, да и от версии х86 толку бы не было — там отсутствует возможность работы в графическом режиме.
Итак, попытка номер раз — FreePascal. Пишем привычный код для инициализации графического режима и ожидания нажатия любой клавиши. Оказалось, что это дело во FreePascal организовано более чем интересно: открывается отдельное окно для графики, но все сообщения от клавиатуры принимает другое окно, с консолью. Приложение по нажатии любой клавиши просто так не закрывается, только после ручного переключения на окно консоли. Гугление даёт решение проблемы: собрать программу с ключом APPTYPE: GUI, подключить WinCRT и вызвать ShowWindow. В общем и целом под Borland Pascal это гарантированно не соберётся, а необходима совместимость. Отпадает.
Попытка номер два. Для совместимости со старыми приложениями я использую виртуальную Windows XP. Вот и сейчас на виртуалке стоит новенькая «хрюша» со всеми обновлениями. Копирую весь пакет Turbo Pascal, который предусмотрительно имеется, запускаю bp.exe, открываю исходник, запускаю. Приложение закрывается: отвалился эмулятор ntvdm.exe. Я привык: как Windows XP ни ставь, где-нибудь в конце концов да вылезет глюк, но тем не менее. В ходе экспериментов выяснилось, что отваливается при любой попытке перейти в графический режим, а также просто на запуске turbo.exe. Переустанавливать виртуальную машину на тот момент не было ни времени, ни желания. Решил пойти другим путём.
Итак, попытка номер три. Хвалёный многими DOSBox. Много слышал о нём, но использовать не доводилось. Включаем, монтируем в качестве диска С: папку с Паскалем, запускаем bp.exe, открываем исходик и привычно нажимаем Ctrl+F9. Программа закрывается. Полностью. Путём курения манов устанавливаем, что в DOSBox это сочетание клавиш действительно поставлено на закрытие. Кому пришло в голову назначить для эмулятора такие простые сочетания, когда все они используются многими досовскими программами, неясно, но на то он и опенсорц. Ладно, убираем это сочетание из настроек DOSBox, запускаем — графика работает. Вносим изменения в исходник, чтобы доделать-таки эту несчастную задачу. Вносим… А они не вносятся, ибо Паскаль реагирует только на пробел и на клавиши со стрелками. Закрываем Паскаль, в консоли DOSBox — тот же глюк. Нажатия клавиш Backspace и Del вызывают появление на экране символов из набора DOS. Закрываем DOSBox, открываем, монтируем, запускаем — проблема исчезает, но появляется после следующего запуска написанной программы. В результате отладка идёт именно так: запускаем, выходим, закрываем эмулятор, открываем эмулятор, монтируем, запускаем, пишем…