Установка драйверов Windows из сетевой папки
Использование TBOSDT, включенного в загрузочный диск Image for Linux
Примечание: Эта статья устарела. Используйте вместо нее скрипт OSDTOOL.TBS. Пример видео можно посмотреть здесь.
Обзор
В этом руководстве рассматривается установка драйвера хранилища Windows из сетевой папки с использованием версии программы TBOSDT для Linux, входящей в загрузочный диск Image for Linux (IFL). Загрузочный диск IFL можно создать как из Windows, так и из Linux, и он может быть CD/DVD, USB-накопителем или набором загрузочных файлов для сетевой загрузки PXE (только из Linux).В дополнение к этому руководству, пожалуйста, обратитесь к Примеру применения №2 в конце руководства TBOSDT (tbosdt.pdf), где вы найдете описание общего процесса.
Отправная точка
Типичный сценарий использования описанной ниже процедуры возникает, когда существующую установку Windows (для которой существует образ) необходимо восстановить на системе, где контроллер хранилища несовместим с драйвером хранилища, используемым в исходной системе. Такие условия могут возникнуть при замене материнской платы или всей системы. Поскольку целевая система имеет другой контроллер массового хранения (например, контроллер SATA вместо контроллера IDE), восстановленный образ не загрузится, так как ему не хватает правильного драйвера. Именно здесь на помощь приходит TBOSDT.Установка драйвера Windows с использованием TBOSDT происходит в два этапа и может быть выполнена, когда Windows изначально находится в незагружаемом состоянии. Первый этап (Этап 1) происходит при загрузке с загрузочного диска IFL и выполнении скрипта TBOSDT Этапа 1. Это устанавливает драйвер до точки, когда раздел Windows будет загружаться. Он также подготавливает раздел Windows к автоматическому выполнению скрипта TBOSDT Этапа 2 при следующей загрузке с него. Скрипт Этапа 2 затем завершает установку драйвера.
Отправной точкой для описанной ниже процедуры будет образ раздела Windows XP, который был восстановлен на загрузочный диск (HD0) целевой системы. Поскольку драйвер для нового контроллера жесткого диска еще не установлен, раздел Windows не будет загружаться на целевой системе.
При восстановлении образа Windows необходимо убедиться, что восстановленный раздел установлен как активный и что стандартный код MBR был установлен. При восстановлении одного раздела с помощью любого из продуктов для работы с образами TeraByte Unlimited можно использовать опции восстановления «Установить активным» и «Записать стандартный код MBR», чтобы обеспечить эти условия. Они не требуются и недоступны при восстановлении всего диска.
Файлы драйверов
В общем, для установки любого драйвера Windows с помощью TBOSDT вам понадобятся отдельные файлы драйвера (обычно это файлы INF, CAT и SYS). В идеале у вас будет дискета (или другой носитель), поставляемая с оборудованием, которая содержит файлы драйвера. Если нет, вам потребуется получить их у производителя оборудования. Опять же, файлы драйвера должны быть в виде отдельных файлов или извлекаться из CAB-файла.В этом руководстве будет использован конкретный пример установки драйвера для контроллера Intel SATA AHCI на восстановленный образ Windows XP. Это драйвер, который требуется большинству пользователей для работы Windows XP на новой системе SATA. Чтобы найти этот драйвер, см. руководство «Создание интегрированного диска Windows XP с помощью nLite».
Требования к программному обеспечению
Image for Linux (IFL)Пакет инструментов развертывания ОС TeraByte (TBOSDTS)
Системные требования
Сетевая папка Windows или Samba, доступная с целевой системы с правами чтения/записи по проводному сетевому соединению.При использовании USB-накопителя в качестве загрузочного носителя целевая система должна поддерживать загрузку с USB-накопителя.
Шаг 1: Загрузите и извлеките TBOSDTS
примеры скриптов TBOSDT (drvins_1.run и drvins_2.run), а также версия TBOSDT для Windows (tbosdtw.exe) потребуются для выполнения установки драйвера. Эти файлы можно получить, извлекая zip-архив TBOSDTS (tbosdts_en.zip или tbosdts_pro_en.zip), чтобы необходимые файлы можно было скопировать в сетевую папку.Обратите внимание, что сами программы TBOSDTS и вспомогательные файлы содержатся в файле tbosdts.zip, который является вторичным zip-файлом внутри загруженного zip-файла. Для извлечения tbosdts.zip вам потребуется пароль, содержащийся в readme.txt, который будет найден внутри загруженного zip-файла.
После извлечения tbosdts.zip будут доступны следующие файлы и каталоги:

