8 марта 2012 г.

Удаление и интеграция драйверов с помощью скриптов TeraByte OS Deployment Tool


Программный продукт TeraByte OS Deployment Tool позволяет не только удалять, но и добавлять драйвера в уже установленную ОС семейства Windows. Процесс удаления драйверов с помощью графического интерфейса вам уже знаком по этой статье. Теперь же я попытаюсь объяснить каким образом можно автоматизировать сей процесс, используя скрипты. Так же с помощью скриптов покажу как можно добавить сборку самых распространенных AHCI/SATA/Raid драйверов в ОС Windows XP.

Что для этого потребуется?
1. TeraByte OS Deployment Tool Suite.
2. Виртуальная машина  или реальный компьютер с установленной Windows XP.
3. ОС Windows для запуска TeraByte OS Deployment Tool Suite.
4. Пакет распространенных AHCI драйверов.

Подробнее о используемых программах:

Про TeraByte OS Deployment Tool достаточно подробно писал в предыдущей статье, также в архиве есть вся необходимая документация.
Windows XP я устанавливал в VMWare, и затем все манипуляции производил над образом .vmdk.
Пакет AHCI драйверов взял с oszone.net, который состоит из драйверов:
 AMD - 3.1.1540.127
 Intel - 8.9.8.1005
 JMicron - 1.17.62.0
 Marvell - 1.2.0.7700
 nForce - 10.3.0.46
 SiS - 5.1.1039.3020
 VIA - 5.1.7600.601

Последовательность действий по удалению и интеграции драйверов:

1. Скачиваем TeraByte OS Deployment Tool Suite
2. Создаем папку на диске С (назовем ее temp). В нее положим содержимое скачанного архива, т.е. папку tbosdts_pro.
3. В нее же положим образ жесткого диска (.vmdk) созданный VMWare.
4. Скачиваем пакет распространенных AHCI драйверов. И его тоже разархивируем в папку temp.
5. Теперь нам нужен файл answer.ini, предназначенный для автоматизации процесса удаления и добавления драйверов, с помощью OSD Tool. Его подробное содержание описано в документации. Я себе создал след. документ:
Примечание: проверяем путь до образа .vmdk и его имя. У меня C:\temp\WinXP.vmdk.
// *** This is comment ***
// tbosdt osdtool.tbs answer.ini

// For physical drive. By installation number: WinInst=Num[n] 
// WinInst=Num[1]

// By path to a virtual drive file followed by installation number to select (default is first).
WinInst=C:\temp\WinXP.vmdk

// Will remove all installed drivers
ClrDrv=2

// Install default IDE drivers for XP, and IDE/AHCI drivers for Vista and Win 7
InstDrv=1

// Install %DRV.INF% in the next path
// InstDrv=%DRV.INF% -critical
// -critical  - specifies that the driver is a storage driver required for booting Windows
// -normal  - specifies that the driver is normal non-storage (non-critical) driver
// -filter  - specifies to filter on the hardware ID

6. Называем его answer.ini, и сохраняем тоже в папке temp.
7. Чтобы вручную не писать путь до каждого драйвера воспользуемся bat-файлом:
@echo off
::Ищем inf-файлы в папке .\MassStor_x86_11.8.22_drv, и их полные пути отправляем в list_new_inf.txt
dir /s /b .\MassStor_x86_11.8.22_drv | find /i ".inf" > list_new_inf.txt

::Копируем документ answer.ini в папку tbosdts_pro
copy /y answer.ini .\tbosdts_pro\answer.ini

::Переходим в папку tbosdts_pro
cd .\tbosdts_pro

::Добавляем содержимое list_new_inf.txt с "-critical" в документ answer.ini
for /f %%1 in ('type ..\list_new_inf.txt') do echo InstDrv=%%1 -critical >> answer.ini

::Запускаем tbosdtw.exe
tbosdtw.exe osdtool.tbs answer.ini

::Переходим в предыдущий каталог (c:\temp)
cd ..\

