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

消えゆくLZH

興味深いニュースが入ってきた。 Unlha32.dll等開発停止、LHA書庫の使用中止呼びかけ LZH書庫に対して、ウイルス対策ソフトが正しく扱うことができないことがありえ、 バッファーオーバーフロー …

甥っ子の受験勉強を応援するためにマニアックなノートPCを買ってあげることにした

大学に入学した姪っ子には高級ノートPCを買ってあげたのに対して、甥っ子の場合は特にこれと言って大きな理由もないので、おいらがこよなく愛するショップ系ブランドのドスパラ製ノートPCを買ってあげることにし …

まぎらわしい単位といえば、ディスク容量と通信速度だよなぁ(1)

まぎらわしい単位ってテーマが今朝電車に乗っているときに思いついたので、早速ブログで書いてみよう。 ディスク容量。ディスクというのはCDやDVDやHDDのこと。700MBとか4.7GBとか1TBなんてあ …

no image

アプリの64bit化

アプリの64bitアプリ化が進んでいる。 メリットを以下で整理してみる。 1.実装メモリーを無駄なく使用できて、大きいファイル(特に画像ファイル)を  扱うときに、メモリー不足による動作制限がほぼなく …

外注さんのパソコンが壊れちゃった件

こないだの新人くんの件に引き続き、今度は外注さんのパソコンが壊れちゃったという事態が発生。家電製品なんかでもよくあるけど、一つ壊れると続いて別の何かが壊れるという連鎖反応なのかしら。。この二人には共通 …