Palm84 某所の日記

死のうは一定、しのびクマには何しよぞ...

Windows XP のインストールに「ネットワークブート」を使うYO!の巻

INDEX

尚、クライアントPC(XPをインストールするPC)側に必要なメモリ (RAM) については 256MB 以上あれば実行可能(な筈)です。Windows PE が使えない場合の選択肢の一つとして挙げていいのではと。

これってナニ

CDブート・FDブートともできない環境で Windows XP をクリーン(再)インストールする方法の一例です。

※ 「ネットワーク・インストール」ではござらぬ。あくまで「ネットワークブートを利用」つーわけで。

CDブート・FDブートともできない場合はHDを取り外して直接ブート可能に設定する手もあるけど、こちらは取り外しなしでDOSなどをブートさせる方法であります。XP世代のメーカー製PCではほぼネットワークブートに対応してると思われるのでこんな手もありますよん、つーことで。

※ Linuxユーザ以外にはちーとメンドウな作業ぜよ。とは言え、ワシの様なシロウトでもできることなのでそんなに難しいことではないがやき。

  1. CDブートできない場合、DOSをブートして winnt.exe の実行によりインストールが可能。このDOS起動をネットワークブートで実行。
  2. winnt.exe を実行するには事前にHDへI386フォルダのコピーが必要。これをネットワークブートの Linux (LiveCD) 上にて行う。

尚、

  • 【1】については、FDブート可能ならDOS起動FDで代用可能
  • 【2】については、FD Linux + USBメモリなどでも代用可能
Balder (FreeDOS)

DOSは fdisk, format, himem.exe などを含む (FreeDOS) Balder を使用。

※ なぜ MS-DOS じゃなく FreeDOS かと言うと、私がMS-DOSをあまり知らないから(滝汗)という要因もありますが、fdisk は128GB超HDDでも一応使える(※ 最大対応サイズは?ですけど)、複数の (DOS) 基本 - Primary - パーティションの作成も可能。Balder ならコマンド一式入ってるし、ということで。

Windows PE の使用

Windows PE が作成済ならこちらの方が楽です。時間もかなり短く済みます。詳しい手順はまた今度。

  • 注意点
    • PE 2.1 - RAM 256 MB でギリギリ?(グラフィック・メモリ共有の場合はだめかも)
    • 7 のシステム修復ディスク (PE 3.0) - RAM 256 MB では起動してもツール類の実行ができない
  1. Windows でネットワークブート用サーバ設定
  2. FreeDOSをネットワークブート、パーティション作成(※ パーティション作成済なら不要)
  3. Windows PE をネットワークブート
    • C: ドライブをNTFSでフォーマット
    • bootsect /nt52 C: 実行
  4. ネットワーク、またはUSBメモリなどからHDへコピーした I386 フォルダ内の winnt32.exe 実行

ネットワークブート用サーバ

サーバ側の設定。とりあえず2通りあげときます。

WindowsでPXEネットワークブート用サーバ

工数は多いなれど、一度設定しおけば色々使えて便利。

Balder (FreeDOS)、KNOPPIX5.3.1CD日本語版などなどをネットワークブート設定します。

※【注意】KNOPPIX5.3.1CD日本語版は2008年5月リリースなのでやや古いです。新しい規格のPCではHDやLANなどが認識できないかもしれません。その場合は、SystemRescueCd や Parted Magic などネットワークブート設定可能な Linux LiveCD の最新版を試してみませう。

KNOPPIX Terminal Server

KNOPPIX5.3.1CD日本語版、または KNOPPIX 6.2 DVD日本語版 をCD/DVDブートさせて設定スクリプトを実行

2021.4.25 追記

現在ダウンロード可能なものです

※【注意】KNOPPIX5.3.1CD は2008年5月リリースなのでやや古いです(KNOPPIX 6.2 DVD は2009年12月リリース)。新しい規格のPCではHDやLANなどが認識できないかもしれません。その場合は、SystemRescueCd や Parted Magic などネットワークブート設定可能な Linux LiveCD の最新版を試してみませう。

