WIN1@Codename

Codename

スポンサーサイト

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

仮想マシンの作業状態を保存して復元する方法

※実験的な試みなので、実用する場合はご注意ください。

仮想マシンのデスクトップでプラウザやOfficeアプリケーションが開いている状態で、Windows Updateなどで再起動しなければならない場合があると想定します。

再起動後に、デスクトップに展開しているアプリケーションの状態を復元したい場合の実験的な対処方法。

仮想マシンの構成ファイルでメモリ内容を保持している*.VMRSファイルをコピーして、必要な時に適用するとう方法です。

サーバーなどバックグラウンドでサービスが動いている場合などはいろいろ問題がありそうですが、デスクトップだけ利用しているような場合は有効かも。

 

デスクトップには作業状態のアプリがいくつか開かれています。
再起動後にこの状態に復元しようという試みです。

20170622030622.jpg


 

仮想マシンを「保存」します。
20170722030646.png


Hyper-V Virtual Machine Management サービスを停止します。

20171522030639.png


仮想マシンの構成ファイルの一つ*.VMRSファイルをコピーしておきます

20170822030634.png 



Hyper-V Virtual Machine Management サービスを開始します。
20171622030640.png


仮想マシンを「起動」して、再起動します。
20171722030607.png


ここまでが作業状態の保存です。

 

続いて、作業状態の復元です。


ログインすると作業状態は当然残っていません。

20171322030613.png


作業状態を復元するので再度稼働マシンを「保存」します。

20171422030605.png


Hyper-V Virtual Machine Management サービスを停止します。

20171522030639_20170624161327513.png



*.VMRSファイルを削除します。

20171522030603.png



コピーした*.VMRSファイルを元の名前にリネームしておきます。
(この場合は 197B4516-8ADE-45D1-8BA9-70EE591424C3.VMRS)

20171622030607.png 



Hyper-V Virtual Machine Management サービスを開始します。

20171622030640_2017062416205449d.png


仮想マシンを起動します

20171722030607_20170624162055919.png 


作業状態のデスクトップが復元されました

20171722030646.png




PowerShellで書くとこんな感じです。


$VMName = "Win2016"

#SaveDesktop $VMName

#ResumeDesktop $VMName


Function SaveDesktop($VMName){
    Save-VM $VMName

    $VM = Get-VM $VMName | Select *

    $File = $VM.Path + "\Virtual Machines\" + $VM.Id + ".VMRS"

    Copy-Item $File -Destination ($File + ".bak")

    Start-VM $VMName
}


Function ResumeDesktop($VMName){
    Save-VM $VMName

    $VM = Get-VM $VMName | Select *

    Stop-Service –Name "vmms" –PassThru

    $File = $VM.Path + "\Virtual Machines\" + $VM.Id + ".VMRS"

    Remove-Item $File

    Copy-Item ($File + ".bak") $File

    Start-Service –Name "vmms" –PassThru

    Start-VM $VMName
}


コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://codename2010.blog11.fc2.com/tb.php/289-5dc97d41
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

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