http://win-da.by.ru/faq/faq_soft/faq_soft_01.shtml (версия для печати) Четверг, 4 августа, 2011 г.
Главная > FAQ > Софт Назад  

FAQ

Софт

На этой странице:

Восстановление отсутствующего файла (XP)

Допустим, при загрузке системы появляется сообщение: «не найден файл c:\windows\system32\..., переустановите... или нажмите R для востановления поврежденного файла».

При нажатии на клавишу <R> загрузится «Консоль восстановления», в дальнейшем Вам понадобится дистрибутив «Windows». Пусть, например, системе для полного счастья не хватает файла [c:\windows\system32/junk.dll]. Тогда просто распаковываем из дистрибутива этот файл, для чего набираем в командной строке:

[expand <путь к дистрибутиву>\i386/junk.dl_ c:\windows\system32\junk.dll].

Но это при условии, что файл этот «родной» для системы и лежит в дистрибутиве «в чистом виде». Если лежит он в CAB-архиве вместе с тысячей других файлов, скажем, в «driver.cab», то извлечь его можно так:

[expand driver.cab /f:junkdll]

а посмотреть содержимое CAB-архива «driver.cab» так:

[expand /d driver.cab].

Есть еще один простой путь - взять файл у знакомого, при условии, что у него стоит та же операционная система с тем же сервис-паком (и, желательно, с того же дистрибутива). Тогда все просто:

[copy a:\junk.dll c:\windows\system32\junk.dll].

Если отсутствующий файл не «родной», а часть эксклюзивного драйвера Вашего железа или динамическая библиотека программы, загружающейся до старта системы, то искать и извлекать их стоит из дистрибутивов этих драйверов и программ.

Наверх

Восстановление файла «boot.ini» (XP)

Если Вы не в курсе, для чего нужен этот файл загляните сюда. Если при загрузке, после инициализации девайсов (устройств) компьютера Вы получаете на чёрном фоне сообщение «Invalid boot.ini», это означает, что либо файл «boot.ini» по какой-то причине отсутствует в корневом каталоге загрузочного диска или повреждён, точнее в нём неправильно указаны пути запуска существующих операционных систем. Так как «boot.ini» не содержится, например, в дистрибутиве «Windows» в готовом виде, а создаётся в процессе установки (в зависимости от того, на какой диск ставится система и т.д.), то и извлечь его оттуда не удастся и если Вы не сохранили заранее этот файл где-нибудь в укромном месте, то взять его неоткуда, придётся создавать заново.

Если Ваша «Windows» стоит на диске С, то нужно создать текстовый файл такого содержания:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /fastdetect

сохранить его под именем «boot.ini» и скопировать в корневой каталог диска С.

Всё это легко сделать (и переименовать «boot.bak» и скопировать новый файл), если у Вас система стоит на разделе с файловой системой FAT32 - достаточно загрузиться, например, с системной дискеты для «Windows 98».

Если файловая система NTFS, то придётся или запускать «Консоль восстановления» с установочного диска XP, или можно загрузиться с загрузочного CD-диска, сделанного, например, в «Nero Burning Rom», или искать специальные программы, навроде«NTFSDOS Pro», которая умещается на 2-х дискетах и умеет работать с NTFS разделами.

В конце концов, можно не делать всё вышеописанное, а просто запустить установку «Windows XP» и выбрать не «Установить новую...», а «Обновить (рекомендуется)...»", таким образом система будет установлена поверх существующей, «boot.ini» появится, и все настройки сохранятся (придётся переустанавливать программы, которые хранят свои настройки в реестре или копируют свои файлы в системные директории).

Наверх

Установка «Windows 98» после установки «Windows XP»

Посмотрите здесь.

Наверх

Установка нескольких независимых «Windows XP» на разные жёсткие диски

Если на другом жёстком диске уже имеется одна копия «Windows XP», то при установке на компьютер других XP, они отследят наличие первых и автоматически сделают общими загрузочные файлы. То есть систем будет две, три и т.д., а файлы («ntldr», «NTDETECT.COM», «boot.ini», «bootsect.dos», если ОС локализована, то ещё и «bootfont.bin») будут общими.

Чтобы этого избежать, отключите все жёсткие диски кроме одного (отключите именно физически, для чего достаточно отключить разъём подающий на него питание. ВНИМАНИЕ! Не забудьте перед этим отключить компьютер и вынуть вилку из розетки). Установите на этот диск «Windows XP», после чего отключите этот жёсткий диск (физически) и подключите другой жёсткий диск, поставьте на него ХР, отключите, подключите следующий и т.д. Таким образом, Вы получите независимые друг от друга операционные системы, каждая на своём диске и у каждой будут собственные загрузочные файлы в корневой директории системного диска. Это хорошо и «в плане защиты от вирусов», и вообще при любых возможных сбоях, так как при повреждении загрузочных файлов одной ОС, файлы другой останутся целыми.

