2011年4月11日月曜日

WindowsXP をUSBメモリにインストールする

クリーンインストールする方法
注意
• USBメモリ内のデータは消去されますので、必要なデータが入っていないか確認してください。 また、トラブルを避けるため、ほかのUSBメモリやUSB接続のドライブ類は取り外しておくことをお勧めします。
用意するもの
• XPのインストールCD
• usbboot.inf
• CD-Rドライブと空のCD
手順
1. WindowsXPのインストールCD内の全ファイルを任意のフォルダ(例:D:\WinUSB)にコピーし、 SP1適用済みにする。
2. I386フォルダ内にある、以下の5ファイルを任意のフォルダ(例:D:\usb)に移動。
• DOSNET.INF
• TXTSETUP.SIF
• USB.IN_
• USBPORT.IN_
• USBSTOR.IN_
3. コマンドプロンプトを起動し、expandコマンドで拡張子IN_のファイルを展開。
4. cd /d c:\usb
5. expand -r usb.in_
6. expand -r usbport.in_
7. expand -r usbstor.in_

8. TXTSETUP.SIFを次のように書き換える。
0. [InputDevicesSupport.Load]セクションにある以下の5行を切り取り、 [BootBusExtenders.Load]セクションに追加。
1. usbohci = usbohci.sys
2. usbuhci = usbuhci.sys
3. usbehci = usbehci.sys
4. usbhub = usbhub.sys
5. usbstor = usbstor.sys

6. [InputDevicesSupport]セクションにある以下の5行を切り取り、 [BootBusExtenders]セクションに追加。
7. usbehci = "Enhanced Host Controller",files.usbehci,usbehci
8. usbohci = "Open Host Controller",files.usbohci,usbohci
9. usbuhci = "Universal Host Controller",files.usbuhci,usbuhci
10. usbhub = "Generic USB Hub Driver",files.usbhub,usbhub
11. usbstor = "USB Storage Class Driver",files.usbstor,usbstor

12. 次の行を[HiveInfs.Fresh]セクションに追加。
13. AddReg = usbboot.inf,usbservices

14. 次の行を[SourceDisksFiles]セクションに追加。
15. usbboot.inf = 1,,,,,,_x,3,,3

9. USB.INFを次のように書き換える。
[StandardHub.AddService]セクションと[CommonClassParent.AddService]セクションにある 以下の行を書き換え。
StartType = 0 ; SERVICE_DEMAND_START ←値を0に
LoadOrderGroup = Boot Bus Extender ←「=」以降を書き換え

10. USBPORT.INFを次のように書き換える。
[EHCI.AddService]・[OHCI.AddService]・[UHCI.AddService]・[ROOTHUB.AddService]にある以下の行を書き換え。
StartType = 0 ; SERVICE_DEMAND_START ←値を0に
LoadOrderGroup = Boot Bus Extender ←「=」以降を書き換え

11. USBSTOR.INFを次のように書き換える。
[USBSTOR.AddService]にある以下の行を書き換え。
StartType = 0 ←値を0に
Tag = 3 ←追加
LoadOrderGroup = Boot Bus Extender ←追加

12. DOSNET.INFを次のように書き換える。
次の行を[Files]に追加。
d1,usbboot.inf

13. コマンドプロンプトで、makecabコマンドで拡張子IN_のファイルを作成。
14. makecab usb.inf
15. makecab usbport.inf
16. makecab usbstor.inf

