Parallels Desktop 仮想マシンで一時的に使う予定のアプリをインストールする際に「リンクされた複製」を使ってみた。
スナップショットで管理してもよかったのだが、現在の設定がどうなっているか注意して使う必要が出てくるのを嫌っての事だったが、状況が変わり、アプリを暫く使い続ける事になったためリンクを解除したくなった。
当然出来る物だと思っていたのだが、そのようなメニューは用意されておらず、仕組み上出来ないはずはない…と思い実験。
(というか VMware Fusion では GUI から当たり前に出来る事なのに…)
リンクの状況を調見てみる
とりあえず状況把握という事で
- 仮想マシンの .pvm を右クリックで「パッケージの内容を表示」
- 中にあるディスクイメージの .hdd を右クリックで「パッケージの内容を表示」
- DiskDescriptor.xml というそれらしいファイルがあるのでテキストエディタで開く
中にはリンク元への参照が記述してあり、ファイル名に埋め込まれている識別子はスナップショットの識別子となっているようだ。
リンク元のファイルをコピーしてきてパスを書き直してやればとりあえず動きそうだけど、スナップショットの設定とも整合性を取るべきだとは思うが手作業でやるのは面倒そうなのでやめておくことにした。
コマンドラインを調べる
設定ファイルを自分で書き換えるのは難しそうだったので次は付属ツールを使って何とか出来ないか調べてみる。
- Application/Parallels Desktop.app を右クリックして「パッケージの内容を表示」
するとパッケージ内 Contents/MacOS に色々コマンドがあるが prl_disk_tool が使えそうな雰囲気。
他には Contents/Application/Parallels Mounter も使えるかも?
prl_disk_tool を使ってみる
それっぽい名前なので man を見てみたらちゃんと用意されていました!素晴らしい!!
$ man prl_disk_tool
で説明が表示されます!
主要なところを拾うと
基本的な使い方
prl_disk_tool [--help] <COMMAND> [OPTIONS] --hdd <disk_name> [--comm
<memory_name>]
マージ
prl_disk_tool merge --hdd <disk_name>
ヘルプ
prl_disk_tool --help
マージの説明
スナップショットを結合するっぽい説明が書かれている。
COMMANDS
merge
Merges all snapshots of the virtual hard disk.
参照
prlctl も見てね d(^^)
SEE ALSO
prlctl(8)
と言う事で、一応 prlctl の man も
$ man prlctl
としてみましたが、リンクされた複製を作るコマンドはあるものの、リンクを解除するコマンドは見当たりませんでした。
マージしてみる
prl_disk_tool merge --hdd 仮想PC名.pvm/仮想HDD名-0.hdd
リンク先を含めてマージしてくれるのかと思いきや全然そんな事はなく、マージ後起動しようとしたらOSがインストールされていないから起動できないと言われてしまいました orz
そして想定外な事にリンク元の仮想HDDまで破壊されてしまいました orz
リンク元の仮想PCはバックアップ取ってなかったんですが ( ・_・;)
と言う事で残念ながら実験はここまで。
他の案
コマンドラインがダメなら手動で設定書き換える前に
- 仮想マシンに HDD を追加
- Parallels Mounter で新旧HDDをマウント
- ディスクユーティリティでディスクイメージをコピー
- 仮想マシンから古いHDDを削除
で出来ないか試してみるようと思っていましたが、それも出来なくなってしまいました。
Parallels は一見良さそうなんですけど安定性というか、運用を考えると VMware の方が使い勝手がいいんですよね…
中途半端になってしまいましたが、
それでは、また。