ご無沙汰しております。最近さくらのVPSが熱いですね!ということで、しばらく前にさくらのVPSでWindowsが動く夢をみたので、記録しておきます。
注意:これは夢の話です。
TwitterなどでさくらのVPS上でWindows Server 2008が動くか知りたいという要望があったので、試してみた。
今回使用した Windows Server 2008 R2 Datacenter は、筑波大学のMSDNライセンスに基づくものであり、正規のライセンスを使用した。
検証環境
- MacOS X 10.6 SnowLeopard
- VMWare Fusion 2
流れ
MacOS上のVMWareにてWindows Server 2008 R2 Datacenter Editionをインストール、環境を構築後さくらのVPSに環境を移植する。
さくらのVPSではOSカスタムインストールにてDebianを選択。
パーティションのSwap領域をext3にしてルート(/)にマップさせる。
これでHDD上の後半部分を使って作業し、前半部分はWindowsを書き込めるようにしておく。
準備するもの
- VMWare環境
- Windows(XP/7/Serverなど)
- 82371sb.reg(ブルースクリーンの防止)
[82371sb.reg]
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_8086&dev_7010]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="intelide"
参考:http://d.hatena.ne.jp/moriyoshi/20091116/1258368163
- ネットワークアダプタドライバ
[WindowsXPの場合]
PROWin32/x64.exe(Intel製ネットワークアダプタドライバ)
http://downloadcenter.intel.com/Detail_Desc.aspx?lang=jpn&ProductID=983&DwnldID=18717
[Windows Server 2008の場合]
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=18720&ProdId=871〈=jpn
※Windows Server 2008 R2の場合はドライバが既にWindowsに組み込まれているため別途ダウンロードの必要はありません。
作業1:VMWare FusionにてWindows環境を準備する。
1-1
ハードディスクイメージを作成する。
仮想ディスクを作成する際のバスタイプは「IDE」、ディスクサイズは「15GB」にした。2GBファイルに分割のチェックを外し、事前にディスク領域を割り当てるにチェックする。
さくらのVPSのディスクサイズが20GBしかないため、15GBが精いっぱいかと思う。
このディスクイメージを実際に書き込むために途中Debianを使うため、Debianの領域である2.1GBを残すことを考える。
なお、Windowsインストール完了後、Debian領域の2.1GBもWindowsから使う事が出きるため、最終的には20GBのディスク領域すべてを使う事ができる。(Windowsの論理ディスクマネージャから設定可能。パーティションが2つに分かれてしまう可能性あり)
1-2
Windowsをインストール
ごくごく普通にインストールして構わない。
1-3
デスクトップが現れたら、VMWare Toolsをインストールして共有フォルダから、もしくはドラッグアンドドロップから、またはネットやUSBメモリなどから事前に準備した「82371sb.reg」をWindowsにコピー、実行してレジストリに書き込む。
これがないとKVM上で起動したときにブルースクリーンが起こる場合があるのでその予防策。
1-4
WindowsXPや7、Server2008(R2をのぞく)を使う場合は、さくらのVPSで使用しているネットワークアダプタドライバ(Intel PRO/1000 MT Network Connection)が必要になる。
入れないとネットにつながらないため、VPSに置いてもあまり意味を成さなくなるので必ずいれる。
Intelのセットアップアプリケーションは必要なドライバを自動認識するため、事前にインストールするのではなくさくらのVPS上で稼働させてからインストールするほうが良い(ような気がする)
そのため、事前に準備したPROWin32.exe、もしくはPROWinx64.exeはデスクトップに置いておく。
なお、今回の検証ではServer2008 R2のためこの作業を省略している。ここまできたらWindowsでの準備は終了。
WindowsをシャットダウンしてVMWareも終了しておく。
作業2:さくらのVPSを準備する
2-1
事前に契約を済ませているものとし、VPSコントロールパネルにログインしている状態を想定。
OS再インストールメニューから、カスタムOSインストールを選択。OSはDebian 5.05 i386を選択。
MacのChromeではうまくJavaが動作しなかったためSafariで作業。
2-2
Keymapはデフォルトの「America English」のままEnterで次へ。
2-3
インストール情報を参考にしつつ、IPアドレスの設定。
2-4
Partition disksで、パーティションの設定。「Manual」を選択。
2-5
#3のswap領域を選択してEnter
2-6
Use as: swap area を選択してEnter。
一番上の Ext3 journaling file systemを選択、Enter。
Mount point: を選択して、 / でEnter。
最終的には
Use as: Ext3 journaling file system
Mount point: /
になっていれば良い。Done setting up the partition を選択して完了。
2-7
Finish partitioning and write changes to diskを選択して、パーティション変更をディスクに書き込む。
しつこく「本当にこれで大丈夫か?」と聞かれるので
Do you want to return to the partitioning menu?(パーティション変更メニューに戻る?) -
Write the changes to disk?(変更を書き込む?) -
の順番に答える。途中、rootのパスワード設定や一般ユーザのアカウント設定などを聞かれるが、各自お好みに設定を。
GRUB boot loaderの設定は「/dev/hda」とする 。インストールが終わるとシステムが終了するようなので、終了を確認したらVPSコントロールパネルでVPSを起動させる。
VNCでもシリアルコンソールでもいいので起動したらrootでログインして
apt-get install ssh
を実行。SSHをインストールする。
作業3:いよいよWindowsイメージを転送。
Macのターミナルを起動して、VMWareの仮想マシンのディレクトリを開く。
(仮想ディスク名)-flat.vmdk
というファイルが、ディスクイメージの実態。VMWareを使っていない人もディスクの生イメージがあれば良い。この -flat.vmdk、いままで独自仕様だと思っていたが、つい先日hexdumpでバイナリを読んでみると、MBRがあったりして、生イメージだということが分った。というより、普通に file コマンドでもそんな風に云われたのでhexdumpするまでもなかった。
転送する。Macのターミナルから
dd if=(仮想ディスク名)-flat.vmdk bs=16384 | gzip -c | ssh root@VPSのIPアドレス "gzip -dc | dd of=/dev/hda bs=16384"
転送が開始される。 を実行。 色々試したが、ブロックサイズをあまり大きくしすぎると転送が間に合わず、書き込みエラーが起こるし、小さすぎると遅くてショボーン━━(´・ω・`)━━ってなるので、16384が最適だった。
ddコマンドの基本となるが、 数字+数字 records in/out の左側の数字は、読み出し・書き込みに成功したレコード数、右側の数字は、読み出し・書き出しに失敗したレコード数。もし右側の数字が0でないなら、失敗しているのでブロックサイズをもう少し小さくしてみると良い。ADSLなどネットが早くない人は素直にbs=512とかにしておくべきかも。
また、別ターミナルでVPSのSSHにrootでログインして
px aux | grep dd
などでddコマンドのプロセスIDを確認、
kill -SIGUSR1 (ddコマンドのpid)
とすると、実行中のddコマンドの進捗情報が出力されるので、どれくらい進んだか、書き込みエラーがないかチェックできる。
3-3
書き込みが終わったらゴール目前。
reboot
で再起動しよう。
作業4:Windowsの設定
4-1
SafariでVNCを開く。Windowsのログイン画面が出る。このVNC、ちょっとマウスが言うことを聞いてくれないので慣れるまで頑張る。出きるところはキーボードを使ったほうが断然楽。
4-2
WindowsXPなどの場合は、先ほどデスクトップに置いたPROWin32.exe、もしくはPROWinx64.exeを起動してネットワークアダプタドライバをセットアップ。
Server2008 R2環境でも環境が変わった事が検知され、再起動を求められるので素直に再起動。
4-3
再起動、ログイン後はネットワークアダプタの設定を行う。
コントロールパネルの「ネットワークとインターネット」→「ネットワーク接続」と進む。
ローカルエリア接続2のプロパティからTCP/IPv4のプロパティを開き、次のIPアドレスを使う で、先ほどの設定情報を設定する。
サブネットマスクが 255.255.254.0。デフォルトゲートウェイの設定を間違うと「インターネット接続なし」になってしまうので注意。
つまりつながらない^p^
DNSサーバはさくら指定の210.188.224.10 / 210.188.224.11で良い。設定できたらOK。
4-4
リモートデスクトップの設定。マイコンピュータを右クリック、プロパティからリモートタブ、Server2008などでは初期構成タスクからリモートデスクトップを有効にできる。
以上で、さくらのVPSにWindows環境を入れる夢をみた話であった。
やっぱWindows ServerをさくらのVPSで動かすのはちょっとキツイかも。起動直後でメモリが384MB使ってた。WindowsXPでは210MB前後なので、XPのほうが快適に動く。