17. D:\usb 内にある、以下の5ファイルを D:\WinUSB\I386 フォルダに書き戻す。
• DOSNET.INF
• TXTSETUP.SIF
• USB.IN_
• USBPORT.IN_
• USBSTOR.IN_
18. usbboot.infをI386フォルダにコピー。
19. SP適用済みCDの要領で D:\WinUSB フォルダをCDに焼く。
20. 内蔵ハードディスクをBIOSで無効にするか、PCから取り外す。
これを行わないと、内蔵ハードディスクにブートセクタやブートマネージャが書き込まれてしまいます。
21. 手順12で作ったCDから起動して、USBメモリへ通常のインストールを行う。
22. USBメモリで一回起動してみる。
起動に失敗する場合、インストールされたUSBメモリの内容を一回バックアップして、 手動で起動可能にする。 バックアップの際、ntldrやboot.iniファイル(不可視なので注意)とかも取っておく。 そしてUSBメモリを HP USB Disk Storage Format Tool で一回Quickフォーマットする。 そして、USBメモリにバックアップしたファイルの中から
0. ntldr
1. ntdetect.com
2. boot.ini
3. bootfont.bin
の順番でコピー。あとはWindowsフォルダも同じくコピー。 そしてもう一回USBメモリで起動してみる。
23. システムドライブがリムーバブルディスクとして認識されると、Windows Update ができないなどの不都合が生じますので、 ハードディスクとして認識されるようにします。
0. デバイスマネージャの「ディスク ドライブ」にある、USBメモリのプロパティを開く。
1. 「詳細」タブのドロップダウンから「ハードウェアID」を選択し、表示される文字列の1行目をメモしておく。
2. Hitachi Microdrive Filter Driver をダウンロードし、適当なフォルダに展開する。
3. Hitachi Microdrive Filter Driver を展開したフォルダにある cfadisk.inf を開く。
4. [cfadisk_device]という行の下に
%Microdrive_devdesc% = cfadisk_install,○○○○○○○○○
という行を追加して保存する。(○○○○○○○○○の部分に2.でメモした文字列を入れる)
5. デバイスマネージャの「ディスクドライブ」にある、USBメモリを右クリックし、「ドライバの更新」を選択。
6. ハードウエア更新ウィザードが開始されるので、「いいえ、今回は接続しません」を選択し、次へ。
7. 「一覧または特定の場所からインストールする(詳細)」を選択し、次へ。
8. 「検索しないで、インストールするドライバを選択する」を選択し、次へ。
9. 「互換性のあるハードウェアの表示」にチェックが入っていることを確認し、「ディスク使用」を選択。
10. ファイル選択画面が表示されるので、5.で書き換えた cfadisk.inf を選択し、次へ。
11. ドライバのインストール作業が開始されます。途中で2回ほど警告が出ますが、そのまま「はい」→「続行」と進みます。
12. インストールが終了すると、再起動を要求されますので、そのまま再起動します。
参考リンク
• USBメモリにWindowsいれてみる - れの日記こーなー
• Windows XPをSDカード(SDHCカード)にインストールする - EeeJapan - ASUS Eee PC に関する日本語情報サイト - eee japan
• installing Windows XP on SDHC card on EeePC 701
インストールされているOSをバックアップする方法
注意
• エクスプローラでシステムファイルをコピーする場合、フォルダオプションの表示タブで 「すべてのファイルとフォルダを表示する」を選択し、 「登録されているファイルの拡張子は表示しない」・ 「保護されたオペレーティング システム ファイルを表示しない (推奨)」のチェックを外す必要があります。
• USBメモリ内のデータは消去されますので、必要なデータが入っていないか確認してください。 また、トラブルを避けるため、ほかのUSBメモリやUSB接続のドライブ類は取り外しておくことをお勧めします。
• 管理者権限を持つユーザーで実行する必要があります。
用意するもの
• PeToUSB
• バックアップを行うための別のOS
Windows PE、Linux、別のパーティションにインストールされたWindowsなど。
※Linuxを使用する場合、バックアップ後にUSBメモリ内のdesktop.iniファイルをすべて削除する必要があります。
※Linuxを使用する場合、Puppy Linuxだと起動後にUSBメモリを外せるので便利です。
手順
1. HDDの内容を整理する。
2. USBメモリをUSBブート可能な形でフォーマットする。
PeToUSBを実行し、フォーマットする。そのとき、下記のオプションをONにしておく。
※FAT32だとなぜかブートできない。
• Enable Disk Format
• Quick Format
• Enable LBA(FAT16X)
3. USBメモリへブートマネージャをインストール
HDDのC:\から下記ファイルをコピー。必ず1)から4)の順にコピーする。
※2)~4)の順序は違っても起動するかも
• ntldr
ntdetect.com
• bootfont.bin
• boot.ini
4. バックアップを行うための別のOSを起動する。
5. HDDの内容をUSBメモリへコピーする。
• コピーの方法は、GUIでコピーするなり、cpコマンドを使うなり、お好きな方法で。
• すでにコピー済みのntldr、ntdetect.com、bootfont.bin、boot.iniは絶対にコピーしないこと!
• Linux上で行う場合、コピー後にUSBメモリ内のdesktop.iniファイルをすべて削除しておく。(手順6.以降で行ってもよい)
(一部属性がコピーされず、起動時にdesktop.iniファイルが開かれたり、スタートメニューへdesktop.iniが表示されたりするため。 PE WindowsなどのWindowsからコピーした場合、削除する必要はない。)
6. HDDからWindowsを起動する。
※この時点ではUSBから起動しても、起動中にブルースクリーンになる。
7. USB内のWindowsのレジストリを開く。
0. ファイル名を指定して実行→regeditでレジストリエディタを起動
1. HKEY_LOCAL_MACHINEを選択→メニューのファイル→ハイブの読み込み
2. D:\WINDOWS\system32\config\systemファイルを開く(USBがDドライブの場合)
3. キー名に「SYSTEM2」を指定する。
8. USBのドライブ名とHDDのドライブ名を入れ替える。
※下記はUSBメモリがDドライブの場合。違う場合は適宜変更すること。
※HDDのドライブ名「\DosDevices\C:」とUSBのドライブ名「\DosDevices\D:」の名前を入れ替えただけ。
0. HKEY_LOCAL_MACHINE/SYSTEM2/MountedDevicesを開く
1. 「\DosDevices\D:」の名前を「\DosDevices\CC」に変更する
2. 「\DosDevices\C:」の名前を「\DosDevices\D:」に変更する
3. 「\DosDevices\CC」の名前を「\DosDevices\C:」に変更する
9. 起動時にUSBドライバを読み込むように変更する。
• XPの場合
• HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbehciを開く
• 「Start」の値を0に変更する。
• 「Group」の値を「System Bus Extender」に変更する
• HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbhubを開く
• 「Start」の値を0に変更する。
• 「Group」の値を「System Bus Extender」に変更する
• HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbstorを開く
• 「Start」の値を0に変更する。
• 「Group」の文字列値を新規作成し、値を「System Bus Extender」に変更する
• 「Tag」のDWORD値を新規作成し、値を3に変更する
• HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbuhciを開く
• 「Start」の値を0に変更する。
• 「Group」の値を「System Bus Extender」に変更する
※ControlSet001以外にControlSetがあるなら、1)~13を同様に行う。
• 2000の場合
0. HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/uhcdを開く
1. 「Start」の値を0に変更する。
2. 「Group」の値を「System Bus Extender」に変更する
3. HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbehciを開く
4. 「Start」の値を0に変更する。
5. 「Group」の値を「System Bus Extender」に変更する
6. HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbhubを開く
7. 「Start」の値を0に変更する。
8. 「Group」の値を「System Bus Extender」に変更する
9. HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/usbhub20を開く
10. 「Start」の値を0に変更する。
11. 「Group」の値を「System Bus Extender」に変更する
12. HKEY_LOCAL_MACHINE/SYSTEM2/ControlSet001/Services/USBSTORを開く
13. 「Start」の値を0に変更する。
14. 「Group」の文字列値を新規作成し、値を「System Bus Extender」に変更する
15. 「Tag」のDWORD値を新規作成し、値を3に変更する
※ControlSet001以外にControlSetがあるなら、1)~16を同様に行う。
10. USBのレジストリを切り離す。
※切り離すまで、レジストリエディタを終了してはいけない。
• HKEY_LOCAL_MACHINE/SYSTEM2を選択する
• メニューのファイル→ハイブのアンロードを選択
• 確認ダイアログで「はい」を選択
11. USBメモリのboot.iniを修正する。
12. [boot loader]
13. timeout=30
14. default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
15. [operating systems]
16. multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="USB memory Windows XP Professional" /noexecute=optin /fastdetect
17. multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Internal HDD Windows XP Professional" /noexecute=optin /fastdetect

