月別: 2013年6月

ESXiからHyper-Vに仮想マシンをクローンするとブルースクリーン

現象

ESXi上のWindows Server 2003を入れている仮想マシンを、ClonezillaやAcronis TrueImage?等ディスクのイメージバックアップを取るソフトでクローンしても、Hyper-V上で起動するとブルースクリーンが表示されて起動しない。ブルースクリーンにはSTOP: 0x0000007Bと表示される。

原因

ブートディスクがSCSI→IDEになったため。

ESXiでウィザードに従ってWindows Server 2003の仮想マシンを作ると、ブートディスクはSCSIになる。一方で、Hyper-VはブートディスクはIDEであるため、起動できない。
Hyper-VでLinuxを動かそうと思ったことが無いけど、Linuxでもsda→hdaになるわけだから、GRUBとfstabいじらないとダメなんだろうな。

対応

クローンする前に以下のレジストリを入れておく。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\primary_ide_channel]
"Service"="atapi"
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"

ESXiのVMにIDEのCD-ROMドライブが設定されていることが前提。CD-ROMはセカンダリIDEになっているので、プライマリIDEのデバイスを追加してやれば良い。一切IDEデバイスが無い場合は色々面倒そう。

参考

  • http://support.microsoft.com/kb/314082/

逆(Hyper-V→ESXi)の場合

ESXiならば起動ディスクをIDEにできるので、素直にIDEを起動ディスクにすれば良い。Hyper-VはIDE以外起動ディスクにできないので、一手間必要。

VistaでMBSA2.1のmbsacliでセキュリティのCABファイルを読み込めません。

現象

Windows Vista x64に入れたMBSA 2.1で、

mbsacli /xmlout /unicode /nd /nvc /catalog wsusscn2.cab

とやると、

セキュリティの CAB ファイルを読み込めません。

って表示される。意味がわからんので英語版で試したら

Cannot load security CAB file.

だと。

特権が必要

コマンドプロンプトを管理者権限で動かしたら動いた。もっとましなメッセージは出せないのかな。
理由が理由なのでWindows 7やWindows XPでも起こるのでしょう。

XPや2003でコマンドだけでディスクを使える状態まで

@ITいわく

新しいディスクを買ったりして、コマンドだけでパーティション作成~フォーマットまでやろうとしたとき、diskpartコマンドでディスクのパーティションを操作する- @ITを見ると、

パーティションの作成が完了したら、次はフォーマットを行わなければならない。GUIのディスク管理ツールならば、パーティションの作成と同時にNTFS やFATなどでのフォーマット、ドライブ文字の割り当てなども行えるが、diskpartコマンドではそうなっていない。

 パーティションのフォーマットを行うには「format ~」コマンドを利用するが、実はこのコマンドはVer.6.x以降でしか利用できない。つまりWindows Vista/Windows Server 2008以降のdiskpartでしか利用できない。それ以前のOSの場合は、ここでいったんGUIのディスク管理ツールに戻って作業することになるだろう。

とか書いてあってがっかりした。Windows XPやWindows Server 2003じゃだめなの。

formatコマンドがあるじゃないか

formatコマンドでフォーマットすればいいんですよ。何もdiskpartでやらなくても。

で、メモ。

C:\> diskpart.exe

Microsoft DiskPart Copyright (C) 1999-2001 Microsoft Corporation.
On computer: ComputerName

DISKPART> list disk

 Disk ###  Status           Size     Free     Dyn  Gpt
 --------  ---------------  -------  -------  ---  ---
 Disk 0    オンライン         16 GB  8033 KB
 Disk 1    オンライン         12 GB      0 B
 Disk 2    オンライン         12 GB    12 GB

DISKPART> select disk 2

ディスク 2 が現在選択されているディスクです。

DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition     16 GB  正常         システ
ム
  Volume 1     D                NTFS   Partition     12 GB  正常 

  Volume 2     B   BRMSCD2FRE_  CDFS   CD-ROM       125 MB  正常

* Volume 3                      RAW    Partition     12 GB  正常

DISKPART> assign letter=E

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition     16 GB  正常         システ
ム
  Volume 1     D                NTFS   Partition     12 GB  正常

  Volume 2     B   BRMSCD2FRE_  CDFS   CD-ROM       125 MB  正常

* Volume 3     E                RAW    Partition     12 GB  正常

DISKPART> exit

DiskPart を終了しています...

C:\>format E:
ファイル システムの種類は RAW です。
このボリュームで使用するファイル システムを指定するときは、
/FS スイッチを使用してください。

C:\>format /FS:NTFS E:
ファイル システムの種類は RAW です。
新しいファイル システムは NTFS です。

警告: ハード ディスクのドライブ E: のデータは
失われます。
フォーマットしますか (Y/N)? y
検査しています  12284M バイト
ボリューム ラベルを入力してください。
(半角で 32 文字、全角で 16 文字以内)
必要なければ、Enter キーを押してください:
ファイル システム構造を作成します。
フォーマットは完了しました。
  12578860 KB : 全ディスク領域
  12513324 KB : 使用可能ディスク領域

C:\>E:

E:\>dir /b
ファイルが見つかりません

E:\>echo 松田聖子 >seiko.txt

E:\>type seiko.txt
松田聖子

E:\>dir /b
seiko.txt

できた。

ちなみに松田聖子の曲では「青い珊瑚礁」が好きです。