При таком способе установки (когда подключены два, три и т.д. диска, на каждом из которых имеется своя XP) Вы можете выбрать в BIOS, какую систему загружать. Для чего достаточно выставить приоритет нужного жёсткого диска.

Или можно подкорректировать файл «boot.ini», чтобы в загрузочном меню появилась возможность выбирать загрузку любой ОС, не заходя в BIOS. Лучше всего (удобней) это сделать в «boot.ini» той XP, которая стоит на диске, имеющем в BIOS наименьший порядковый номер, а именно номер «0» (нумерация дисков начинается именно с нуля).

Во-первых, выставьте в BIOS для этого диска набольший приоритет, а во-вторых, в файл «boot.ini», который выглядит так (XP установлена на диск «С» в папку [C:\Windows]):

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect

добавьте строку:

multi(0)disk(0)rdisk(X)partition(Y)\WINDOWS="Windows XP Professional (NEW)" /fastdetect

где:

X - порядковый номер диска, на котором стоит та «Windows XP», которую Вы хотите прописать в загрузочное меню (1, 2 или 3),

Y - порядковый номер раздела жесткого диска, на котором стоит та «Windows XP», которую Вы хотите прописать в загрузочное меню (нумерация разделов начинается с «1», например, локальный диск «С» - 1, «D» - 2, и т.д.).

То есть, если «Windows XP», которую Вы хотите добавить в загрузочное меню установлена на локальный диск «E», жёсткого диска, имеющего в BIOS порядковый номер «2», то наш файл «boot.ini» будет выглядеть, например, так:

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional" /fastdetect multi(0)disk(0)rdisk(2)partition(3)\WINDOWS="Windows XP Professional (NEW)" /fastdetect

Аналогично добавляются в это загрузочное меню и все остальные «Windows XP».

Подробнее про файл «boot.ini» можно почитать здесь.

Наверх

Компьютер перезагружается непонятно почему

Скорее всего происходит аварийное завершение работы с выходом в BSOD («blue screen of death» — «синий экран смерти»), и он перезагружается. Для решения проблемы необходимо отключить автоматическую перезагрузку при сбое системы. Для этого откройте в Панели управления» (Control Panel) диалоговое окно «Свойства системы» (System), прейдите на закладку «Дополнительно» (Advanced), нажмите кнопку «Параметры» (Settings) в разделе «Загрузка и восстановление» (Startup and Recovery). В открывшемся диалоговом окне скиньте флажок с «Автоматической перезагрузки» (Automatically restart) в разделе «Отказ системы» (System failure). Конечно же это не решит проблему с BSOD, но теперь компьютер не будет сразу же перезагружаться, и вы успеете прочитать содержимое экрана смерти. Необходимо запомнить или записать название стоп-ошибки (оно выводится прописными латинскими буквами в самом верху экрана), например «PROCESS_HAS_LOCKED_PAGES», а также адрес ячейки памяти, при обращении к которой произошла эта ошибка (внизу экрана). После этого можно зайти, например сюда http://bsod.oszone.net и попытаться найти описание этой ошибки, а также возможные её причины и способы устранения.

Наверх

Некоторые программы не инсталлируются в «Windows XP»

Запускается инсталлятор, появляется окно, в нём закрашивается индикатор до 100%, но потом всё пропадает. Процесс висит в памяти, но инсталляция не продолжается. Это происходит когда временные папки в XP помещены в профайлы пользователей. Временные папки используются инсталляторами для распаковки временных данных, необходимых для инсталляции. Но, когда временную папку помещают в директорию профайла пользователя, у неё получается очень длинное имя, и некоторые инсталляторы благополучно распаковав в эту папку свои данные не могут их найти. Для решения этой проблемы достаточно просто поместить папку куда-нибудь повыше, чтобы путь был коротким, и, желательно, без русских символов. Для этого откройте в Панели управления» (Control Panel) диалоговое окно «Свойства системы» (System), прейдите на закладку «Дополнительно» (Advanced) и нажмите внизу закладки кнопку «Переменные среды» (Environment). В этом диалоговом окне измените пути к «TEMP» и «TMP» на [C:\WINDOWS\TEMP]. После этого удалите старые папки.

Кроме этого, встречаются инсталляторы в которых прописаны абсолютные пути. Обычно этот путь выглядит как [%windir%\Temp] (или что-то вроде этого), и тогда никаких проблем не возникает, но иногда путь прописан более конкретно, обычно [C:\Windows\Temp], и тогда инсталлятор может зависнуть не найдя этих директорий. Правда, такие кривые инсталляторы попадаются очень редко, но если нужная программа не хочет инсталлироваться несмотря на все усилия, то можно попробовать создать указанный выше путь, может и поможет.

Наверх

Программа работает только под аккаунтом администратора

Наиболее простой способ сделать так, чтобы она работала и под аккаунтом обычного пользователя, это запустить программу через пункт «Запуск от имени...» (Run As...) в меню, вызываемым правой кнопкой мыши. В открывшемся диалоговом окне выберите нужного пользователя (администратора или кого-нибудь с администраторскими полномочиями), введите пароль, и всё. Если неохота делать это каждый раз, можно создать командный файл, и запускать его. Для запуска программы под другим пользователем из командной строки служит команда «runas», с доступными опциями которой можно ознакомиться набрав «runas /?».

