CAD日記

主にAutoCADのことについて書いているけど、近頃は投資系ネタに注力している。自動売買、仮想通貨、PC関係、プログラミングなど。@caddiary

コンピュータ全般

Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(1)

投稿日:2019年12月27日 更新日:

Hyper-Vで仮想マシンを作って運用するのが常識的になって久しい。その際、ハードディスクとして使うのがvhdまたはvhdxファイルで、運用していると肥大化して困ることになる。Hyper-Vホストのディスク容量を圧迫するのはもちろんのこと、仮想マシンの動作速度にも影響する。ネットであれこれ調べた結果、以下記事の対策が有効であることがわかった。
Hyper-V仮想ディスクの最適化(圧縮)メモ

PowerShellでやるってのがポイントで、昔ながらのDOSプロンプトとは訳が違う。DOSプロンプトだったらバッチ作って実行で済むんだけど、PowerShellで自動化するのはだったらどうすんだろーってずっと頭の片隅にあったので、調べてみた次第。PowerShellを起動してから、以下5行の処理を1行ずつコピペでPowerShellに流し込むのは不毛な作業だから、一度に実行してみたいのだよ。
$targetvhd = “VHD(X)のフルパス”
Mount-VHD $targetvhd -Readonly
Optimize-VHD $targetvhd -Mode Quick
Optimize-VHD $targetvhd -Mode Quick
Dismount-VHD $targetvhd

ということで、以下の手順を行えば全部やってくれる。
1.compvhd必要なファイルをダウンロードして解凍
2.解凍結果のcompvhd.ps1を編集
 1行目の「VHD(X)のフルパス」を実際のvhdファイルのフルパスに書き換えて保存
3.解凍結果のcompvhd.batを管理者として実行 ※ダブルクリックして実行すると権限エラーになる

一括実行のポイントは以下の通り。
・バッチファイルのカレントフォルダとps1のファイル名を取得している
・batからPowerShellを呼び出すには実行ポリシーを指定しなければならない
・PowerShellの処理拡張子ps1のファイル内に記載する

課題はこんな感じなんで、そのうちヒマなときに取り組んでみましょ。
・vhdのファイルパスはバッチまたはPowerShellからユーザー入力としたほうがよい
・vhdファイルが実在しなければ、エラーを出してリトラリできるとよい
・圧縮前と後でvhdのファイルサイズがどれだけ減ったかを比率で出したい

続きはこちら。
Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(2)
Hyper-Vのvhdxを圧縮するのはPowerShellでやるんだけど、その自動化手法がおもしろいじゃん(3)

-コンピュータ全般

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

お気に入りツール1

シェアウェアやフリーウェアのソフトで、私が気に入っているソフトを紹介してみたいと思います。今日はその第1弾、明日は第2弾を書く予定です。 ・秀丸 [シェアウェア \4000] 言わずと知れた超有名ソフ …

no image

セキュアド

情報処理の試験です。正しくは、セキュリティーアドミニストレータです。短縮してセキュアド。受験してきました。  SEの世界、資格がけっこうものを言います。資格だけじゃたいして意味がないとも言われてますが …

会社のPCを電源付けっぱなしはよろしくないんじゃねと思ってWake On LANを試してみた

テレワークでは自宅から会社のPCにVPN+RDPでつなぐ必要があって、そのためには会社のPCを電源付けっぱなしにしておく。シャットダウンしていたらもちろんダメだし、スリープや休止状態でもダメ。なもんだ …

no image

Acrobat 2017をお得に買う方法

Adobe Acrobatがバージョンアップして2017になるという情報を得た。Windows 10で「Microsoft Print to PDF」なるプリンタードライバーが標準で付いたからAcro …

no image

スマホのメモリ

スマホのメモリってどんだけあるのか、今までよくわからなかった。 例えばおいらが使っているiPhoneだと、16GB・64GB・128GBなんて選択があって、 これをメモリって呼ぶことがあるんだけど、メ …