KNOPPIX5.3.1CDは RAM 256MB 以上で起動おk、6.2DVDは RAM 256MBではギリギリかも

  1. サーバ用PCで KNOPPIX (CD/DVD) の起動
  2. KNOPPIX Terminal Server 実行
  3. balder.img のコピー

KNOPPIX 及び Balder (FreeDOS) をネットワークブート設定します。

knoppix-terminalserver 実行

コマンドなら $ knoppix-terminalserver

FreeDOS Balder (balder.img) のコピー

KNOPPIX CD(DVD) に元々含まれてるのでTFTPルートにコピーするだけ。

Konsole (または Terminal emulator) からコマンド実行

$ sudo cp /cdrom/boot/isolinux/balder.img /tftpboot
$ sudo cp /usr/lib/syslinux/memdisk /tftpboot
Samba サーバの起動

【注意】KNOPPIX 6.2 DVD にはありません

サーバ機から I386 フォルダをコピーする場合は Samba サーバを起動させておきます。

※ KNOPPIX 起動前に HD上に I386 フォルダをコピーしておきませう。

  • I386 を保存したドライブをマウント
    • デスクトップの 【Hard Disk [hda1]】や【Hard Disk [sda1]】などのアイコンをクリックして内容確認(※ Konqueror が起動して内容が確認できたらおk)
  • ホスト名変更(※ 必須ではないけどクライアント側のホスト名も「knoppix」となるので)
$ sudo hostname knoppix2

コマンドなら $ sambastart

  • IPアドレス確認
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:40:45:**:**:**  
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
<あとは略>

クライアントPCをネットワークブート

インストール対象PCをネットワークブートさせるべし。

  1. BIOS設定確認
  2. ネットワークを選択してブート

BIOS の設定はいろいろなので詳しくは書けませぬが、起動時にEsc, F1, F2, F8, F12 キーなど押しでブートデバイス選択画面が出る機種が多いです。「Network」などを選択してブートを試すべし。

一発起動できない場合は BIOS の Boot 設定で LAN や Network とかが有効になってるか確認、[RPL/PXE] の選択肢がある場合は PXE を選択。

ブートデバイス選択画面が出ない場合は、Network を最優先にして試すべし。

FreeDOS でFAT32フォーマット

Balder (FreeDOS) の起動

ネットワークブートするする。

  • Windows サーバの場合は
    • ブートメニューから「Balder」を選択
  • KNOPPIX Terminal Server の場合は
    • boot プロンプトで下記を入力
    • boot: /memdisk initrd=/balder.img

メニュー選択は【3】のまま(HIMEM 組み込み)Enter で起動。

f:id:palm84:20181224164206p:plain

keyb jp と打つとJPキーボード配列に。

FDISK でFAT32パーティション作成
  1. まっさらHDなら一から作成
    • C: となるパーティションがNTFSでフォーマット済の場合は、一旦削除してから基本 - Primary - Partition 作成
  2. C: となるパーティションを active 設定
  3. C: となるパーティションの設定確認
    • Status - A (active = boot)
    • Type - PRI DOS
    • System - FAT32 L

f:id:palm84:20181224164210p:plain

Esc 連打でfdiskを抜けてCtrl-Alt-DelでFreeDOSを再起動

FreeDOSを再起動して C: をFAT32でフォーマット
  1. format c:
  2. Proceed with format (YES/NO)?YES
  3. Please enter volume label (max. 11 chars): はそのまま Enter

f:id:palm84:20181224164214p:plain

Linux上でも確認しやすい様に C:ドライブに目印ファイル作っときませう

copy nul c:\C.txt

KNOPPIX で I386 フォルダをコピー

KNOPPIX5.3.1CD
C: ドライブをマウント
  1. デスクトップのアイコン【Hard Disk】などをクリック
    • 目印ファイル C.txt を確認
  2. 書き込み可能に設定
    • アイコンを右クリック【Change read/write mode】

