自宅の Windows Server 2008 がなぜかクラッシュしたんで再起動すると Hyper-V 上の仮想マシンが立ち上がらなくなりました。
書き込みができないとか言っています。
で、イベントログ見るとこんな感じになってました。
'CentOS': アタッチメント 'E:\Hyper-V HDD\CentOS.vhd' を開けませんでした。
エラー: 'このメディアは書き込み禁止になっています。' (0x80070013)。(仮想マシン xxxxxx)
エクスプローラからはEドライブ見えますが、確かにファイルを書き込もうとするとエラーになります。(参照はできます。)
アクセス権は調べてみましたが問題ありません。
次に「ディスクの管理」をのぞいてみたらどんぴしゃでした。
EドライブのHDDが読み取り専用になっています。
いったんディスクをオフラインにして、再度オンラインにすると読み取り専用の表示消え、この状態で仮想マシン起動すると問題なく起動しました。
何回かこのディスクをオフライン、オンラインを繰り返したところ、2,3回に1回は読み取り専用になってしまっています。
なぜそうなるのかいろいろ検討してみましたが、結局わかりませんでした。
ただ、このディスクは IDE(パラレルATA) で、サウスブリッジ(ICH9R)直結ではなくマザーボードメーカーの用意してるIDE用チップを経由してます。(ICH9Rが IDE 非サポートのため)
ICH9R → PCI Express Bus → GIGABYTE SATA2 → IDE Channel という経路になってます。
で、PCI Express を通すためディスクがOSからは SCSI として認識されてるんですよね。
これが原因とは思いませんが、なんかすっきりしません。
最初、BIOSのAHCI有効の設定かと思いましたが、問題のディスクはIDEでICH9Rじゃないので関係ないんですよね。
余談ですが、OSやファイルサーバのデータが入ってるディスクは SATA300(SATA2) だったんで、AHCIモードにするとNCQとかで若干転送速度が速くなるようです。