ネットワーク共有から Windows ドライバーをインストールする
Image for Linux ブートディスクに含まれる TBOSDT を使用
注:この記事は廃止されています。代わりに OSDTOOL.TBS スクリプトを使用してください。例の動画はこちらをクリックしてください。
概要
この チュートリアルでは、Image for Linux(IFL)ブートディスクに含まれる TBOSDT プログラムの Linux 版を使用して、ネットワーク 共有から Windows のストレージドライバーをインストールする方法を説明します。 IFL ブートディスクは Windows または Linux のいずれからでも作成でき、CD/DVD、USB フラッシュドライブ、または PXE ネットワークブート用のブートファイル一式(Linux のみ) として作成できます。このチュートリアルに加えて、TBOSDT マニュアル(tbosdt.pdf)の末尾付近にあるアプリケーション例 #2 も参照してください。 そこに、全体的な手順の説明があります。
開始点
以下の手順を使用する典型的な場面は、 既存の Windows インストール(イメージが存在するもの)を、 ストレージコントローラーが元のシステムで使用していたストレージドライバーと互換性のないシステムに復元する必要がある場合です。 このような状況は、マザーボードまたはシステム全体を交換したときに発生することがあります。ターゲットシステムには異なる 大容量ストレージコントローラー(例:IDE コントローラーではなく SATA コントローラー)があるため、復元したイメージ には正しいドライバーがなく、起動できません。ここで TBOSDT が役立ちます。TBOSDT を使用した Windows ドライバーのインストールは 2 段階で行われ 、Windows が最初は 起動不能 な状態でも実行できます。第 1 段階(Stage 1)は、IFL ブートディスクから 起動 し、TBOSDT Stage 1 スクリプトを実行したときに行われます。これにより、 ドライバーが Windows パーティションが起動できる状態までインストールされます。また、 Windows パーティションが次回 起動された ときに TBOSDT Stage 2 スクリプトが自動実行されるよう、Windows パーティションを準備します。Stage 2 スクリプトでドライバーの インストールが完了します。
以下で説明する手順の開始点は、ターゲットシステムのブートドライブ(HD0)に 復元された Windows XP パーティションのイメージです。新しいハードドライブコントローラー用のドライバーがまだ インストールされていないため、ターゲットシステムでは Windows パーティションは起動しません。
Windows イメージを復元する際は、復元したパーティションがアクティブに設定されていること、および 標準 MBR コードがインストールされていることを確認する必要があります。TeraByte Unlimited のイメージ製品で単一パーティションを復元する場合は、復元オプションの「Set Active」と「Write Standard MBR Code」を使用して、 これらの条件を満たせます。ドライブ全体を復元する場合は、これらは不要であり、また利用できません。
ドライバーファイル
一般に、TBOSDT で Windows ドライバーをインストールするには、個別の ドライバーファイル(通常は INF、CAT、SYS ファイル)が必要です。理想的には、ドライバーファイル を含むハードウェア付属のフロッピーディスク (または他のメディア)を用意してください。ない場合は、ハードウェア メーカーから入手する必要があります。繰り返しになりますが、ドライバーファイルは個別ファイルの形式であるか、 CAB ファイルから抽出できる必要があります。このチュートリアルでは、 Intel SATA AHCI Controller のドライバーを復元した Windows XP イメージに対してインストールする具体例を使用します。これは、 多くのユーザーが Windows XP を新しい SATA システムで動作させるために必要とするドライバーです。 そのドライバーの入手方法については、「nLite を使用して Windows XP のスリップストリームディスクを作成する」チュートリアルを参照してください。
必要なソフトウェア
Image for Linux(IFL)TeraByte OS Deployment Tool Suite(TBOSDTS)
システム要件
有線 ネットワーク接続で、ターゲットシステムから読み取り/書き込み権限でアクセスできる Windows または Samba のネットワーク共有。ブートメディアとして USB フラッシュドライブを使用する場合、ターゲットシステムは USB ドライブからの起動をサポートしている必要があります。
手順 1:TBOSDTS をダウンロードして展開する
The サンプル TBOSDT スクリプト(drvins_1.run と drvins_2.run)に加えて、 TBOSDT の Windows 版(tbosdtw.exe)が、ドライバーのインストールを行うために必要です。 これらのファイルは、次のものを展開して入手できます。 TBOSDTS の zip アーカイブ(tbosdts_en.zip または tbosdts_pro_en.zip)を展開し、必要なファイルを ネットワーク共有へコピーできるようにします。実際の TBOSDTS プログラムとサポートファイルはファイル tbosdts.zip に含まれています。これは、ダウンロードした zip ファイル内にある 二次 zip ファイルです。tbosdts.zip を展開するには、 readme.txt に記載されているパスワードが必要です。readme.txt は、ダウンロードした zip ファイルの 中にあります。
tbosdts.zip を展開すると、次のファイルとディレクトリが利用可能になります。

