Hatena::ブログ(Diary)

kanonjiの日記 RSSフィード

http://kanonji.info/blog/ 2013年2月頃に移転しました。

2009-11-03

VirtualBoxのゲスト用WindowsXPをnLiteで軽量にしてみたメモ

nLite - Deployment Tool for the bootable Unattended Windows installation

準備する

MacBookでどうしてもWindowsが使いたい場合に使う、VirtualBoxのゲスト用の軽量なWindowsXPを作ろうと思ってやってみました。

PC-ZERO -nLite-

上記サイトでとても詳しく解説されてるので、準備に限らず全工程で上記サイトが参考になります。

逆にこっちの記事では軽量化を目指しているので、ドライバの統合などまったく触れていない工程があります。

SP3を適用する

Error 404 - Not Found

サービスパックはこのisoを使いました。

HotfixやセキュリティパッチなどWindows Update的なものを適用する

Windows Updates Downloader (WUD)

このツールを使うと、本来Windows Updateを介してダウンロード/インストールするHotfix/セキュリティパッチがダウンロードできます。

IE8は逆に重たくなると思ったので、IE8以外をダウンロードしました。


Windows Updates Downloader (WUD) Update Files (ULs)

Windowsのバージョンや言語によって、Update Lists (.ulz)ファイルが異なるので、自分のWindowsに合致するものをダウンロードします。

.ulzファイルをダブルクリックすれば、Windows Updates Downloaderに読み込まれます。

不要なコンポーネントを削除する

不要なコンポーネントを削れば、それだけ軽量になりますが、重要なコンポーネントを削除すると、起動しなかったりエラーが頻発したりというトラブルにもなります。

自分の場合は、削りすぎたためにインストールが途中で止まってしまいました。


準備の工程で、WindowsをCDからHDDに構成データをコピーしてると思いますが、nLiteはその構成データに対して変更を加えます。

コンポーネントを削除しすぎたと思ったら、SP3の適用からやり直しになってしまい面倒です。

コンポーネント削除の工程の直前で、構成データを複製しておくと、そこからやり直しが出来ます。

最初っからインストールで止まるトラブルが出てしまったので、ドライバやハードウェアサポートなど、起動に深くかかわりそうな箇所毎に区切って作業を進めました。

ドライバの項目で不要と思うコンポーネントを削除したら、一度インストールしてみて、問題が無ければ構成データを複製。

そしたら今度はハードウェアサポートの項目を、という感じです。


nLiteのプリセットファイルは、割と環境依存な部分も含まれてるので、コンポーネントの項目だけを抜粋しておいて置きます。

実はVirtualBoxで起動したら、ひとつだけドライバのないデバイスが出てしまいました。

何も手を加えていないWindowsXPであれば、ドライバがないという事は無かったはずなので、消しすぎてしまったようです。

あくまで参考までにお願いします。

