Ubuntu Linux Station
先日 Linux Station がうまく動作しなくなったように思ったが…
ファームアップデート後,試しに起動するとうまくいった.
先日は,メモリが足りなかったとかだったのか?
GLUT を使える様に インストール .
sudo apt install freeglut3 freeglut3-dev
ASUSTOR NAS Linux Center Debian 環境の a.out を実行.
ASUS ルータ OpenVPN 設定
以前に設定 したが,ポートを変更して再度設定.
いつからかはわからないが,ルータのファームの更新で OpenVPN のポート設定が表に出ている.
今までデフォルトの 1194 に設定していて,ルータの「システムログ」に変なアクセスが残っていた.
「サーバーポート」を「61940」などに変更.
「OpenVPN 設定をファイルにエクスポート」で「エクスポート」.
私の環境の様に au ひかりの場合は,出力した ovpn ファイルの IP アドレスの部分を必要に応じて変更.
私の環境では,IP アドレスはほぼ 27.92.xxx.xxx に固定されているのでそれを指定.
固定されていない環境の場合は,ルータの DDNS 機能 を利用できます.
IP アドレスの部分を xxxx.asuscomm.com に書き換えます.
ovpn ファイルをメールで送信.
あとは 以前と同様 .
enc_temp_folder
プロジェクトのソースをバックアップしていると,見慣れないフォルダ enc_temp_folder が…
その中には,先日編集した共通のソース combi_f.hpp が存在している.
ソースの中身は正規のものと比べると少し古い.
「enc_temp_folder」で検索すると,VS がクラッシュした時に生成されることがあるみたい.
確かに先日クラッシュした記憶がある.
が,その時バックアップが存在していると言う様なメッセージは気づかなかった.
原因はわかったので,削除することに.
外部から NAS へのアクセスの確認
最近 NAS への攻撃が多いみたいで,ちょっとまとめました.
自分の LAN 環境が,どこまで(どの様に)外部に公開されているかの確認方法です.
先ず グローバル IP を調べます.
私が用意した,次の所でも確認できます.
https://itl.mish.work/i_Tools/tiny/variable/
スマートフォンなどで,LAN とは別の回線を使用してグローバル IP に対して接続します.
接続できなければ OK です(表示内容はブラウザにより異なります).
以降は,接続された場合の表示例と,簡単な説明です.
幾つかの画像は NAS のデモサイトに一度入って,サインアウトしたものです.
ASUSTOR NAS
あまり好ましくはないですが,意図した動作ならば問題ありません.
できれば,使用している NAS がわからない様な空のページの html を用意することをお勧めします.
管理画面サインイン
グローバル IP に,NAS のデフォルトのポート番号を指定してのアクセスも確認してください.
例えば //27.92.169.109:5000/ など.
これらの様な管理画面の入り口が表示される場合は注意が必要です.
これらの NAS は,ポート番号を変更してください.
また,パスワードは必ず強力なものにします.できればデフォルトの管理者アカウントは無効にします.
LAN からのみ接続可能な様に設定することがお勧めです.
私の環境では,ルータ の VPN 機能 を利用して接続しています.
これらを書いている時,次の様な記述を見つけました.
QNAP NASを無防備にインターネットに直接接続してはいけない理由とは
以降は,私の環境に対しての怪しいアクセスです.
phpMyAdmin に対するアクセス
/phpMyAdmin , /phpmyadmin , /pma , /myadmin , /MyAdmin の scripts/setup.php .
WordPress をセットアップした時にインストールした phpMyAdmin は,削除することがお勧めです.
WordPress
/wp-admin/ , /wp-content/ , /wp-content/plugins
恐らくプラグインを狙ったものと思いますが,常に最新にしておくことくらいでしょうか.
/wp-login.php も多くあります.
利用していないものはなるべく削除してください.
他に /FCKeditor/ へのアクセスも多いです.
2021/05/23
「スマートホームスキャナー」で定期的にチェックすることもお勧めです.
以下は,前に私が書いた記事になります.
https://mish.hatenablog.jp/entry/2020/12/16/smart_home_scanner
ADM に入れない
証明書の関係をいろいろ弄ったら,ADM に入れなくなってしまった.
NAS を再起動しても変わらず.
安全な接続ができませんでした 192.168.1.??:????? への接続中にエラーが発生しました。Peer’s Certificate has been revoked. エラーコード: SEC_ERROR_REVOKED_CERTIFICATE 受信したデータの真正性を検証できなかったため、このページは表示できませんでした。 この問題をウェブサイトの管理者に連絡してください。 エラーの説明...
スマートフォンの AiMaster では入れる.
検索すると,Firefox のガードに引っ掛かっているみたい.
Edge で開くと,入れた.
「設定」-「証明書管理者」で「asustor.com (デフォルト)」となっている方を「既定の証明書として設定」.
VC プロファイラが…
先日使った VC のプロファイラがうまく動作しなくなった?
動作としては開始するが,結果が取れない.
「CPU 使用率」で,実行中のグラフは表示されている.
実行終了後,下の部分の関数名などが表示される所のデータがうまく生成されない?
次の様にやってもうまくいかない.
MSDN クイック スタート: Visual Studio の CPU 使用率データの分析 (C++)
「手順 2: CPU 使用率データの分析」のデータが取れない.
設定なども確認したが,特に影響しそうな所はわからない.
PC を再起動してもダメ.
何で?
ここに入っている VS 2008 は Team System なので,プロファイラが何とか動くみたい.
結果が表示されるまで時間がかかるのと,ボトルネックを見つけるのに使い勝手があまり良くなさそう.
もう少しあたりを付けて,単体テスト用のコードを書いて調べた方が効率が良さそう.
VC 2008 でやってみた.
VC 2015 などと比べると,生成までの時間がかかる.その後の操作も面倒.
更に出来上がっていた vsp が,193 GB .
先ず簡単に変更できるコード.
template <class V3> long V3_Search (const std::vector<V3>& pnts,const V3& pos) { for (size_t index=0 ; index<pnts.size() ; index++) { V3 pnt = pnts[index] ; if (pnt == pos) { return long(index) ; } } return -1 ; }
pnt の変数を使わず,直接比較するコードに.VC 6 でビルドして実行.
最近のコンパイラはうまく最適化してくれるので,VC 8 などでは効果がなかった(最初から速い).
ここでの検索で一致するデータは,比較的後ろの方に存在することが多いので,後ろから検索する様に変更.
// for (size_t index=0 ; index<pnts.size() ; index++)
for (long index=long(pnts.size())-1 ; index>=0 ; index--)
2021/04/12
更にコードを変更.
この関数は,呼び元との多重ループとなることがあるのと,検索して見つからないことも多いので,検索最大数を指定可能に.
template <class V3> long V3_Search_ (const std::vector<V3>& pnts,const V3& pos,const size_t max=-1) { size_t count = 0 ; for (long index=long(pnts.size())-1 ; index>=0 && count<max ; index-- , count++) { if (pnts[index] == pos) { return long(index) ; } } return -1 ; }
最大数を 1000 として,処理速度の許容範囲にはなった.
出来上がったデータとして問題ないかの検証はこれから.
検索して一致するデータは,最後と最初に存在することが多いので,その判断部分を変更.
template <class V3> long V3_Search_ (const std::vector<V3>& pnts,const V3& pos,const size_t max=-1) { for (size_t index=0 ; index<pnts.size() /*&& index<max*/ ; index++) { if (pnts[index] == pos) { return long(index) ; } size_t index_l = pnts.size()-index-1 ; if (index>=index_l) { break ; } if (pnts[index_l] == pos) { return long(index_l) ; } } return -1 ; }
20% 程度の効果.但し VC 8 でビルドしたものは遅くなってしまった.
2021/04/14
やはり,頂点などの検索のループで最大数を指定すると,得られる結果が異なる.
そのため,最大数を指定するのは限定的とする.今回は STL 読込み で 10000 に.
MFC ドキュメントの関連付け
スケルトン作成時,ファイルの拡張子を指定しなかったプロジェクトに,後から関連付けのコードを追加する手順.
アプリケーションクラスの InitInstance に EnableShellOpen と RegisterShellFileTypes を追加.
BOOL CXxxxApp::InitInstance() { // ... AddDocTemplate(pDocTemplate); // DDE Execute open を使用可能にします。 EnableShellOpen(); RegisterShellFileTypes(TRUE); // DDE、file open など標準のシェル コマンドのコマンドラインを解析します。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // ... // メイン ウィンドウが初期化されたので、表示と更新を行います。 m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); // ドラッグ/ドロップ オープンを許可します m_pMainWnd->DragAcceptFiles(); return TRUE; }
必要に応じて,DragAccesptFiles .
リソースの String Table IDR_MAINFRAME で,ファイルタイプと拡張子を指定する.
文字列は 7 つに区切られている.CDocTemplate::GetDocString
最近の Windows は,RegisterShellFileTypes では登録できない.
そのため,自前の RegFileType::SetFileType(TRUE) を呼出す.
RegFType.hxx RegFType.cxx
RegisterShellFileTypes とは違い,HKEY_CURRENT_USER\Software\Classes\ に登録している.
HVL-LS4 入手
録画用 USB HDD の空きが少なくなってきたので HVL-LS4 を追加.
電源を接続すると ON の状態になるので注意.
マニュアルなどでは DR Controler をインストールして設定する様になっているが,PC から HVL-xxx を探してブラウザなどで開くことも可能.
当然のことだが HVTR-BCTX3 からのコピーは,特に問題なくできた.
少し面倒なのが,コピーカウントがそのまま引き継がれるわけではないので,コピー回数分がカウントされる.
HVL-AHW からの移動も,同じコンテンツは HVTR-BCTX3 からコピーしたものに追加でカウントされているみたい.
2021/05/01
暫く使って感じたこと.
特に問題なく使えている.HVTR-BCTX3 に USB 接続 HDD からの移動で 50 GB 程度空いた.
PC TV Plus での 視聴も問題ない .
録画したコンテンツの操作のフォルダわけなどの時,ツリー表示がないので 操作 が少し面倒.
Windows で例えると,エクスプローラで左のツリーがない様な状態での操作になる.
NAS の再起動などのスケージュール
個人的にはあまり使うことはないと思うが…
Synology NAS
「コントロールパネル」-「ハードウェアと電源」-「電源管理」タブ.
「作成」を押してスケジュールを指定する.
QNAP NAS
「コントロールパネル」-「システム」-「電源」-「電源スケジュール」タブ.
「スケジュールを有効にする」にチェックを入れて「追加」を押すとリストに追加されて編集できる.
ASUSTOR NAS
「設定」-「ハードウェア」-「電源」タブ.
「電源スケジューリング」の「追加」を押してスケジュールを指定する.
2021/04/26
QNAP NAS で,Virtulization Station を起動していても問題ない.「一時停止」になるので「レジューム」は必要.
再起動によりメモリ使用量が減る(メモリが解放される?)みたいで,定期的な再起動には有効と思われる.
2021/05/11
ASUSTOR NAS で,VirtualBox はメニューの「電源オフ」を選択した動作になるみたいで注意が必要.
スタティック ライブラリで MFC …
「共有 DLL で MFC を使う」にしていたプロジェクトを「スタティック ライブラリで MFC を使用する」に変更.
ビルドして実行すると起動時エラーに.
VC 6 から順にあげてきたプロジェクトで,設定がうまく引き継がれていない.
個々のソースなどは変更した が,それだけでは足りないみたい.
プロジェクトの設定で「リソース」の「プリプロセッサの定義」に _AFXDLL が定義されてしまっている.
「<親またはプロジェクトの既定値から継承>」に変更してうまく動作する様になった.
MDI exe が動作しない?
Win10 Insider Preview 21H1 環境で,幾つかの exe がうまく動作しない.
VC 8 でビルドした exe は OK .VC 10 以降は NG のものがある.
SDI exe は大丈夫そうで,MDI exe はすべてではないが NG のものが多い.
タイミングとしては,3D データを読み込んだ後,ウィンドウに表示する前.
2021/07/12
一度「開く」ダイアログを表示するとその後はうまく動作する.
SDI exe であっても,VC 14 MFC スタティックだとうまくない?
これはプロジェクトの設定がまずかったためで,別の記事に.
2021/04/01
ちょっとわからないので,リモートデバッグの環境を作成することに.
MSDN Visual Studio での C++ プロジェクトのリモート デバッグ
リモートツールをダウンロードして,インストール.「スタート」から「Remote Debugger」を起動.
リモート側で exe を実行して,ホスト側で「アタッチ」.
2021/04/02
原因は,CRecentFileList::Add を通った時 ::CoInitinalize が呼び出されていないため.
どうも MFC 10 から?変わったみたい.
MS C++ executable just started failing
MFC application crashing in ProcessShellCommand() when file to open specified on command line
それでも,なぜ環境によっては表面化しないのか?
CRecentFileList::Add で Win7 以降の「ジャンプリスト」に登録(::SHAddToRecentDocs )する様になった.
Win10 20H2 でも現象は発生した.2004 では問題ない.
対応としては InitInstance の最初に以下を追加.
// OLE ライブラリを初期化します。
if (!AfxOleInit()) {
AfxMessageBox(_T("OLE の初期化に失敗しました。")) ;
return FALSE ;
}
2021/04/06
2016/夏頃の Win10 で,その様になるものが存在したみたい.
その頃は T90Chi + VC 2015 + i3DV でやっていたと思うが,気づかなかった?
VC コンソール AP にリソースの追加
先日作成したコンソール AP に,バージョン情報などを埋め込みたいと思い調べてみた.
検索すると次の所があった.
MSDN リソースを作成する (C++)
「Win32 コンソール アプリケーション」を「空のプロジェクト」として作成.
コードは,個人的な雛型 をコピーしてプロジェクトに登録.
#include <clocale> #include <iostream> #include "i_define.hxx" int _tmain(int argc, TCHAR* argv[]) { _tsetlocale(LC_ALL, _T("")); { std::tout << _T("hello") << std::endl; } return 0; }
「ソリューション エクスプローラー」の「プロジェクト」を「右クリック」-「追加」-「新しい項目」.
「リソース ファイル (.rc)」を選択,ファイル名を指定して「追加」.
「リソース ビュー」に切り替わるので,ツリーの「~.rc」の所を「右クリック」して「リソースの追加」.
必要に応じてアイコンなども追加.
ビルドすると exe に付加されている.
2022/08/01
バージョンリソースの読込み
FVersion.hxx
QNAP NAS の Joomla! の設定
先日 Joomla! をインストール したので,その設定.
「システム」-「グローバル設定」-「サイト」-「SEO 設定」.
また,htaccess.txt を .htaccess にコピーしないとうまく機能しない.
URL に ID が付加されない様にする設定.
「Login Form」を無効に.
「OSMap Free」のインストール.
「J2XML」のインストール.
「J2XML Options」-「Import」の設定.
C2084: 既に本体を持っています
共通のコードを hxx にまとめてビルドすると…
------ ビルド開始: プロジェクト: G3toM, 構成: Debug Win32 ------ C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141_xp\Toolset.targets(39,5): warning MSB8051: Windows XP をターゲットとするサポートは非推奨であり、Visual Studio の将来のリリースで提供されなくなります。詳細については、https://go.microsoft.com/fwlink/?linkid=2023588 をご覧ください。 MainFrm.cpp t:\develop\_.src\__win\c_fbx_to.hxx(23): error C2084: 関数 'bool exec_FBXtoG3(c_tstring &)' は既に本体を持っています。 t:\develop\_.src\__win\c_fbx_to.hxx(22): note: 'exec_FBXtoG3' の以前の定義を確認してください t:\develop\_.src\__win\c_fbx_to.hxx(61): error C2084: 関数 'tstring call_fbx_to_ig3(c_tstring &)' は既に本体を持っています。 t:\develop\_.src\__win\c_fbx_to.hxx(60): note: 'call_fbx_to_ig3' の以前の定義を確認してください t:\develop\_.src\__win\c_fbx_to.hxx(66): error C2065: 'exec_FBXtoG3': 定義されていない識別子です。 t:\develop\_.src\__win\c_fbx_to.hxx(74): error C2065: 'exec_FBXtoG3': 定義されていない識別子です。 \\z170s0\e_temp\test.prj\test\vc_test\tomb\g3tom\mainfrm.cpp(276): error C2065: 'call_fbx_to_ig3': 定義されていない識別子です。 \\z170s0\e_temp\test.prj\test\vc_test\tomb\g3tom\mainfrm.cpp(276): error C2440: '初期化中': 'tstring (__cdecl *)(c_tstring &)' から 'std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>' に変換できません。 \\z170s0\e_temp\test.prj\test\vc_test\tomb\g3tom\mainfrm.cpp(276): note: コンストラクターはソース型を持てません、またはコンストラクターのオーバーロードの解決があいまいです。 プロジェクト "G3toM141.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、1 更新不要、0 スキップ ==========
「inline にしているのに…」と思ったが,
#pragma once がないため複数回読み込まれていたので,追加して対応.
// *******************************************************************************
// Name : c_fbx_to.hxx
// ...
// *******************************************************************************
#pragma once
#include "W_mutex.hxx"
// ...
inline bool exec_FBXtoG3 (c_tstring& g3d_path)
{
// ...
return true ;
}
MFC 起動時のドキュメントの変更
ドキュメントのドロップ時のファイル名の変更 には対応したが,今度は起動時のドキュメントの変更.
InitInstance の所をデバッガで追いかけると,CWinApp::ProcessShellCommand の前後で対応できそう.
次の様に,対象のファイルを変更して起動できることは確認.
CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); { if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileOpen) { cmdInfo.m_strFileName = ::Path_ChangeExt(cmdInfo.m_strFileName,_T("ig3")).c_str() ; } } if (!ProcessShellCommand(cmdInfo)) // ...
SDI exe でファイルのドロップ
SDI exe でファイルをドロップされた時,関連する異なるファイルを開きたくなった.
次の様に,変換済みのデータが存在している時はそれを対象とする.
https://dev.mish.work/wordpress/2021/03/03/win-prevent-2nd/
ドキュメントクラスの OnOpenDocument で変更するのは可能だが「MRU ファイル リスト」に残ってしまう.
15 年位前に,ブラウザからリンクをドロップして動作させるコードを書いた.
最近のブラウザでは,当時の様な操作はできないみたい.
WM_DROPFILES でリンクのテキストが取れたのだったと思う.
この時,何を参考にしてここにたどり着いたかは不明.
それを見ると CMainFrame::OnDropFiles にコードが書いてある.
デフォルトのコードとしては,CFrameWnd::OnDropFiles を呼出している.
::DragQueryFile でファイル名を取って CWinApp::OpenDocumentFile を呼出している.
CMainFrame::OnDropFiles でファイル名を取った後,処理を追加して CWinApp::OpenDocumentFile を呼べば良い.
手順としては (VC)\…\atlmfc\src\mfc\winfrm.cpp の CMainFrame::OnDropFiles をコピーして編集している.
void CMainFrame::OnDropFiles(HDROP hDropInfo) { SetActiveWindow(); // activate us first ! CWinApp* pApp = AfxGetApp(); ASSERT(pApp != NULL); v_tstring files = ::DropFilesTo(hDropInfo) ; if (files.size() > 0) { tstring file = files[0] ; // ここで,必要に応じてファイル名を変更するなどの処理 pApp->OpenDocumentFile(file.c_str()) ; } ::DragFinish(hDropInfo); // CFrameWnd::OnDropFiles(hDropInfo); }
今回は SDI なのでこんな感じ.MDI であればループで回せば良い.
C2679 右オペランドを扱う演算子…
あるプロジェクトに デバッグライト を追加してビルドすると
------ ビルド開始: プロジェクト:T_cmb_f, 構成:Release Win32 ------ T_cmb_f.cpp T_cmb_f.cpp(32): error C2679: 二項演算子 '<<': 型 'tstring' の右オペランドを扱う演算子が見つかりません (または変換できません)。 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ostream(495): note: 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(std::basic_streambuf<char,std::char_traits<char>> *)' の可能性があります C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ostream(475): note: または 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(const void *)' C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\ostream(455): note: または 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(long double)'
最近の VC はエラーの原因以外の情報がいっぱい表示されることがあるのでちょっとわかり難い.
「Unicode 文字セットを使用する」になっているのに std::cerr としていたため.
std::terr とすれば OK .
または,std::wcerr .
エントリ ポイントが見つかりません
FBX SDK 2020.1.1 を使用したコンソール AP のプロジェクトを VC 11 でビルド.
「プラットフォームツールセット」は「Visual Studio 2012 – Windows XP (v110_xp)」.
ビルドした exe を WinXP 環境で実行すると,
—————————
T_FBX.exe – エントリ ポイントが見つかりません
—————————
プロシージャ エントリ ポイント InterlockedCompareExchange64 がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。
—————————
OK
—————————
VC 10 や VC 12 でビルドしたものは問題ない?
SDK のバージョンを変更して試してみると,
2019.0 までは OK で,2019.2 以降がうまくない.
他に VC 14 以降でビルドしたものがうまく動作しない.
何も表示されず exe が抜けて(終了して)しまったり,FBX の変換動作が機能しなかったりしている.
SDK 2020 では XP がサポートされていない.
https://help.autodesk.com/view/FBX/2020/ENU/
https://help.autodesk.com/view/FBX/2019/ENU/
FBX SDK とは直接関係ないが,
VC 14 以降のコンソール AP で,XP ではうまく実行できないものがある?
「プラットフォームツールセット」は「Visual Studio 2015 – Windows XP (v140_xp)」.
「標準 Windows ライブラリを使用する」とした exe は,起動はするがうまく実行できない.
「共有 DLL で MFC を使う」にすれば動作する.
「スタティック ライブラリで MFC を使用する」は未確認.
2020/03/16
VC 14 でビルドしたコンソール AP がうまく動作しなかったのは _stat .
何年か前に書いていた.WinXP で VC 14 _stat
vcredist_x86.exe を更新したからか,現象がちょっと変わってしまった.
全てではないが,先日通らなかったものが通る様になったものもある.
_stat で抜けてしまっていた exe が,うまく機能している?
QNAP NAS に Joomla!
「AppCenter」で「Joomla」をインストール.表示されるバージョンは古いが,後で更新できる.
「インストール」後「開く」.
サイト情報の設定.「サイト名」や「サイトの説明」は後からでも変更できる.
データベース設定.ユーザ名とパスワードは「SQL サーバー」の設定 で指定したもの.
インストール内容の確認.
言語の追加インストール.
言語パッケージの選択.
Japanese を指定.
インストール完了.
「installationディレクトリを削除」で「管理画面」などに入れるようになる.
Joomla! を「今すぐアップデート」で更新.
更新のインストール.
仮想マシンの XP が遅くなった?
今はもう誰も必要ないと思う情報.
先日 WinXP の VHD が入っている HDD が壊れて交換.
その時,ついでに PC のメモリも増設している.
壊れかけた HDD には不良セクタがあった様だが,対象の VHD は大丈夫だった.
デュプリケーターでコピーして,それなりに動作していると思う.
その後,仮想マシンの WinXP の動作が遅くなった?
全体的に遅いのではなく,メッセージボックスが出る時に数秒止まる様な感じ.
何が原因かしばらくわからなかった.
ホストのメモリに余裕がでたので,仮想マシンのメモリの割り当てを増やした.
この仮想マシンは 1.5G だったのを 3G に.
これがいけなかったみたいで,2G にすることで前の状態に戻ったと思われる.
これは関係なかった.再起動による一時的な解消.
「仮想マシンの状態を保存」をすると解消される?
2021/03/14
遅くなるのは,音が出る時.使っているうちに音が再生されるまでのタイムラグが大きくなる.
使い勝手は良くないが,
VirtualBox の「仮想マシンの状態を保存」で解消できることを確認.
「一時停止」では効果はない.