手順 2:必要なファイルをネットワーク共有へコピーする
ドライバーのインストールに必要なファイルを格納するため、 ネットワーク共有上に別のフォルダー/ディレクトリを作成することを推奨します 。この チュートリアルでは、サーバー名「ubuntu810」上の共有「demo」のルート にある「tbosdtfiles」というディレクトリを使用します。共有へコピーする必要があるファイルは、以下のとおりです。
drvins_1.run と drvins_2.run: これら 2 つのファイルを tbosdts/scripts ディレクトリからコピーします。これらは Stage 1 と Stage 2 の TBOSDT スクリプトであり、これらのファイルは手順 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 から任意で作成可能)は不要です。Windows から IFL ブートディスクを作成するには、以下のリンク先にある TeraByte Unlimited のチュートリアルを参照してください。
Image for Linux:まず最初に — ブートディスクを作成する
Linux から IFL ブートディスクを作成するには、以下のリンク先にある TeraByte Unlimited のチュートリアルを参照してください。
Linux ディストリビューションから IFL ブートメディアを作成する方法
手順 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) は、ネットワーク 共有のマウントポイントです。マウントポイントとは、ローカルファイルシステム上のディレクトリで、 共有の内容にアクセスできる場所です。マウントポイントは、 後述の手順 6 で Stage 1 スクリプト(drvins-1.run)を編集する際に使用します。 別のネットワーク共有が先に マウントされていない限り、マウントポイントは常に /net1 になります。
サーバー画面に戻るには、 「EXIT MENU」を選択します。この画面では、 以下のように「Total shares currently mounted」が 1 になっているはずです :

メインのブートディスクメニューに戻るには、 「EXIT MENU」を選択します。そのメニューで、 「Exit to the Linux command prompt」を選択し、

このメニューを選択すると、Linux のコマンドプロンプトが表示されます。共有がマウントされており、共有上のファイルにアクセスできることをさらに 確認するには、 'ls /net1/tbosdtfiles' コマンドを実行します。このコマンドは、 上記の手順 2 で tbosdtfiles ディレクトリにコピーしたファイルを一覧表示し、 以下のような出力になるはずです:

手順 2 で共有へコピーしたファイルが、マウントされた共有上の tbosdtfiles ディレクトリの一覧に表示されるようになりました。
手順 5:ターゲットパーティションのパーティション ID を確認する
この 手順では、ターゲットの Windows パーティションのパーティション ID を確認します。この値は、ドライバーのインストール中に 正しいパーティションがマウントされるようにするため、Stage 1 スクリプト (drvins_1.run)の手順 1 で使用されます。Stage 1 スクリプトは後述の手順 6 で編集し、 ここで確認した値がその際に必要になります。パーティション ID を確認するには、コマンドプロンプトから 'tbosdt' を実行して、TBOSDT プログラムを対話モードで起動します。次に、TBOSDT のコマンドプロンプトで、 'list hd 0' コマンドを実行し、ドライブ HD0 上のパーティションを一覧表示します。出力は 次のようになります:

この 例では、ドライブ上にパーティションは 1 つだけで、 パーティション ID は 1 です。これは、上記の ID 列に (01) として括弧内に表示されています 。この値は、既定の drvins_1.run のコピーにあるパーティション ID と一致します。パーティション ID が (01) 以外の場合は、 手順 6 で drvins_1.run 内のパーティション ID 値を変更する必要があります。
パーティション ID は 16 進数である点に注意してください 。drvins_1.run には 16 進表記で入力する必要があります。たとえば、 TBOSDT でパーティション ID が (0B) と表示された場合、その値は drvins_1.run に 0xB と入力します(先頭の 0 は省略できます)。 (2C) の場合は 0x2C と入力します。
'exit' と入力して TBOSDT プログラムを終了し、Linux のコマンドプロンプトに戻ります。
手順 6:ネットワーク共有上の TBOSDT スクリプトを編集する
この 手順では、上記の手順 2 で ネットワーク共有へコピーした既定の TBOSDT スクリプト(drvins_1.run と drvins_2.run)に必要な変更を加えます。ファイルの編集には、 IFL ブートディスクに含まれる 'nano' テキストエディターを使用します。drvins_1.run を編集するには、以下のスクリーンショットのように、'nano /net1/tbosdtfiles/drvins_1.run' コマンドで nano テキストエディターを起動します :