[Components]
;# アプリケーション #
NT バックアップ
アクセシビリティの設定
インターネットゲーム
クリップブック ビューア
ゲーム
スクリーン セーバー
デフラグメンタ
ピンボール
ブリーフケース
ペイント
ワードパッド
電卓
文字コード表
;# オペレーティングシステムの設定 #
Blaster/Nachi 除去ツール
FAT to NTFS コンバータ
Help and Support
IExpress Wizard
MS Agent
MS XML 2.0
Out of Box Experience (OOBE)
Security Center
ウェブビュー
シェルメディアハンドラ
シンボリックデバッガ (NTSD)
ツアー
ディスク/プロファイル クォータ
ディスクのクリーンアップ
デスクトップ クリーンアップ ウィザード
ドキュメントテンプレート
ファイルシステムの暗号化
ファイルと設定の転送ウィザード
ユーザーアカウントの画像
リモートインストールサービス (RIS)
ワトソン博士
外字エディタ
管理者権限を持つ VB スクリプト
検索アシスタント
配色
;# ドライバ #
IBM PS/2 TrackPoint
IBM Thinkpad
ISDN
Logitech WingMan
Microsoft SideWinder
Multifunctional
Sony ジョグダイアル
カメラとビデオカメラ
シリアルペン タブレット
スキャナ
ディスプレイアダプタ (旧式)
テープドライバ
ポータブルオーディオ
モデム
ワイヤレスイーサネット (WLAN)
東芝 DVD デコーダカード
;# ハードウェアサポート #
ALI 1535 SMBus ホスト コントローラ
ALI IDE コントローラ
ATM のサポート
Bluetooth のサポート
Brother デバイス
CPU Intel
CPU Transmeta Crusoe
Firewire Network サポート
Gravis Digital GamePort
Intel PCI IDE コントローラ
Iomega ZIP ドライブ
PCMCIA
RAM ディスク
SD(Secure Digital) ホストコントローラ
Sony メモリースティック
USB イーサネット
USB オーディオのサポート
USB ビデオキャプチャ デバイス
VIA PCI IDE コントローラ
Windows CE USB ホスト
ファイアーワイヤー (1394) のサポート
フロッピーのサポート
マルチポート シリアルアダプタ
赤外線デバイス
東芝 PCI IDE コントローラ
Teletext コーデック
ジョイステックのサポート
ビデオキャプチャ
モデムのサポート
;# サービス #
Alerter
Beep Driver
Distributed Link Tracking Client
DNS Client
Error Reporting
Fax Service
Health Key and Certificate Management Service
IMAPI CD-Burning COM Service
Indexing Service
Kerberos Key Distribution Center
Messenger
Network Access Protection (NAP)
Network DDE
Network Location Awareness (NLA)
QoS RSVP
Quality of Service (QoS)
Remote Registry
Removabl Storage
Route Listening Service
RPC Locator
Secondary Logon
Service Advertising Protocol
Simple TCP/IP Services
Telnet
Uninterruptible Power Supply
Volume Shadow Copy
WebClient
Wired AutoConfig
Wireless Configuration
System Restore Service
;# キーボード #
Albanian キーボード
Arabic (101) キーボード
Arabic (102) AZERTY キーボード
Arabic (102) キーボード
Armenian Eastern キーボード
Armenian Western キーボード
Azeri Cyrillic キーボード
Azeri Latin キーボード
Belarusian キーボード
Belgian (Comma) キーボード
Belgian (Period) キーボード
Belgian French キーボード
Bengali (Inscript) キーボード
Bengali キーボード
Bosnian Cyrillic キーボード
Bosnian キーボード
Bulgarian (Latin) キーボード
Bulgarian キーボード
Canadian French (Legacy) キーボード
Canadian French キーボード
Canadian Multilingual Standard キーボード
Chinese (Simplified) - Microsoft Pinyin IME 3.0 キーボード
Chinese (Simplified) - NeiMa キーボード
Chinese (Simplified) - QuanPin キーボード
Chinese (Simplified) - ShuangPin キーボード
Chinese (Simplified) - US Keyboard キーボード
Chinese (Simplified) - ZhengMa キーボード
Chinese (Traditional) - Alphanumeric キーボード
Chinese (Traditional) - Array キーボード
Chinese (Traditional) - Big5 Code キーボード
Chinese (Traditional) - ChangJie キーボード
Chinese (Traditional) - DaYi キーボード
Chinese (Traditional) - New ChangJie キーボード
Chinese (Traditional) - New Phonetic キーボード
Chinese (Traditional) - Phonetic キーボード
Chinese (Traditional) - Quick キーボード
Chinese (Traditional) - Unicode キーボード
Chinese (Traditional) - US Keyboard キーボード
Croatian キーボード
Czech (QWERTY) キーボード
Czech Programmers キーボード
Czech キーボード
Danish キーボード
Devanagari - INSCRIPT キーボード
Divehi Phonetic キーボード
Divehi Typewriter キーボード
Dutch キーボード
Estonian キーボード
Faeroese キーボード
Farsi キーボード
Finnish with Sami キーボード
Finnish キーボード
French キーボード
FYRO Macedonian キーボード
Gaelic キーボード
Georgian キーボード
German (IBM) キーボード
German キーボード
Greek (220) Latin キーボード
Greek (220) キーボード
Greek (319) Latin キーボード
Greek (319) キーボード
Greek Latin キーボード
Greek Polytonic キーボード
Greek キーボード
Gujarati キーボード
Hebrew キーボード
Hindi Traditional キーボード
Hungarian 101-key キーボード
Hungarian キーボード
Icelandic キーボード
Inuktitut Latin キーボード
Irish キーボード
Italian (142) キーボード
Italian キーボード
Kannada キーボード
Kazakh キーボード
Korean Input System (IME 2000) キーボード
Korean キーボード
Kyrgyz Cyrillic キーボード
Latin American キーボード
Latvian (QWERTY) キーボード
Latvian キーボード
Lithuanian IBM キーボード
Lithuanian キーボード
Luxembourgish キーボード
Malayalam キーボード
Maltese 47-key キーボード
Maltese 48-key キーボード
Maori キーボード
Marathi キーボード
Mongolian Cyrillic キーボード
Nepali キーボード
Norwegian with Sami キーボード
Norwegian キーボード
Pashto キーボード
Polish (214) キーボード
Polish (Programmers) キーボード
Portuguese (Brazilian ABNT) キーボード
Portuguese (Brazilian ABNT2) キーボード
Portuguese キーボード
Punjabi キーボード
Romanian キーボード
Russian (Typewriter) キーボード
Russian キーボード
Sami Extended Finland-Sweden キーボード
Sami Extended Norway キーボード
Serbian (Cyrillic) キーボード
Serbian (Latin) キーボード
Slovak (QWERTY) キーボード
Slovak キーボード
Slovenian キーボード
Spanish Variation キーボード
Spanish キーボード
Swedish with Sami キーボード
Swedish キーボード
Swiss French キーボード
Swiss German キーボード
Syriac Phonetic キーボード
Syriac キーボード
Tamil キーボード
Tatar キーボード
Telugu キーボード
Thai Kedmanee (non-ShiftLock) キーボード
Thai Kedmanee キーボード
Thai Pattachote (non-ShiftLock) キーボード
Thai Pattachote キーボード
Turkish F キーボード
Turkish Q キーボード
Ukrainian キーボード
United Kingdom Extended キーボード
United Kingdom キーボード
United States-Dvorak for left hand キーボード
United States-Dvorak for right hand キーボード
United States-Dvorak キーボード
United States-International キーボード
Urdu キーボード
US English Table for IBM Arabic 238_L キーボード
Uzbek Cyrillic キーボード
Vietnamese キーボード
;# ネットワーク #
Comtrol テスト ターミナルプログラム
H323 MSP
IP 会議
MSN Explorer
NetMeeting
NetWare ネットワーク クライアント
Network Diagnostic
NWLink IPX/SPX/NetBIOS プロトコル
Outlook Express
Peer-to-Peer
TAPI アプリケーションのサポート
Windows Messenger
インターネット インフォメーション サービス(IIS)
インターネット接続ウィザード
ダイアルアップと VPN サポート
ネットワーク モニタドライバとツール
フロントページ拡張
同期マネージャ
;# マルチメディア #
AOL ART イメージ形式のサポート
Intel Indeo コーデック
Media Center
Music サンプル
スピーチのサポート
タブレット PC
マウスカーソル
ムービーメーカー
画像と背景
旧式 CD プレイヤーとサウンドレコーダー
;# 言語 #
;Arabic
Arabic (Algeria)
Arabic (Bahrain)
Arabic (Egypt)
Arabic (Iraq)
Arabic (Jordan)
Arabic (Kuwait)
Arabic (Lebanon)
Arabic (Libya)
Arabic (Morocco)
Arabic (Oman)
Arabic (Qatar)
Arabic (Saudi Arabia)
Arabic (Syria)
Arabic (Tunisia)
Arabic (U.A.E.)
Arabic (Yemen)
Divehi (Maldives)
Pashto
Syriac (Syria)
Urdu
;Armenian
Armenian
;Baltic
Estonian
Latvian
Lithuanian
;Central Europe
Albanian
Bosnian (Latin, Bosnia and Herzegovina)
Croatian
Croatian (Bosnia and Herzegovina)
Czech
Hungarian
Polish
Romanian
Serbian (Latin)
Serbian (Latin, Bosnia and Herzegovina)
Slovak
Slovenian
;Cyrillic
Azeri (Cyrillic)
Belarusian
Bosnian (Cyrillic, Bosnia and Herzegovina)
Bulgarian
FYRO Macedonian
Kazakh
Kyrgyz (Kyrgyzstan)
Mongolian (Mongolia)
Russian
Serbian (Cyrillic)
Serbian (Cyrillic, Bosnia and Herzegovina)
Tatar
Ukrainian
Uzbek (Cyrillic)
;Georgian
Georgian
;Greek
Greek
;Hebrew
Hebrew
;Indic
Bengali (India)
Gujarati (India)
Hindi
Kannada (India)
Konkani
Malayalam (India)
Marathi
Nepali (Nepal)
Punjabi (India)
Sanskrit
Tamil
Telugu (India)
;Korean
Korean
;Simplified Chinese
Chinese (PRC)
Chinese (Singapore)
;Thai
Farsi
Thai
;Traditional Chinese
Chinese (Hong Kong S.A.R.)
Chinese (Macau S.A.R.)
Chinese (Taiwan)
;Turkic
Azeri (Latin)
Turkish
Uzbek (Latin)
;Vietnamese
Vietnamese
;Western Europe and United States
Afrikaans
Basque
Catalan
Danish
Dutch (Belgium)
Dutch (Netherlands)
English (Australia)
English (Belize)
English (Canada)
English (Caribbean)
English (Ireland)
English (Jamaica)
English (New Zealand)
English (Philippines)
English (South Africa)
English (Trinidad)
English (United Kingdom)
English (United States)
English (Zimbabwe)
Faeroese
Filipino
Finnish
French (Belgium)
French (Canada)
French (France)
French (Luxembourg)
French (Monaco)
French (Switzerland)
Frisian
Galician (Spain)
German (Austria)
German (Germany)
German (Liechtenstein)
German (Luxembourg)
German (Switzerland)
Icelandic
Indonesian
Inuktitut (Latin)
Irish
Italian (Italy)
Italian (Switzerland)
Luxembourgish
Malay (Brunei Darussalam)
Malay (Malaysia)
Maltese
Maori
Mapudungun
Mohawk
Northern Sotho
Norwegian (Bokmal)
Norwegian (Nynorsk)
Portuguese (Brazil)
Portuguese (Portugal)
Quechua (Bolivia)
Quechua (Ecuador)
Quechua (Peru)
Romansh
Sami, Inari (Finland)
Sami, Lule (Norway)
Sami, Lule (Sweden)
Sami, Northern (Finland)
Sami, Northern (Norway)
Sami, Northern (Sweden)
Sami, Skolt (Finland)
Sami, Southern (Norway)
Sami, Southern (Sweden)
Spanish (Argentina)
Spanish (Bolivia)
Spanish (Chile)
Spanish (Colombia)
Spanish (Costa Rica)
Spanish (Dominican Republic)
Spanish (Ecuador)
Spanish (El Salvador)
Spanish (Guatemala)
Spanish (Honduras)
Spanish (International Sort)
Spanish (Mexico)
Spanish (Nicaragua)
Spanish (Panama)
Spanish (Paraguay)
Spanish (Peru)
Spanish (Puerto Rico)
Spanish (Traditional Sort)
Spanish (Uruguay)
Spanish (Venezuela)
Swahili
Swedish
Swedish (Finland)
Tswana
Welsh
Xhosa
Zulu
;# ディレクトリ #
DOCS
SUPPORT
VALUEADD
;# 互換性 #