Шаг 2: Скопируйте необходимые файлы в сетевую папку
Рекомендуется создать отдельную папку/каталог в сетевой папке для хранения файлов, необходимых для установки драйвера. В этом руководстве будет использоваться каталог с именем 'tbosdtfiles', расположенный в корне общей папки с именем 'demo' на сервере с именем 'ubuntu810'.Файлы, которые необходимо скопировать в общую папку, перечислены ниже:
drvin_1.run и drvins_2.run: Скопируйте эти 2 файла из каталога tbosdts/scripts. Это скрипты TBOSDT Этапа 1 и Этапа 2, и эти файлы будут отредактированы на Шаге 6.
tbosdtw.exe (версия для Windows): Скопируйте tbosdtw.exe из каталога tbosdts/win. Этот файл является версией TBOSDT для Windows.
iaahci.inf, iaahci.cat, iastor.sys: Это конкретные файлы драйверов, необходимые для установки драйвера Intel SATA, используемого в этом примере. Эти файлы будут называться по-разному для других драйверов.
После копирования всех необходимых файлов содержимое каталога в сетевой папке должно выглядеть следующим образом:

Шаг 3: Создайте загрузочный диск IFL
Загрузочный диск IFL можно создать из Windows или Linux как CD/DVD или USB-накопитель. Из Linux также есть возможность создать загрузочный диск как набор загрузочных файлов для сетевой загрузки PXE. Пользовательский загрузочный диск (который можно опционально создать из Linux) не требуется.Чтобы создать загрузочный диск IFL из Windows, см. руководство TeraByte Unlimited по ссылке ниже:
Image for Linux: Прежде всего – Создание загрузочного диска
Чтобы создать загрузочный диск IFL из Linux, см. руководство TeraByte Unlimited по ссылке ниже:
Как создать загрузочный носитель IFL из дистрибутива Linux
Шаг 4: Загрузитесь с загрузочного диска IFL и смонтируйте сетевую папку
Загрузите целевую систему с загрузочного диска IFL (CD/DVD или USB-накопитель). Для загрузки с USB-накопителя BIOS системы должен быть настроен на загрузку с этого устройства. Некоторые системы могут иметь клавишу для нажатия при загрузке, которая вызовет меню устройств для загрузки, вместо того чтобы входить в настройки BIOS.После завершения загрузки вы окажетесь в главном меню загрузочного диска IFL (приветственном экране). Выделите пункт «Mount/Unmount Samba/Windows shares», как показано ниже, затем нажмите

Пункт меню «Mount/Unmount» обнаружит доступные серверы Windows/Samba и затем выведет их список на экране, аналогичном скриншоту ниже. На этом экране выделите сервер, содержащий файлы (UBUNTU810 для этого примера), а затем нажмите

После выбора сервера введите имя пользователя для сервера/общей папки, к которой вам нужен доступ, затем нажмите

На следующем экране введите пароль, затем снова нажмите

На следующем экране будет список доступных для монтирования общих папок на сервере. Выделите общую папку, к которой вам нужен доступ (demo для этого примера), и затем нажмите

Общая папка теперь должна быть смонтирована, и это будет указано изменением статуса монтирования с «UNMOUNTED» на «MOUNTED:(/net1)», как показано ниже:

Если общая папка не монтируется (или не отображается в меню общих папок), это обычно происходит из-за неправильно введенного имени пользователя/пароля. В этом случае вы можете вернуться в меню сервера, выбрать сервер и попробовать ввести имя пользователя и пароль снова.
(/net1) в скобках — это точка монтирования для сетевой папки. Точка монтирования — это каталог в локальной файловой системе, где можно получить доступ к содержимому общей папки. Точка монтирования будет использоваться при редактировании скрипта Этапа 1 (drvins-1.run) на Шаге 6 ниже. Точка монтирования всегда будет /net1, если только другая сетевая папка не была смонтирована первой.
Выберите «EXIT MENU», чтобы вернуться к экрану сервера. На этом экране вы должны теперь увидеть значение 1 для «Total shares currently mounted», как показано ниже:

Выберите «EXIT MENU», чтобы выйти в главное меню загрузочного диска. В этом меню выделите «Exit to the Linux command prompt», затем нажмите

Этот выбор меню оставит вас в командной строке Linux. Чтобы дополнительно убедиться, что общая папка смонтирована и что вы теперь можете получить доступ к файлам в общей папке, выполните команду 'ls /net1/tbosdtfiles'. Эта команда выведет список файлов, ранее скопированных в каталог tbosdtfiles на Шаге 2 выше, и должна привести к выводу, показанному ниже:

Файлы, скопированные в общую папку на Шаге 2, теперь видны в списке каталога tbosdtfiles на смонтированной общей папке.
Шаг 5: Определите ID раздела для целевого раздела
Этот шаг предназначен для определения ID раздела для целевого раздела Windows. Это значение используется на шаге 1 скрипта Этапа 1 (drvins_1.run) для обеспечения монтирования правильного раздела во время установки драйвера. Скрипт Этапа 1 будет отредактирован на Шаге 6 ниже, и определенное здесь значение понадобится тогда.Чтобы определить ID раздела, выполните команду 'tbosdt' из командной строки, чтобы запустить программу TBOSDT в интерактивном режиме. Затем, в командной строке TBOSDT, выполните команду 'list hd 0', чтобы вывести список разделов на диске HD0. Это приведет к выводу, аналогичному следующему:

В данном случае на диске только один раздел, и его ID раздела равен 1, что показано в скобках выше как (01) в столбце ID. Это значение соответствует ID раздела в копии drvins_1.run по умолчанию. Если ID раздела отличается от (01), значение ID раздела в drvins_1.run потребуется изменить на Шаге 6.
Обратите внимание, что ID раздела является шестнадцатеричным числом и должен быть введен в шестнадцатеричной нотации в drvins_1.run. Например, если ID раздела отображается как (0B) программой TBOSDT, это значение будет введено как 0xB в drvins_1.run (ведущий ноль можно опустить). ID раздела (2C) будет введен как 0x2C.
Введите 'exit', чтобы выйти из программы TBOSDT и вернуться в командную строку Linux.
Шаг 6: Отредактируйте скрипты TBOSDT в сетевой папке
Этот шаг предназначен для внесения необходимых изменений в скрипты TBOSDT по умолчанию (drvins_1.run и drvins_2.run), которые были скопированы в сетевую папку на Шаге 2 выше. Файлы будут редактироваться с помощью текстового редактора 'nano', включенного в загрузочный диск IFL.Чтобы отредактировать drvins_1.run, запустите текстовый редактор nano командой 'nano /net1/tbosdtfiles/drvins_1.run', как показано на скриншоте ниже:

Для drvins_1.run в этом примере требуются следующие изменения:
1. Раскомментируйте все строки, начинающиеся с одной точки с запятой «;», кроме 3 строк на шаге 3b (16 строк)
2. На шаге 1 измените ID целевого раздела на значение, определенное на шаге 5 выше (при необходимости)
3. На шаге 3 скорректируйте путь для копирования файлов из сетевой папки (3 строки)
4. На шаге 4 скорректируйте путь для копирования файлов из сетевой папки (2 строки)
Скриншот ниже показывает drvins_1.run в текстовом редакторе nano после внесения перечисленных выше изменений. Изменения обведены и пронумерованы в соответствии со списком.

Чтобы сохранить изменения в файле, используйте комбинацию клавиш
Чтобы выйти из редактора nano, нажмите
Чтобы отредактировать drvins_2.run, запустите текстовый редактор nano командой 'nano /net1/tbosdtfiles/drvins_2.run'.
Для drvins_2.run в этом примере требуется следующее изменение:
1. На шаге 1 раскомментируйте строку для команды 'add inf' (1 строка)
Скриншот ниже показывает drvins_2.run в текстовом редакторе nano после редактирования, с обведенным изменением:

Чтобы сохранить изменения в файле, используйте комбинацию клавиш
Чтобы выйти из редактора nano, нажмите
Теперь, когда оба скрипта TBOSDT отредактированы, можно начинать фактическую установку драйвера.
Шаг 7: Выполните скрипт Этапа 1 (drvins_1.run)
Чтобы выполнить скрипт Этапа 1 (drvins_1.run), выполните следующую команду из командной строки Linux:tbosdt /net1/tbosdtfiles/drvins_1.run
Для драйвера Intel SATA, устанавливаемого в этом примере, вывод скрипта будет выглядеть следующим образом:

При выполнении скрипта Этапа 1 наблюдайте за выводом TBOSDT на экран и следите за любыми сообщениями об ошибках. Обычно TBOSDT завершает выполнение скрипта при обнаружении ошибки, так что любые сообщения об ошибках будут по-прежнему видны на экране, даже если часть вывода может прокрутиться. Если вывод, который вы хотите увидеть, прокручивается за пределы экрана, вы можете прокрутить вверх, используя
tbosdt /net1/tbosdtfiles/drvins_1.run > filename
more filename
Для целей устранения неполадок также может быть полезно выбрать режим видео с кадровым буфером (опция 2 в меню загрузки) при загрузке диска IFL Boot. Это сделает больше текста видимым без прокрутки.
Распространенные причины ошибок включают:
1. Попытка смонтировать неправильный диск/раздел (шаг 1 в drvins_1.run)
2. Неудачное редактирование одной или нескольких команд для правильных значений в drvins_1.run (см. Шаг 6)
3. Синтаксические и/или опечатки в drvins_1.run
Скрипт Этапа 1 должен выполняться без ошибок, прежде чем можно будет ожидать успешной загрузки с целевого раздела.
Шаг 8: Загрузите целевой раздел для выполнения Этапа 2
После успешного выполнения скрипта Этапа 1 на Шаге 7, теперь должна быть возможна загрузка с целевого раздела. Рекомендуется следующая последовательность действий:1. Загрузите систему обычным способом с целевого раздела. При первой загрузке появится окно терминала, и будет выполнен скрипт Этапа 2 (drvins_2.run). После обычной задержки в несколько секунд система должна автоматически перезагрузиться. (Это произойдет только один раз, при первой загрузке).
2. При перезагрузке загрузите Windows в безопасном режиме, как описано на Шаге 3 ниже. Использование безопасного режима позволяет Windows обнаруживать новое оборудование без зависаний и/или других проблем , которые могут возникнуть из-за определенных типов нового оборудования, в частности видео адаптеров.
3. Чтобы войти в безопасный режим Windows XP: Во время загрузки компьютера (сразу после POST) непрерывно нажимайте клавишу «F8», что должно вызвать «Меню дополнительных вариантов загрузки Windows». Используйте клавиши со стрелками, чтобы перейти к «Безопасному режиму», и нажмите Enter.
Если
вы не можете загрузиться в безопасном режиме, это может быть связано с тем, что HAL
также нуждается в замене. Хотя детали выходят за рамки
текущей статьи, это в основном делается путем копирования
правильного файла в windowssystem32hal.dll. Доступные
файлы HAL (до Win2003) это HAL.DLL, HALAPIC.DLL, HALMPS.DLL,
HALACPI.DLL, HALAACPI.DLL, HALMACPI.DLL. Наиболее распространенный файл,
необходимый для современных систем, это HALACPI.DLL, HALAACPI.DLL или HALMACPI.DLL,
который можно найти в папке windowsservicepackfilesi386.
Вы можете использовать TBOSDT для монтирования раздела и копирования необходимого файла.
4. После запуска в безопасном режиме дайте Windows завершить обнаружение нового оборудования.
5. Перезагрузитесь по запросу.
6. При перезагрузке позвольте Windows загрузиться обычным образом. Установка драйвера теперь должна быть завершена.
Обратите внимание, что WPA (активация продукта Windows) может быть активирована из-за обнаруженного нового оборудования, и в этом случае Windows потребуется повторно активировать.