この例では、drvins_1.run に対して次の変更が必要です:
1. 手順 3b の 3 行を除き、単一の「;」で始まる行をすべてコメント解除する(16 行)
2. 手順 1 で、ターゲットパーティション ID を上記の手順 5 で確認した値に変更する(必要な場合)
3. 手順 3 で、ネットワーク共有からファイルをコピーするパスを調整する(3 行)
4. 手順 4 で、ネットワーク共有からファイルをコピーするパスを調整する(2 行)
以下の スクリーンショットは、上記の変更を行った後の nano テキストエディター内の drvins_1.run を示しています 。変更箇所は丸で囲み、一覧に対応する番号を付けています 。

ファイルへの変更を保存するには、
nano エディターを終了するには、
drvins_2.run を編集するには、'nano /net1/tbosdtfiles/drvins_2.run' コマンドで nano テキストエディターを起動します 。
この例では、drvins_2.run に対して次の変更が必要です:
1. 手順 1 で、'add inf' コマンドの行をコメント解除する(1 行)
以下の スクリーンショットは、編集後の nano テキストエディター内の drvins_2.run を示しており、変更箇所が 丸で囲まれています:

ファイルへの変更を保存するには、
nano エディターを終了するには、
両方の TBOSDT スクリプトを編集したので、実際のドライバーインストールを開始できます。
手順 7:Stage 1 スクリプト(drvins_1.run)を実行する
Stage 1 スクリプト(drvins_1.run)を実行するには、Linux のコマンドプロンプトから次のコマンドを実行します:tbosdt /net1/tbosdtfiles/drvins_1.run
この例でインストールする Intel SATA ドライバーの場合、スクリプトの出力は次のようになります:

Stage 1 スクリプトを実行したら、 画面上の TBOSDT の出力を確認し 、エラーメッセージがないか注意してください。 通常、TBOSDT はエラー条件に遭遇すると スクリプトの実行を終了するため、出力の一部が スクロールして消えていても、エラーメッセージは 画面に残っているはずです。見たい 出力が画面から流れてしまった場合は、
tbosdt /net1/tbosdtfiles/drvins_1.run > filename
more filename
トラブルシューティングの 目的では、IFL ブート ディスクを起動する際に、フレーム バッファのビデオモード(ブートメニューのオプション 2)を選択することも有用です。これにより、 スクロールせずに表示できるテキスト量が増えます。
エラーの一般的な原因は次のとおりです:
1. 誤ったドライブ/パーティションをマウントしようとしている(drvins_1.run の手順 1)
2. drvins_1.run の 1 つ以上のコマンドを正しい値に編集していない(手順 6 を参照)
3. drvins_1.run の構文エラーおよび/または入力ミス
ターゲットパーティションからの起動が成功すると期待する前に、Stage 1 スクリプトがエラーなく実行される必要があります。
手順 8:ターゲットパーティションを起動して Stage 2 を実行する
手順 7 で Stage 1 スクリプトが正常に実行されたら、ターゲットパーティションから起動できるはずです 。次の 手順で進めることを推奨します:1. ターゲットパーティションから 通常どおりシステムを起動します。初回起動時にターミナルウィンドウが表示され、 Stage 2 スクリプト(drvins_2.run)が実行されます。通常は数 秒後にシステムが自動的に再起動します。(これは初回起動時の 1 回のみ発生します)。
2. 再起動後、以下の手順 3 の説明に従って Windows をセーフモードで起動 します。セーフモードを使用すると、 Windows が新しいハードウェアを検出する際に、特定の種類の新しいハードウェア(特にビデオ アダプター)に起因して発生し得るハングやその他の問題 を回避できます。
3. Windows XP をセーフモードで起動するには: コンピューターの起動中(POST の直後)に「F8 キー」を連続して 押します。これにより「Windows Advanced Options Menu」が表示されるはずです。矢印キーで 「Safe Mode」を選択し、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 Product Activation)が作動する可能性がある点に注意してください 。その場合、Windows を再アクティベートする必要があります 。