オプション・Tweaksの設定

Windowsインストール後にレジストリで設定するような事を、あらかじめ設定する工程です。

ここは操作性などのカスタマイズなので、好みよって違うと思いますが、一応Tweaksの部分を抜粋で置いておきます。

[Tweaks]
Internet Explorer-パスワードキャッシュを無効にする
Internet Explorer-ホームページを設定する-www.google.com
Internet Explorer-マーケットプレースのブックマークを無効にする
Windows Media Player-メディアガイドでの開始を無効にする
Windows Media Player-ライブラリへのミュージックの自動追加を無効にする
Windows Media Player-最近使ったファイルの一覧表示を無効にする
Windows Media Player-全てのコンテキストメニュー項目を削除する
エクスプローラ-Web ファイルとフォルダの接続を無効にする
エクスプローラ-Windows エクスプローラの表示の変更-詳細
エクスプローラ-オートランを無効にする
エクスプローラ-クラシックコントロールパネルを使用する
エクスプローラ-コンテキストメニューから 送る を削除する
エクスプローラ-システム フォルダの内容を表示する
エクスプローラ-ショートカットの接尾辞を無効にする
エクスプローラ-フォルダのコンテキストメニューに 'コマンドプロンプト' を追加する
エクスプローラ-隠しファイル/フォルダを表示する
エクスプローラ-全てのウィンドウにステータスバーを表示する
エクスプローラ-登録されているファイルタイプの拡張子を表示する
エクスプローラ-別のプロセスでフォルダをウィンドウを開く
エクスプローラ-保護されたオペレーティングシステムファイルを表示する
スタートメニュー-プリンタ と FAX-この項目を表示しない
スタートメニュー-マイピクチャ-この項目を表示しない
スタートメニュー-マイミュージック-この項目を表示しない
スタートメニュー-ユーザーのログオフを削除する
スタートメニュー-検索からインターネットから検索を削除する
タスクバー-タスクバーのグループ化機能を無効にする
ネットワーク-ログオン時にネットワークドライブの割り当ての再確立を無効にする
ネットワーク-ワークグループ/ドメインに PC を表示しない
ネットワーク-管理共有を無効にする
ネットワーク-簡易ファイルの共有を無効にする
パフォーマンス-アイドル時のハードディスクの最適化を無効にする
パフォーマンス-サムネイルのキャッシュを無効にする
パフォーマンス-ファイルの最終アクセスタイムスタンプを無効にする
パフォーマンス-最小の電源設定にする
パフォーマンス-不正ショートカットリンクのトラッキングを無効にする
ブートとシャットダウン-ログオン画面-クラシックセットアップを使用する
プライバシー-Alexa を削除する
マイコンピュータ-管理ツールを追加する
マイコンピュータ-共有ドキュメントを削除する