18. USBからWindowsを起動してみる。
※Windowsのロゴ画面が一瞬表示されてブルーバックになった場合、8.と9.のレジストリの設定が正しくない。
19. システムドライブがリムーバブルディスクとして認識されると、Windows Update ができないなどの不都合が生じますので、 ハードディスクとして認識されるようにします。
• デバイスマネージャの「ディスク ドライブ」にある、USBメモリのプロパティを開く。
• 「詳細」タブのドロップダウンから「ハードウェアID」を選択し、表示される文字列の1行目をメモしておく。
• Hitachi Microdrive Filter Driver をダウンロードし、適当なフォルダに展開する。
• Hitachi Microdrive Filter Driver を展開したフォルダにある cfadisk.inf を開く。
• [cfadisk_device]という行の下に
%Microdrive_devdesc% = cfadisk_install,○○○○○○○○○
という行を追加して保存する。(○○○○○○○○○の部分に2.でメモした文字列を入れる)
• デバイスマネージャの「ディスクドライブ」にある、USBメモリを右クリックし、「ドライバの更新」を選択。
• ハードウエア更新ウィザードが開始されるので、「いいえ、今回は接続しません」を選択し、次へ。
• 「一覧または特定の場所からインストールする(詳細)」を選択し、次へ。
• 「検索しないで、インストールするドライバを選択する」を選択し、次へ。
• 「互換性のあるハードウェアの表示」にチェックが入っていることを確認し、「ディスク使用」を選択。
• ファイル選択画面が表示されるので、5.で書き換えた cfadisk.inf を選択し、次へ。
• ドライバのインストール作業が開始されます。途中で2回ほど警告が出ますが、そのまま「はい」→「続行」と進みます。
• インストールが終了すると、再起動を要求されますので、そのまま再起動します。

0 件のコメント:

コメントを投稿