vagrantでwindows xpのbase box作成2

2014-03-02
vagrant
windows

※注 本手順は失敗の履歴です。不毛なのが好きな方はどうぞ。

前回、Macがフリーズして終わったので、ちゃんと動くようにするまでやる!
ちょうどタイミング良く素晴らしい参考記事が出てたので、参考にしまくる。

Vagrant で作ったり壊したりできる Windows 環境を手に入れるまでの手順

参考記事がほとんど答えのような気もするが、頑張るぞ!ヘ(゚∀゚ヘ)アヒャ  

リベンジで試したこと

  • メモリ割り当てを512MBへ (変更前は2Gだった・・・)
  • CPU割り当てを2個へ (変更前は4個)
  • vagrantユーザ作成 (これはそもそも致命的だろw)

さらに、winrmの設定を行う。 BOX作成対象のwindows xpのコマンドプロンプトにて

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>winrm quickconfig -q
WinRM はこのコンピューター上で要求を受信するように設定されていません。
次の変更を行う必要があります:

WinRM サービスの種類を自動開始に設定します。
WinRM サービスを開始します。

WinRM は要求を受信するように更新されました。

WinRM サービスの種類を正しく変更できました。
WinRM サービスが開始されました。
WSManFault
Message = アクセスが拒否されました。

エラー番号: -2147024891 0x80070005
アクセスが拒否されました。

winrmの最初のコマンドから上手くいかねーーーー!(ノД`)シクシク

ネットで解決策を探ると、ドメインに参加してないアカウントでやると拒否られるらしい。
レジストリの設定で回避出来るようなので、試す。 BOX作成対象のwindows xpのコマンドプロンプトにて

1
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Windows XPを再起動して、もう一度コマンドを実行するが同じエラーが出る。ヽ(`Д´)ノウワァァァン!! もう駄目かと思ったら、先達がいた。

Windows XP と WinRM は相性が悪い ぬぉー偉い!天才!こんなの俺では絶対気づかない!

指摘通りに設定を変更すると・・・キタ━━━━(゚∀゚)━━━━!!。 Virtual Box上のwindows xpでwinrmが無事設定出来た。

1
2
3
4
5
6
7
8
9
10
11
12
>winrm quickconfig -q
WinRM は既にこのコンピューター上で要求を受信するように設定されています。
WinRM は、管理用にこのコンピューターへのリモート アクセスを許可するように設定されていません。
次の変更を行う必要があります:

このコンピューター上のあらゆる IP への WS-Man 要求を受け付けるため、HTTP://* 上に WinRM リスナーを作成します。
WinRM ファイアウォールの例外を有効にします。

WinRM はリモート管理用に更新されました。

このコンピューター上のあらゆる IP への WS-Man 要求を受け付けるため、HTTP://* 上に WinRM リスナーを作成しました。
WinRM ファイアウォールの例外を有効にしました。

その他のwinrmコマンドも投入!

1
2
3
4
5
>winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"}
>winrm set winrm/config @{MaxTimeoutms="1800000"}
>winrm set winrm/config/service @{AllowUnencrypted="true"}
>winrm set winrm/config/service/auth @{Basic="true"}
>sc config WinRM start= auto

そして、おもむろにBOXを作成する!

1
$ vagrant package --base vagrant-winxp --vagrantfile Vagrantfile.txt

※Vagrantfile.txtについては参照元をみてください。

そして、長い。(-_-;) ・・・・・・ ・・・・・ ・・・ ・・ ・ ※30分くらいは覚悟しましょう。
boxファイルが出来たら、前回作成したboxがあるので、ひとまず削除してから、追加

1
2
3
4
5
6
7
8
9
10
$ vagrant box list
winxp (virtualbox)
$ vagrant box remove winxp
Removing box 'winxp' with provider 'virtualbox'...
$ vagrant box add winxp package.box
Downloading box from URL: file:/Users/hanhan/tmp/package.box
Extracting box...te: 79.3M/s, Estimated time remaining: --:--:--)
Successfully added box 'winxp' with provider 'virtualbox'!
$ vagrant box list
winxp (virtualbox)

よし舞台は整った! と思ったら、全然整ってなかった! vagrant-windowsプラグインが入ってなかった!ダメだ!俺は全然ダメだ!

1
$ vagrant plugin install vagrant-windows

ようやく準備が整った感がある。

1
$ vagrant init winxp

よしアップ!

1
$ vagrant up

orz…動かない いや、正確に言うとwindows-xpの仮想サーバは立ち上がるが、vagrantと上手く通信出来ていない。

virtual boxのプレビューを見ると、ログイン画面までは行っているようだ。
こういう時は、公式ドキュメントを読むのが一番なので読む。(最初にそうするべきだ♪) https://github.com/WinRb/vagrant-windows

1
2
3
4
5
6
7
Supported Guest Operating Systems:

・Windows 7
・Windows 8
・Windows Server 2008
・Windows Server 2008 R2
・Windows Server 2012

そ、そもそもサポートされてない・・・。馬鹿か俺は・・・。

これ以上の戦力投入は不毛すぎると判断し、windows xpのvagrant化はめでたく頓挫しました。
おとなしくwindows7でやることにします。ヽ(=´▽`=)ノ (うん、最初からそうするべきだ♪) 元気があったら、windows xpで動くように努力してみます。需要はありそうだしね。