上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

システム(アプリケーション)の延命対応の一環で、Windows2000(win2000)を仮想環境に移行する検証を行った際、仮想化パッケージとしてVirtualBoxを使い、その環境へWindows2000をインストールを試みたのですが、必ず同じところで再起動を繰り返すという現象に陥りました。

仮想マシンのネットワークの詳細設定を変える、などの記事もあったので設定を変えてみたのですが、全く解決せず、ここは基本に立ち返ってマニュアルを検索(いや、確かに、まずマニュアルを見るべきですが…)したところ、そのものズバリの解決方法が記載してあったので、備忘録がわりに残しておきます。
以下、原文の引用。

12.3.3 Windows 2000 installation failures

When installing Windows 2000 guests, you might run into one of the following issues:
・ Installation reboots, usually during component registration.
・ Installation fills the whole hard disk with empty log files.
・ Installation complains about a failure installing msgina.dll.
These problems are all caused by a bug in the hard disk driver of Windows 2000.
After issuing a hard disk request, there is a race condition in the Windows driver code which leads to corruption if the operation completes too fast, i.e. the hardware interrupt from the IDE controller arrives too soon. With physical hardware, there is a guaranteed delay in most systems so the problem is usually hidden there (however it should be possible to reproduce it on physical hardware as well).

In a virtual environment, it is possible for the operation to be done immediately (especially on very fast systems with multiple CPUs) and the interrupt is signaled sooner than on a physical system.

The solution is to introduce an artificial delay before delivering such interrupts.
This delay can be configured for a VM using the following command:
VBoxManage setextradata "VM name"
"VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1

This sets the delay to one millisecond. In case this doesn’t help, increase it to a value
between 1 and 5 milliseconds. Please note that this slows down disk performance.
After installation, you should be able to remove the key (or set it to 0).



以下、適当な翻訳。

12.3.3 Windows 2000のインストールの失敗

ゲストOSとしてWindows 2000をインストールする際、次のいずれかの問題が発生する可能性があります。
・インストール時に再起動を繰り返す。通常はコンポーネントの登録の際に発生。
・インストールにより空のログファイルでハードディスク全体を埋め尽くしてしまう。
・「Msgina.dllのインストールを失敗した」と表示される。

これらの問題はすべてのWindows 2000のハードディスクドライバの不具合によって引き起こされます。
ハードディスクへの書込み要求を発行した後、そのオペレーションがあまりにも早過ぎる場合、Windowsドライバのコード内で競合状態が発生することがあります。例えば、IDEコントローラーからの割り込み要求の到達が早過ぎる場合などです。
物理的なハードウェアにおいて、保証遅延(guaranteed delay)は多くのシステムに存在します。ゆえに、その問題は通常顕在化しません。(しかしながら、物理的なハードウェアにおいてもその問題がの再現する可能性はあります)。
仮想環境では、(特に複数のCPUを搭載した非常に高速なシステムにおいてですが、)オペレーションが直ちに完了し、割り込みが物理的なシステムより早く通知されます。

解決策は、このような割り込みが生じる前に人工的な遅延を導入することです。
この遅延は、VMに対し、次のコマンドで設定することができます:
VBoxManage setextradata "VM name" "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1

これは、1ミリ秒の遅延を設定します。これで解決しない場合は、値を1~5に変更してみてください。
この設定でディスクのパフォーマンスが低下する点に留意ください。インストール完了後は、キーを削除する(か、0に設定)するべきです。


ということで、コマンドプロンプトから以下のコマンドを実行します。
VBoxManage setextradata "VMの名前" "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1

正しく動作すれば、以下のように表示されます。
C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata Win2kWeb "VBoxInterna
l/Devices/piix3ide/0/Config/IRQDelay" 1
Oracle VM VirtualBox Command Line Management Interface Version 3.2.8
(C) 2005-2010 Oracle Corporation
All rights reserved.

「'VBoxManage' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と返ってきた場合は、PATHが通ってませんので、VirtualBoxインストールディレクトリへのPATHを通すか、cdコマンドでVirtualBoxのインストールディレクトリにカレントディレクトリを移してからコマンドを実行してください。

この設定を行うと、Win2000のインストールが無事完了しました。
Related Posts

Thoughts on スポンサーサイトVirtualBoxでWindows 2000がインストール失敗する場合の対処方法

Leave a Reply

* less than 16 characters
* less than 24 characters
* less than 16 characters
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。