USBメモリなどをマウントして(XPセットアップCD内の)I386 フォルダをコピーしませう。

コマンドでコピーする場合は...
  • 一例として
    • C: ドライブのマウントポイント名 - /media/hda1
    • USBメモリのマウントポイント名 - /media/sdb1
    • I386を保存したディレクトリ - WinCD
$ cp -a /media/sdb1/WinCD/I386 /media/hda1

※ 大文字小文字は区別されるので注意!

ネットワークからコピーする場合は、ファイルマネージャ (Konqueror) でメニュー 【移動】(進む)【ネットワークフォルダ】【Samba共有】で 共有フォルダに接続可能。

ネットワークからのコピー(コマンドで)

ファイルマネージャ (Konqueror) でネットワークからコピーした際に、すべてのファイルがコピーできない場合がありました(※ I386 フォルダは 600 MB 以上なのに 200 MB 程しかコピーされないとか)。こんな場合はコマンドでやっちゃおう

  • 一例ですが...
    • サーバ側のIPアドレス - 192.168.0.2
    • 共有名 - hoge
    • I386を保存したディレクトリ - WinCD
    • C: ドライブのマウントポイント名 - /media/hda1
    • ユーザ名 - palm84
    • パスワード - pass

※ それぞれの値は実際のものに置換すべし

$ sudo mkdir /mnt/lan
$ sudo mount -t smbfs -o codepage=cp932,iocharset=utf8,uid=knoppix,username=palm84,password=pass //192.168.0.2/hoge /mnt/lan
$ cp -a /mnt/lan/WinCD/I386 /media/hda1
KNOPPIX 6.2 DVD
  1. デスクトップの【マイドキュメント】をクリックしてファイルマネージャ起動
  2. 左ツリーの【x.xx GB ボリューム】をクリックでHDなどのマウントが可能(書き込み可となる)
コマンドでコピーする場合は...
  • 一例として
    • C: ドライブのマウントポイント名 - /media/hda1
    • USBメモリのマウントポイント名 - /media/sdb1
    • I386を保存したディレクトリ - WinCD
$ cp -a /media/sdb1/WinCD/I386 /media/hda1

※ 大文字小文字は区別されるので注意!

ネットワークからのコピー(コマンドで)

サーバPCが KNOPPIX 6.2 ではだめ。(※ 別の Windows PC や LAN接続HDはおk)

  • 一例ですが...
    • サーバ側のIPアドレス - 192.168.0.2
    • 共有名 - hoge
    • I386を保存したディレクトリ - WinCD
    • C: ドライブのマウントポイント名 - /media/hda1
    • ユーザ名 - palm84
    • パスワード - pass

※ それぞれの値は実際のものに置換すべし

$ sudo mkdir /mnt/lan
$ sudo mount -t cifs -o codepage=cp932,iocharset=utf8,uid=knoppix,username=palm84,password=pass //192.168.0.2/hoge /mnt/lan
$ cp -a /mnt/lan/WinCD/I386 /media/hda1

FreeDOSで winnt.exe 実行

  • JPキーボード配列に
keyb jp

I386フォルダに移動してwinnt.exeを実行

  • I386フォルダに移動
pushd c:\i386
  • winnt.exeを実行
winnt

スクリーンショットなどは下記ページにて。

いろいろ

XP上で winnt32.exe 実行

XPが起動可能な状態ならこんな手もありまする。

SP3統合

XPセットアップファイルがSP1,SP2の場合は不具合の出る可能性が高いので、SP3ファイルを統合しておきませう。(※ SPなしの場合はSP2→SP3の段階的統合が必要かもしれません?)

  1. フォルダ作成 C:\Test D:\Test とか
  2. XPセットアップCDの内容(または i386 フォルダごと)を D:\Test にコピー
  3. SP3ファイルを保存したディレクトリに移動し下記コマンド実行
WindowsXP-KB936929-SP3-x86-JPN.exe /integrate:D:\test

※ 下記はSP2の例ですが参考に