Но даже при использовании командного файла, всё равно придётся вручную вводить пароль для соответствующего пользователя. Что бы полностью автоматизировать загрузку, придётся воспользоваться следующей методикой. Войдите в систему под аккаунтом администратора, запустите «Редактор реестра» (regedit.exe), в разделе

[ HKEY_LOCAL_MACHINE/SOFTWARE ]

найдите подраздел нужной программы. Затем в пункте «Разрешения» (Permissions), появляющемся по правому клику мышки, выставьте полный доступ на эту ветвь реестра для пользователя или группы пользователей, которые будут с ней работать. Если программа использует кроме раздела

[ HKEY_LOCAL_MACHINE/SOFTWARE ]

реестра ещё и раздел

[ HKEY_CURRENT_USER/SOFTWARE ],

нужно запустить под аккаунтом администратора «Редактор реестра» (regedit.exe). Найдите ветку

[ HKEY_CURRENT_USER\SOFTWARE\Имя_компании\Имя_программы ]

(иногда встречатся только раздел «Имя_компании», в котором хранятся параметры для нескольких программ этого производителя) и выбираете её. Затем с помощью меню «Реестр» (Registry) экспортируйте выбранную ветвь в файл. При выборе пути сохранения файла учтите его доступность для других пользователей. Перегрузившись под обычным пользователем, импортируйте полученный файл. Для этого достаточно дважды щелкнуть по reg-файлу в «Проводнике» и ответить «Да» (Yes) на запрос об импорте файла в реестр, и подтвердить выполнение операции - «Ok». После перезагрузки компьютера программа должна работать и под этим аккаунтом.

Кроме того, некоторые программы (например, «Windows Commander») создают свои ini-файлы. Обычные пользователи имеют разрешение только на «Чтение» (Read) на эти файлы. Для корректной работы программ нужно добавить разрешение на «Изменение» (Modify). Редко, но все же иногда требуется разрешение на «Запись» (Write) для exe-файла программы. Этим отличилась, например, популярная программа «ReGet». В свойствах ярлыка программы можно выставить галочку «Запускать от имени другого пользователя». Тогда при запуске программы можно будет ввести логин и пароль администратора (правда, для этого их нужно знать ;)) Аналогичного эффекта можно добиться с помощью командного файла, в котором напишите:

runas /profile / user:compname\administrator [полный путь к *.exe файлу]

где «compname» - имя вашего компьютера; если в пути к файлу программы есть пробелы, то его необходимо заключить в кавычки. Теперь, при запуске этого cmd-файла, будет также спрашиваться пароль администратора.

Наверх

Замена ядра системы

В «Windows XP» этот процесс упрощён до предела. Больше не надо переставлять всю систему, или использовать внешние утилиты из «Resource Kit». Ядро меняется в пункте «Компьютер» (Computer) «Диспетчера устройств» (Device Manager), как и любой другой драйвер.

ИСКЛЮЧИТЕЛЬНО важно, НЕ СТАВИТЬ ядро, которое НЕ ПОДДЕРЖИВАЕТСЯ Вашим железом. Если не уверены, то лучше ничего не трогать, потому что последствия установки неправильного ядра непредсказуемы. Скорее всего, машина просто перестанет загружаться во всех режимах. Предотвратить подобное можно, подредактировав «boot.ini». Нужно всего лишь продублировать рабочий пункт меню выбора ОС, например, продублируйте строку:

«multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect»,

но припишите после «/fastdetect» следующие опции: «/kernel=ntoskchk.exe /hal=halchk.dll», а также в директории [WINDOWS\System32] сделайте копии вашего ядра и hal.dll. «ntoskrnl.exe» назовите «ntoskchk.exe», а «hal.dll» - «halchk.dll». Кроме этого, необходимо учитывать одну тонкость. Видимо из за того, что при установке неправильного ядра XP просто виснет, теперь весь список доступных ядер не выводиться в окне смены драйвера. Таким образом, возможна ситуация, когда Вы точно знаете, что ядро поддерживается системой, но система не даёт его установить. В этом случае, придётся делать это вручную. Для начала найдите в папке [WINDOWS\Inf] файл под названием «hal.inf». После этого, изучите его, чтобы выяснить, какие файлы и куда переписываются при смене ядра. Обычно перезаписывается только «hal.dll». Названия какого «hal.dll» какому ядру соответствуют, можно узнать из списка:

После этого остаётся взять соответствующий файл из архива [Windows\Driver Cache\i386\driver.cab], скопировать его в [Windows\system32], и сослаться на него в «boot.ini». После загрузки (если всё будет в порядке), можно переставить его обычным способом, в списке это ядро появится.

назад  ||  главная  ||  наверх  ||  дальше