インストールディスクのisoを生成して完了

最後に、上記の変更を加えた新しいインストールディスクのisoで作成して完了です。

Linuxのような再配布可能なOSなら、軽量化版として公開できそうですが、Windowsなのでそうも行かないのが残念。

前述の通り何かコンポーネントを削りすぎてますが、軽量化した結果、インストール直後でCドライブの使用量が1.68GB程度でした。

タスクマネージャーで見る限り、起動直後のメモリ使用量が100MB程度です。

momo COmomo CO 2011/04/21 13:44 >VirtualBoxで起動したら、ひとつだけドライバのないデバイスが出てしまいました

この辺を書いておいてくれるとありがたいのですが。ドライバーや、サービス、コンポーネントは、その人の環境なので、公開時(汎用とする)には、最小公倍数ではだめで、最大公約数が求められている。その辺の研究は、どこも似たり寄ったり、やはりチップセット別に記載があるコメントが一番信頼がおけるようだ。たまにそのようなブログにぶち当たるが、

取りまとめたサイトが少ないようだ。たぶん、いまさらXPか? いまさらVistaか? と言うことだろうか

古い書き込みにコメントしてすみません。次世代のWindowsで、いよいよXPの対応がマイクロソフトで消えるので。いそいで最終版のXPメディアを作っているところです。Vistaも(この2つの対応のソフトがあるので7でためしたが、やはりだめでしたVistaでぎりぎり偽装させて使っている)

kanonjikanonji 2011/04/22 09:47 コメントどうもです。

Intel 82371SB PCI to ISA bridge
http://f.hatena.ne.jp/kanonji/20110421212607

もう昔の事なんであまり覚えてないですが、デバイスが何かは確認できたので貼っておきます。この時に軽量化したのはあまり多用してはいないけど、一応使えてはいます。
nLiteはちょっと興味があったのでやってみたけど、その後使うこともなかったので、あまりお役には立てないと思いますが、デバイス名が何かのヒントになれば。

ブログでどこまで詳しく書くかは割と悩んでいるところなんですよね。詳しすぎたら、詳しく書くための下調べも書く時間も長くなってしまいますし、書かなさ過ぎれば読んでもわからないエントリーになっちゃうし。どちらかというと、ついつい蛇足を書いてしまうので、なるべく簡単に書くように意識していたりします。
nLiteはあまり使った事もないし、工程も長いし、あまり頻繁にやらないしで、ちょっと詳しく書ききれなかったのは覚えています。デバイスマネージャーで簡単に確認できることを、なぜ確認しなかったのか最早わかりませんが、たぶん試行錯誤が多くて疲れてたんだと思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kanonji/20091103/1257214728