Реанимация Windows 2000

Вчера установил новые обновления на домашнем компьютере с Windows 2000, но перезагружаться не стал. Утром обнаружил компьютер зависшим, впервые за долгое время. Будет досуг — перепаяю последний оставшийся конденсатор. Но это мелочи. Интереснее то, что после ресета компьютер загружаться отказался, мотивируя проблемой с файлом WINNT\system32\config\system. Насколько я понимаю, это часть реестра. То есть, заменить правильной версией из дистрибутива не получится. Либо исправлять, либо заменять резервной копией.

Ладно, для начала попробовал посмотреть, что там на диске осталось (эх, давно не бэкапился, надо заняться). Загрузился с установочного диска Windows 2000, открыл консоль. dir прочитать содержимое каталогов отказался. Я напрягся. Но вспомнил, что диск-то у меня ого-го какого размера, а Windows 2000 без костылей (SP2, если не путаю) больше 137GB не понимает. Решил не расстраиваться раньше времени, а попробовать получить доступ с помощью Linux, благо установочный диск с RW еще не стер.


Загрузился с CD, выбрал вариант восстановления системы и попросил шелл с установочного диска. Подмонтировал раздел с установленной W2K:

mkdir c
mount -t ntfs /dev/hda1 /c -o force

Ключ force потребовался потому, что mount заявил, что раздел, мол, in use и без письменного приказа ответственность он на себя брать не собирается.

Перешел в нужный каталог (ну почему mc из этого шелла не доступен?), смотрю — файл system есть. Значит, сломался. Из кандидатов в бэкапы рядом только SYSTEM.ALT того же размера, но на пару часов старше. Дай-ка, думаю, по содержимому сравню — а diff-то тоже отсутствует. Ну это уже не по-джентельменски!

Тут мне в голову почему-то засело, что файлы одинаковые и бэкапа у меня нет. Ладно, решил пойти по пути восстановления. Для начала надо погуглить. А доступ в интернет-то домашний комп раздавал, без его сетевухи провайдер ни пакета не даст. Ладно, есть ноутбук и мобильник. Под Linux я этот фокус проделывать пока не умею, так на то и винда в резервации живет (раздел на 5 гигов). Погуглил-таки. Все сошлось на сайте Microsoft и программе ChkReg.exe (Windows 2000 Registry Repair Utility) размером аж 95 килобайт (и это программа от Microsoft!), которую к тому же дают скачать только счастливым обладателям правильных копий Windows.

Запустил чудо программу. А она и говорит человеческим голосом: скачай, старче, 6 загрузочных дискеток Windows XP SP1 и последнюю в дисковод свой вставь. Я мол, ее поправлю так, чтоб восстановление реестра запускалось. Ну ладно, 6 дискеток я и по GPRS скачаю (ужас, 6 раз по целых 1.44 мегабайта!), но куда ж я их вставлять-то буду? Флопик ведь в мертвом компьютере! Вежливо поблагодарив Microsoft за попытку помочь, решил еще раз глянуть на файлы.

Ну и решил от безысходности скопировать system.alt в system. А система возьми, да и загрузись! Вот сделал бы это в первый раз, сэкономил бы времени и GPRS трафика. Зато не узнал бы много нового.


И ведь каждый раз такие приключения, чтоб доступ к файлам получить для восстановления Windows. Родная консоль-то убогая, я уж Hiren’s Boot CD приноровился пользоваться — там NTFSDOS Pro есть, который из-под DOS умеет NTFS читать-писать.

С загрузкой Linux тоже иногда приключения бывают — когда на свободном месте я из-под Windows создал NTFS раздел, Windows, естественно переписала MBR. Загрузившись с Ubuntu CD я восстановил загрузчик (grub), но намного легче не стало — следующий этап загрузки не проходил, потому что ему не удавалось прочитать какой-то файл. Сообщение об ошибке было довольно невразумительное, но удалось нагуглить, что это может быть вызвано поехавшей таблицей разделов и лечится исправлением /etc/mtab и /etc/fstab. К счастью, исправить эти файлы проще, чем добыть саму эту информацию.

Кстати, в /etc/fstab можно указать не имя устройства, а его сигнатуру (UUID), которая не меняется при изменении таблицы разделов, то есть отображение разделов не нарушается. Возможность, насколько я понял, сравнительно новая и, с моей точки зрения, полезная — пока ноутбук обживал и мебель двигал, Linux с (hd0,3) переехал сначала на (hd0,2), а затем на (hd0,1). Windows на (hd0,0) с ужасом ждет следующего перемещения 🙂

29.02.2008  Метки: , ,   Рубрики: Программы

Написать комментарий