::Удаляем документ list_new_inf.txt
del /q .\list_new_inf.txt
8. Называем его start.bat, и сохраняем тоже в папке temp.
9. Проверяем, что получилось. Папка temp теперь содержит след.документы:

10. Запускаем командую строку и наш скрипт start.bat.
11. После его успешного выполнения, переносим систему из образа WinXP.vmdk на новое железо.

При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.

16 комментариев:

  1. Мне не понятен пункт 5 - можете помочь?! Я все сделал а что за answer.ini??? Его подробное содержание описано в документации - где это почитать?

    ОтветитьУдалить
    Ответы
    1. Могу.
      Простой пустой текстовый файл с именем answer.ini, в который нужно потом занести то, что приведено в этом (5) пункте.
      Документация лежит в папке docs внутри архива указанного в 1 пункте. Про answer.ini написано в tbosdt.pdf на 38 странице (глава "Using OSDTOOL – Automated Mode")

      Удалить
    2. Что-то все громоздко, не проще ли удалять драйвера программой компании Phyxion?
      См. статью: Удаляем драйвера программами Driver Sweeper или Driver Fusion. http://shparg.narod.ru/index/0-56

      Удалить
    3. Может и проще. Не слышал об этой программе ничего, поэтому сказать ничего не могу

      Удалить
  2. Мануал очень полезен. Но наверно для опытных пользователей которые уже не раз копировали систему. Для меня же например многие моменты остаются сомнительными. Конечно можно сделать наугад, но наугад я уже неделю пытаюсь перенести ОС разными методами, и все не как. Т.к. в данных вопросах нужна точность. К примеру как правильно создать файл answer.ini и start.bat. ? Просто вкинув вышепреведенный код в текстовый документ и меретменовав его? Какой он должен быть кодировки?
    Как запустить start.bat? Обязательно через командную строку или можно просто кликнув на нем? Что должно показать в процессе? Как я узнаю что операция прошла успешна. Прошлый раз я тоже запустил один скрипт и система меня "порадовала" синим экраном. Благо был образ и я перезалил. Теперь опять тыкаться... Жаль нет не где подробного походового мануала... А еще лучше простенькой утилиты которая бы сама распаковывалась в нужное место. И работала не только до создания но и после падения системы. Хотя конечно таких утилит чистки дров масса, можно так же запустить лицензионное востановление системы Хр но рабочую утилиту я не нашел, как и чистую Хр (одни сборки). Опять пробовать и убивать массу времени....

    ОтветитьУдалить
  3. не чего не помогло. Появился черный экран прошерстило дрова написало сукцесибл и все. Винда не грузится... Пытаюсь запустить в виртуал бокс. Кстати там еще надо перед проведением данных манипуляций переименовать файл WinXP-flat.vmdk а WinXP.vmdk не удалять т.к. через него в виртуалке запускается система. Опять день проигрался и все бестолку. Буду искать дальше (((

    ОтветитьУдалить
    Ответы
    1. А цель-то какая у ваших действий?
      О ней вы не слова не сказали.

      Удалить
    2. Мне надо оторвать ОС от железа и перенести в виртуал бокс. Но меня прям приследуют невезения ((( Я сделал образ акрониксом но при распаковки в виртуалку там почему то банально поменялось меню. Всегда была опция универсал рековери с помощью которой можно было подтянуть дрова на на любое железо. Но почему то именно при создании образа с этой железяки его нет. Пробовал делать образ несколько раз. Акроникс 14 при распаковки нет и все. Пробовал другие образы - там есть. А тут нет. Но и это пол беды. Удалось таки распаковать образ и с помощью колхозных зборок реаниматоров ПЕ убрать дрова. Запустилось на АМД. Я его вначале распаковал на машину, а потом перенес в виртуалку. Теперь с АМД не как не могу перенести на интел. В виртуал боксе черный экран и все не чего не помогает. Не безопасный не утилиты. Уже 100 раз перезаливал переконвертировал, чистил дрова - голый номер.

      Удалить
    3. Эта статья вам вряд ли поможет, она для интеграции дров на контроллер HDD.

      Но если вам интересно, то я бы сделал так:
      1. Достал бы образ винды максимально близкий к оригиналу (тому что был снят изначально, до всех манипуляции с переносами).
      2. Развернул бы его на виртуалке. Т.е. просто перенос файлов. Без манипуляций с дровами.
      3. Снял бы снапшот (или как он там называется). На VMWare позволяет быстро откатываться к предыдущему состоянию.
      4. Проверил что винда стартует. Просто стартует. Загрузчик винды правильно запускается и видит системный раздел. Если рабочий стол не появился, то шел бы дальше
      5. Снес бы все дрова, с помощью OSDTool (Часть 2: http://gromr1.blogspot.ru/2012/02/windows-xp-make-universal-image-windows.html ).
      6. Попробовал бы загрузиться.
      7. Поменял бы HAL в том же OSDTool.
      8. И еще раз бы загрузился.
      9. Если и это не поможет. Вернулся бы в начальное состояние в снапшоте.
      10. Скачал бы последнюю версию OSDTool. Повторил бы это еще раз.
      11. Или пошел бы пробовать штуки от Paragon и Acronis.

      Удалить
    4. спасибо. Буду пробовать. Наверно надо искать другие программы. Хотя не охота заново разбираться. Разочаровался в виртуал боксе а за одно и в акронексе. Как я понял наверно виртуал бокс копирует конфигурацию реальной машины в своей виртуалке. К тому же на старых машинах он выдает много ошибок. К примеру на моем стареньком фуджицу сименсе с интеловским процессором постоянно при запуске ПЕ разных сборок выдает ошибки а на гигабитовском АМД и новеньком интеле (компе) практический все сборки запускаются без проблем. То же касается и очистки дров. Когда я распаковал акрониксом на реальную машину - дрова удалились, но когда этот образ (без дров) залил уже в виртуалку оно запустилось только на той машине с которой был скопирован с реального железа. На других с другим железом не запустился. Не охота все перезаливать опять на железо. А оторвать уже в виртуалки почему то не получается. Так же пробовал скачать оригинальный диск винды выбрав "восстановление" при установке. Но почему то все сводится к командной строке на черном фоне, а не автоматической установки как должно быть. А что в парагоне тоже есть аналог акронисовского универсал рековери?

      Удалить
    5. По ошибкам запуска WinPE я склоняюсь к отсутствию драйверов на HDD и GPU. Вряд ли в этом виновата архитектура процессора. Но и многое зависит от самой WinPE.
      Виртуалки (насколько мне известно, все без исключения) эмулируют всё кроме ЦП. Процессор остается тем же, что и на реальной машине. Отсюда и все вытекающие глюки с переносом с Интела на АМД.
      В Парагоне когда-то раньше была Paragon Adaptive Restore (P2P). Как сейчас она называется не знаю.

      Удалить
  4. Нужно было перекинуть хард (с вин ХР) с одного пк на другой. Мне понадобились win pe, sam drivers, osdtool. Загрузился с PE, запустил osdtool, удалил все драйвера, добавил драйвер IDE, ребут в безопасный режим (комп не новый, минут 5 винда шаманила с установкой драйверов), залогинился, запустил samdrivers и доустановил те, которых не хватает. ребут в обычном режиме, все ок

    ОтветитьУдалить
  5. Можно ли этой утилитой пользоваться вместо встроенной sysprep для создания эталонного образа? После 1803 обновления вин10 сиспреп перестала корректно работать.

    ОтветитьУдалить
    Ответы
    1. Можно, но рекомендую использовать последнюю версию с оф.сайта.
      Или найти ее в теме на ру-боарде:
      http://forum.ru-board.com/topic.cgi?forum=5&topic=35257&glp
      Там же можете задать свой вопрос, т.к. я с вин10 не экспериментировал.

      Удалить