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

PC使い始め

PC使い始めは、昨晩11時半から朝の5時半までだった。 実際PCを組んだのは日曜だったわけで、ギガ通信の実態が90数M程度なんて ことを試したくらいのところのホンのさわりであった。 引越し手続きのため …

no image

Kernel Debugger DLL

Setup is loading files (Kernel Debugger DLL) と出たままま固まって、しばらくするとエラーが出る。 Windows XPのインストール操作の冒頭の出来事だった …

no image

メモリー増設したいんだけれどもちょいと高くてどうしたもんかと

いまどきのPCは16GBのメモリーが載っていて、ただ普通に64bitのWinodwsを使っている限りはこれで十分なんだけれども、複数台の仮想マシンを同時に動かそうとするとこれじゃ足りん。

no image

NetMeeting

リモートデスクトップ共有についてです。とりたてて新しい技術ではありませんが、非常に有効な機能なので紹介したいと思います。サーバールームや遠い席にあるマシンの操作を自席にいながら可能にするものです。Wi …

no image

Acrobat 2017をお得に買う方法

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