VirtualBox - トラブルシュート - アクセスできません

 
1. 概要
2. 思い当たる節
3. 調査
4. いじってみる
5. 事後処理

1. 概要

 2019年4月3日、前日まで、問題なく動いていたものが・・・。
VirtualBox - アクセスできません

 となって、正にアクセスできない。

2. 思い当たる節

 思い当たる節が、なくもない。  前日、仮想ディスクを追加して、ゲストではそれをマウントしていない状態でした。  でも、それでアクセスできなくなるなんてねぇ。  キャプチャもとっておりますが、一応、メッセージを残しておくと

Error in H:\VirtualBox\Windows10\Windows10.vbox (line 9) -- Snapshots present but required Machine/@currentSnapshot attribute is missing.
F:\tinderbox\win-5.2\src\VBox\Main\src-server\MachineImpl.cpp[743] (long __cdecl Machine::i_registeredInit(void)).
終了コード :		E_FAIL (0x80004005)
コンポーネント: 	MachineWrap
インターフェース: 	IMachine {85cd948e-a71f-4289-281e-0ca7ad48cd89}
 ふぅん、VirtualBox は、F ドライブにソースが置いてあるのね・・・。  まぁ、そのそれは、置いといて、スナップショットの attribute が、ないと。

3. 調査

 考えてみたら、VMWare の .vmx ファイルは、編集したことがありますが、VirtualBox の .vbox ファイルってのは、中を見るの初めてだなぁ。  でまぁ、わかったのですが、.vmx は、.ini ファイル形式ですが、.vbox ファイルは .xml 形式なのですな。  で

  <Machine uuid="{b37434e4-7631-4479-b6e5-138da2745ad5}" name="Windows10" OSType="Windows10_64" snapshotFolder="Snapshots" lastStateChange="2019-04-02T08:41:42Z">
 メッセージは、この9行目がだめだと言っておりますな。  他の正常なゲストの .vbox ファイルと見比べて・・・。  9行目の OSType の定義の後に、

  <Machine uuid="{b37434e4-7631-4479-b6e5-138da2745ad5}" name="Windows10" OSType="Windows10_64" currentSnapshot="{スナップショットのUUID}" snapshotFolder="Snapshots" lastStateChange="2019-04-02T08:41:42Z">
 という「currentSnapshot="{スナップショットのUUID}"」の定義が必要らしいということがわかりました。  スナップショットの UUID は .vbox ファイルで「Snapshot uuid」をキーに検索して

    <Snapshot uuid="{2c4da57d-10c7-41a5-ad11-15eae798a513}" name="01 20180417" timeStamp="2018-04-16T23:36:54Z">
 という行を探して、最も新しそうなものを設定すれば・・・どうかな?

4. いじってみる

 どうせ、アクセスできないのですから、ダメでもともと。  最悪、一からゲストを作り直すしかないわけで・・・。  スナップショットのフォルダの内容とつきあわせて、いじってみますか・・・。  前項の要領でやってみたら・・・。  ををを・・・。とりあえず。見えるところまで復帰しました。
VirtualBox - 表示復帰

 起動しようとしたら、すぐ停止して、「boot デバイスがない・・・」とか言われました。

 見てみると、きれいさっぱり消えておる。

VirtualBox - ストレージ

 その他、ネットワークデバイスの設定も消えております。

 ストレージのありかは分かっているので、追加。ネットワークも設定してやりました。
 起動しようとすると

VirtualBox - Windows10 - 回復

 うはぁ。電源断して、もう一度、ながめてみます。
 メモリやなんかもすっかり消えていたので、設定を全部見直しました。
 オーディオデバイスだけ残ってて、後は全滅でした。
 手っ取り早いのは、ひとつ前のスナップショットに戻すという手もありますが・・・。

 とまぁ、ここまでやりまして・・・。
 起動することができました。

5. 事後処理

 アクセスできなくなった、スナップショットのディスクファイルがでかいまま残っているので、これはどうにもならんかなぁ・・・。  おそらくは .vbox ファイルの、「<HardDisk ~ >」で定義されている「location="Snapshots/{ID}.vdi"」と「Snapshots」フォルダ内を見比べて、「<HardDisk ~ >」にないものを削除すれば、いらないものだけ削除できそうです。

  <Machine uuid="{b37434e4-7631-4479-b6e5-138da2745ad5}" name="Windows10" OSType="Windows10_64" currentSnapshot="{3e520a1a-eb50-4e43-9e05-209626c659b0}" snapshotFolder="Snapshots" lastStateChange="2019-04-03T01:21:36Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{928f87cf-9656-4e9a-82eb-ee8af18dae17}" location="Windows7.vdi" format="VDI" type="Normal">
          <HardDisk uuid="{569ef99f-3500-433c-8f1d-8008f8070913}" location="Snapshots/{569ef99f-3500-433c-8f1d-8008f8070913}.vdi" format="VDI">
            <HardDisk uuid="{ff5f0035-fa9c-47a6-b308-2ec93c7bf263}" location="Snapshots/{ff5f0035-fa9c-47a6-b308-2ec93c7bf263}.vdi" format="VDI">
              <HardDisk uuid="{6e2324f1-ce0b-4f3d-82ad-c973ed61a666}" location="Snapshots/{6e2324f1-ce0b-4f3d-82ad-c973ed61a666}.vdi" format="VDI">
                <HardDisk uuid="{c531a09d-d685-41dd-a263-9107a0104486}" location="Snapshots/{c531a09d-d685-41dd-a263-9107a0104486}.vdi" format="VDI">
                  <HardDisk uuid="{cb34ca55-b528-4f34-8698-14c1628811d9}" location="Snapshots/{cb34ca55-b528-4f34-8698-14c1628811d9}.vdi" format="VDI">
                    <HardDisk uuid="{f914d3d3-77e9-49a9-a228-d4345a2624dd}" location="Snapshots/{f914d3d3-77e9-49a9-a228-d4345a2624dd}.vdi" format="VDI"/>
                  </HardDisk>
                </HardDisk>
              </HardDisk>
            </HardDisk>
          </HardDisk>
        </HardDisk>
        <HardDisk uuid="{dc28b740-14e1-46e1-8da3-8389b7f30874}" location="NewVirtualDisk1.vdi" format="VDI" type="Normal"/>
      </HardDisks>
 まだ。こわくてやってみていません・・・。  経験として、バックアップとって、やってみようかしら。  やってみて欲しい人は、リクエストください(2019年4月3日)。