投稿

VirtualBoxのスナップショット機能

イメージ
本記事では、VirtualBoxのスナップショットがもつ情報と使い方について見ていきます。   【目次】 [1]はじめに [2]スナップショットの保存内容 [3]VirtualBox マネージャのスナップショット画面 [4]スナップショットの作成 [5]スナップショットのプロパティの表示と編集 [6]スナップショットの復元 [7]「最新の状態」とスナップショットの履歴 [8]スナップショットの削除 [9]エクスポート/インポートの注意事項 [1]はじめに 仮想マシンを利用するの利点の一つは、ある時点の仮想マシンの状態を保存し(スナップショットを作成)、後に、保存した状態を容易に復元することができることかと思います。 例えば、開発環境のある状態を保存しておき、ライブラリのバージョンアップを実行してみて、その結果が悪ければバージョンアップ前の状態に戻す、ということが簡単にできます。 スナップショットは、実行中の仮想マシンの状態(メモリ等の状態)も保存できますので、エディタで編集中の状態まで保存、復元できたりします。(少し言い過ぎですが、ワープロ編集中にでUndoやRedoを利用するのと同じような感覚でしょうか。) また、スナップショットのデータは、仮想マシンと統合管理されているため、保存、復元操作が非常に簡単です。 (一方で、スナップショットは、一般に言うバックアップとは少し目的が異なるため、バックアップの代替えになるとは限らない点に注意が必要です。) 本記事ではVirtualBoxのスナップショットについて見ていきます。 (参考) Vagrantをお使いの場合は、記事『 Vagrantのスナップショット機能とVirtualBox 』も参考にして下さい。 [2]スナップショットの保存内容 VirtualBoxのスナップショットについては、ユーザマニュアルに記載があります。 User Manual 1.10. Snapshots( https://www.virtualbox.org/manual/ch01.html#snapshots ) 詳しくは上記ドキュメントをご参照頂くとして、スナップショットは仮想マシンの構成、ディスクとメモリの内容を保存しています。 ハードウェア構成を含む仮想マシン設定の完全なコピーを持っています。 これにより、例えば、...

Vagrantfileの仮想マシン設定項目とVirtualBoxの設定画面の対応

イメージ
 本記事では、VirtualBoxの設定画面のうち、「一般」、「システム/マザーボード」、「ディスプレイ」画面の設定項目とVagrantfileの設定項目の対応を見ていきます。 【目次】 [1]はじめに [2]Vagrantfileの設定方法 [3]VirtualBoxの設定画面とVagrantfileの設定項目の対応 (1)「一般/高度」画面の項目 (2)「一般/説明」画面の項目 (3)「システム/マザーボード」画面の項目 (4)「システム/プロセッサー」画面の項目 (5)「システム/アクセラレーション」画面の項目 (6)「ディスプレイ/スクリーン」画面の項目 (7)「ディスプレイ/リモートディスプレイ」画面の項目 [1]はじめに VirtualBoxの仮想マシンに対する設定は、「Oracle VM VritualBox マネージャー」の設定画面から行うことができます。 また、VirtualBoxをインストールすると、VBoxManageというコマンドラインツールが提供されており、コマンドラインからも仮想マシンの設定や運用を行うことができます。 Chapter 8. VBoxManage( https://www.virtualbox.org/manual/ch08.html ) これをみると非常に細かく様々な項目をコントロールできることが分かりますが、利用する立場からみると、(英語という障害?を除いても)分量も多く、理解して利用するのは大変だと思います。 一方で、Vagrantは、一般的な設定が行われているBOXから仮想マシンを生成することと、高レベルなvagrantコマンドが用意されていることで、詳細な設定を考えなくても非常に簡単に仮想マシンを利用できるようになっています。しかし、それでも少しはカスタマイズしたい項目が残ります。 ありがたいことに、Vagrantは、VBoxManageコマンドのパラメータ(仮想マシンの設定)をVagrantfileに記述する方法を提供してくれており、仮想マシンが起動する前にその設定値を反映してくれます。これを利用すれば、Vagrantから仮想マシンの細かな設定を行うことが可能です。 私の場合、これまで仮想マシンの設定は、マニュアルに頼るというより、VritualBox マネージャーの設定画面で直観的に行ってい...

VirtualBoxが入ったPCへCanon CARPS2 プリンタードライバーをインストールするときのTips

イメージ
会社で利用していたプリンターが壊れたため、取り急ぎCanon レーザプリンター Satera LBP161を購入しました。 早速、プリンターを設置して、会社のWindows PCへプリンタードライバーなどをインストールして利用を開始したのですが、なぜか自分の開発用PC(Windows10)だけインストールがうまくできませんでした。(標準セットアップでプリンターが見つからない状況) トラブル解決日記のような感じですが、具体的な事象と解決方法をメモしておくことにしました。 (1)具体的な事象 CARPS2 プリンタードライバーのインストーラーを起動して、プリンターのセットアップ方法の画面まで進みます。 ここで、「標準セットアップ」を選択し、「スリープ状態のプリンターも復帰させて検索する」にチェックを入れて、「次へ」をクリックします。 すると、インストールするプリンターの選択の画面に切り替わり、「スリープ状態のプリンターを復帰中」、「プリンターを検索中」と進みますが、プリンターは見つけられず、プリンター一覧に何も表示されません。このため、選択できるものが無く、次へ進むことができません。 ちなみに、エクスプローラーのネットワークを見ると、プリンターのところに「Canon LBP161/162 CARPS2」と表示されています。また、プリンターのIPアドレスに対してpingコマンドを実行すると応答がありました。 (2)解決方法 「標準セットアップ」をあきらめて、「カスタムセットアップ」でインストールしようかと思いましたが、他のPCはインストールできるのに、自分の開発用PCだけできないのは、少々納得がいかなかったので、少し考えてみることにしました。 自分の開発用PCと他のPCの違いを考えたとき、ネットワークに影響がありそうなものを考えると、VirtualBoxかな?と思い当たりました。 (ちなみに、利用しているVirtualBoxのバージョンは、6.1.16です。) そこで、「ネットワーク接続」画面を確認してみることにしました。 (補足) Windowsの「ネットワーク接続」画面に到達する手順は、歴史的な事情からか?いろいろあるようですが、「設定」=>「ネットワークとインターネット」=>(画面左にある)「イーサーネット」と進んで、画面右側の関連設定の「アダ...

VagrantのベースBOXから作ったUbuntuデスクトップ環境のGuest Addtionsを再インストールする手順

イメージ
本記事では、VagrantのベースBOXから作成したVirtualBoxのUbuntuデスクトップ環境にインストールされているGuest Additionsを再インストールする方法を書きます。 <<お知らせ (2022/09/17) >> 本記事の内容は Ubuntu 18.04 LTS 日本語デスクトップ環境 をもとに書いています。 もう少し汎用的な手順で書き直した記事 Vagrant + VirtualBox + Ubuntu 環境の Guest Addtions を更新する手順 をアップしましたので、よろしかったら参照してください。 【目次】 [1]はじめに [2]インストール手順 (1)光学ドライブの確認 (2)インストールに必要なパッケージのインストール (3)Guest Additionsをインストールして再起動 (補足)光学ドライブを除去または空にしておきたいとき [1]はじめに VirtualBoxのGuest Additionsは、共有フォルダ、時刻同期、マウスポインタの統合、クリップボード共有、画面リサイズ等々、ホストOSとゲストOSを密に統合して使いやすくしてくれる機能を提供してくれます。 Guest Additions( https://www.virtualbox.org/manual/ch04.html ) VagrantのベースBOXから作成したVirtualBoxの仮想マシンには、このGuest Additionsが予めインストールされていると思います。(VagrantのVirtualBox版ベースBOXの要件として、VirtualBox Guest Additionsのインストールが必要となっています。) Creating a Base Box( https://www.vagrantup.com/docs/providers/virtualbox/boxes ) しかし、ゲストOSをバージョンアップしたり、ホスト側のVirtualBoxをバージョンアップした場合など、再インストールが必要な場合もあります。 あるいは、Guest Additionsが提供する機能(例えば画面リサイズや共有フォルダなど)がうまく動作しない場合などに、再インストールして試してみたい場合もあるかと思います。(特に、ソフトウェアのアップデー...

Vagrantコマンドを仮想マシンの作成と状態の管理を中心に整理してみる

イメージ
本記事では、Windows上のVirtualBoxを利用したVagrantについて、基本的な仮想マシンの作成手順や構成要素、そして仮想マシンの状態管理の観点を中心にコマンド構成などを見ていきます。 【目次】 [1]はじめに [2]仮想マシンの作成と構成要素 (1)基本的な仮想マシン作成の流れと構成要素 (2)プロジェクトディレクトリ (3)Vagrantfileと vagrant init コマンド [3]仮想マシンの状態遷移 (1)概要 (2)vagrant status コマンド (3)状態:not created (4)状態:running(実行中) (5)状態:saved(保存) (6)状態:poweroff(電源オフ) [4]仮想マシンの状態を変更するコマンド (1)vagrant up コマンド (2)vagrant halt コマンド (3)vagrant suspend コマンド (4)vagrant resume コマンド (5)vagrant reload コマンド [1]はじめに 前の記事『 PC上の自分用Ubuntu日本語デスクトップ開発環境サービスを作る(Vagrant+VirtualBox) 』で、Vagrantを利用して、開発環境が整った仮想マシンを必要な時だけ使うシナリオを書きました。引き続いて、こういった運用を行うためのVagrantの基礎知識を整理しておきたいと思います。 そこで本記事では、まず、Windows上のVirtualBoxを利用したVagrantについて、基本的な仮想マシンの作成手順や構成要素、そして仮想マシンの状態管理の観点を中心にコマンド構成などを見ていきます。 なお、本記事で動作確認した環境は以下の通りです。 ホストOS:Microsoft Windows 10 Pro 10.0/.18363 ビルド 18363 VirtualBox:6.1.16 r140961 Vagrant: 2.2.13 [2]仮想マシンの作成と構成要素 (1)基本的な仮想マシン作成の流れと構成要素 Vagrantは、BOX(仮想マシンの雛形となるもの)から必要なカスタマイズを行ってVirtualBoxの仮想マシンを作成することができます。 BOXは自分で作らなくても、様々なBOXが公開されているVagrant Cloud...

Ubuntu 20.04 LTS 日本語デスクトップ環境のVagrant BOXを作る

イメージ
本記事は、Ubuntu 20.04 LTS のベースBOXから日本語デスクトップ環境のBOXを作成します。このBOXを利用すれば、デスクトップ環境の仮想マシンを素早く作ることができるようになり、さらに、開発ツールを追加したBOXを作成する際のベースBOXとしても利用できます。 【目次】 [1]はじめに [2]仮想マシンの定義 (1)プロジェクトディレクトリの作成 (2)Vagrantfileの作成 (参考)日本語Remix [3]仮想マシンの作成 [4]日本語環境の設定 (1)デスクトップへログインして状況確認 (2)言語サポート(日本語)の追加とフォーマットの変更 (3)標準フォルダーの名前を設定 (4)入力ソース(日本語入力)の設定 (5)日付と時間の設定 (6)ソフトウェアの更新など (補足1)大きな画面サイズで動作が遅い問題への対処 (補足2)VirtualBoxの設定画面に「無効な設定が見つかりました」への対処 [5]パッケージ化してBOX登録する (1)パッケージ化 (2)BOX登録 (参考)他のPCでBOX登録する方法 [6]BOXから新しい仮想マシンを作ってテストする (1)簡単な動作確認 (2)テスト用仮想マシンの削除 [7]BOX作成用の仮想マシンとプロジェクトディレクトリの削除 [8]本ブログでの利用例(追記) [1]はじめに 本記事は、前の記事『 PC上の自分用Ubuntu日本語デスクトップ開発環境サービスを作る(Vagrant+VirtualBox) 』で書いた、『UbuntuのベースBOXから日本語デスクトップ環境のBOXを作成する』の項目について、具体的な構築手順を書きます。 基礎的なベースBOXにデスクトップ関連のパッケージを追加する作業は、(特にダウンロードに)かなり時間がかかりますので、一度作ったデスクトップ環境をパッケージ化してBOX登録しておくと、そのBOXからデスクトップ環境の仮想マシンを素早く作ることができるようになります。さらに、このBOXに開発ツールを追加したBOXを作成する際のベースBOXとして利用することもできます。 (今回の記事で作るBOXの利用シナリオ(サービスっぽい開発環境)については、 前述の記事 を参考にしてください。) 以下では、Ubuntuの20.04 LTSを対象として、Vagrant ...