ホーム - ツール - NHC

仮想マシンハードディスクイメージ変換(convert)ツール

NHC

NHC Ver.0 alpha47C 2017/02/05 new
NHC.NET Ver.0 alpha11 2015/09/28
NHC for Linux Ver.0 alpha11 2016/01/17
NHC for Mac OS X Ver.0 alpha03 2011/04/30
VMware Player用の簡易スナップショット管理(作成中) こちら
http://twitter.com/eueeno/

!!!!とくに注意すること!!!!

VMware形式での「圧縮」の機能は、データを圧縮(使用されていないごみの領域を含めて)してイメージサイズを小さくします。圧縮されたイメージファイルは書き込みができなくなるのでそのままでは使用できません。Windowsの起動ドライブであればおそらくブルースクリーンになるかと思います。一般的な利用で使用することのない機能です。

使用されていないごみの領域を削除してイメージのサイズを小さくしたい場合は「トリム」の機能を使用してください。こちらが一般的に使用するかもしれない(期待しているであろう処理を行う)機能です。

もし間違って「圧縮」をしてしまってバックアップも存在しない場合は「解凍」の機能を使用して戻してください。

わかりにくい表現になっていてもうしわけありません。

あまり気にする必要のない情報

コマンドライン用のNHCを作りました。
変換先のパラメータは通常のNHCのほぼデフォルトの固定となります。
下記のトリム機能もこのプログラムに含まれています。(Windows版)

トリムの際に出力されるファイルの領域をあらかじめ確保してから処理を行い、作成されるファイルをなるべく断片化しないようにするオプションを追加しました。(-u オプション)(Windows版) new
実際にどのくらい効果があるかはそのときのホストのハードディスクの状態によるかと思います。こちらで試したときはなんとなく断片化が少なくなっているようでした。
興味のある方は試してみてください。効果ありそう、なさそう、報告していただけるとありがたいです。
出力されるファイルのデータ自体は(当然ですが)変わりません。なのでゲストから見たハードディスクにも違いはなく、断片化が解消するわけではありません。あくまでホスト側から見たファイルの断片化についてです。

使い方は引数なしで実行すると表示されます。
Windows版 NHCC Ver.0 alpha03 2016/05/02 new
Linux版 32ビット NHCC Ver.0 alpha01 2015/07/21

コマンドライン用のトリム機能を作りました。
Windows版 NHCTRIM Ver.0 alpha03 2013/05/02
Linux版 32ビット NHCTRIM Ver.0 alpha04 2014/12/21
Linux版 64ビット NHCTRIM Ver.0 alpha04 2014/12/21
使い方: nhctrim [-d] [-s] file
sオプションを使用するとメッセージを出力しません。
dオプションを使用すると処理終了後にバックアップファイル(_DEL)を削除します。
バッチファイル等で使用する場合、成功:0,引数エラー:1,処理エラー:2が戻り値となります。
Windows8等で作成される4KB境界の新しいVHD形式に対応しました。
dオプション使用時にファイルが削除されない問題を修正しました。
Ver.0 alpha02 2013/03/30
Ver.0 alpha01 2012/01/09

こちらも使えそうでしたらどうぞ。
NDZ
別ページを作りました。こちら
NDZ for Windows Ver.0 alpha06 2013/01/12
NDZ for Windows 64bit Ver.0 alpha06 2013/01/12
NDZ.NET Ver.0 alpha05 2011/03/27
NDZ for Linux Ver.0 alpha05 2011/03/27
NDZ for Linux Ver.0 alpha05 2011/03/27 Fedora14のような環境用
イメージファイルをマウントせずに中のファイルを取り出せます。NTFS,Ext2系,XFS,FAT,exFAT(テスト中),HFS Plus(Mac OS X)に対応。
Windows版は下のプラグイン(VMWVMDKO.NPL)を使用することでESX Server 3i上のイメージ内のファイルを取り出すことができます。

こちらは遊べそうでしたらどうぞ。
NHCESX Ver.0 alpha01 2009/11/04
ESXiサーバ上でthinなイメージファイルのコピーとトリムができます。
解凍したファイルをどうにかしてサーバ上に転送し、コンソールから実行属性を付加し実行してください。
使い方: nhcesx [-q] [-t] file1 file2
file1(存在するファイル)からfile2(新規で作成するファイル)にコピーします。ゲストOSは終了している必要があります。
t(トリム)オプションを使用するとイメージ上の無駄な領域を削除してイメージサイズを小さくしてコピーします。ゲスト上での0埋め(thinだとできなかったかな)は必要ありません。
qオプションを使用するとメッセージを表示しません。
A.vmdkとA-flat.vmdkというイメージが存在し、これ自体をトリムしたい場合はまず
nhcesx -t A.vmdk B.vmdk
のように実行します。するとB.vmdkとB-flat.vmdkというイメージが作られます。
元のA-flat.vmdkをA-flat.tmp、できたB-flat.vmdkをA-flat.vmdkとリネームし、B.vmdkは削除します(いらなくなったらA-flat.tmpも削除します)。

説明

やりたいことからの使い方

仮想ハードディスクイメージファイルの形式を変換したい。

メモ

変換後のイメージファイルの大きさは、変換先の形式にフラットなタイプを選択した場合は仮想ハードディスクのサイズ、それ以外のタイプを選択した場合は変換元のイメージファイルと同じくらいになります。

操作手順

  1. [変換元ファイルの指定]画面
    1. [ファイル]ラジオボタンを選択します。(最初に起動したときは選択してあります。)
    2. [変換元ファイル名]に変換したいイメージファイルのフルパスを入力します。通常は横の[参照]ボタンを押してイメージファイルを選択します。
    3. [次へ]ボタンを押します。
    4. 自動認識に成功すると[変換先の形式の選択]画面が表示されます。
    5. 自動認識に失敗すると[変換元ファイルの情報の入力]画面が表示されます。通常はこの画面が表示されないはずなので入力したイメージファイルが間違っていないか確認してください。間違っていない場合、NHCが対応できていない形式となります。
  2. [変換先の形式の選択]画面
    1. [変換先の形式]-[組み込み]から変換先としたい形式を選択します。
    2. [次へ]ボタンを押します。
  3. [****形式への変換]画面
    1. 「変換できます。」と表示された場合はさらに細かい変換先の形式を設定します。よくわからない場合はそのままでいいです。VMware形式の1ファイル/分割等はここで決定します。
    2. 「変換できません。」と表示された場合は変換することができません。変換元と変換先の形式の相性がよくないです。
    3. [次へ]ボタンを押します。
  4. [変換先ファイルの指定]画面
    1. [変換先ファイル名]に変換先の(これから作られる)イメージファイルのフルパスを入力します。通常は横の[参照]ボタンを押してイメージファイルの作成先を指定します。変換先の形式(例えばVMwareの分割形式)によってはここで指定したファイル以外にも同じフォルダにファイルが作成されます。
    2. [次へ]ボタンを押します。変換が開始します。
  5. [変換]画面
    1. 変換が実行されます。
    2. 処理が終わったら[キャンセル]ボタンを押してNHCを終了します。
ゲストOS上で使用している容量よりも仮想ハードディスクイメージファイルのサイズが大きくなっているため不要な部分を削って小さくしたい。

メモ

実行後のイメージファイルの大きさは、ゲストOS上で使用している容量くらいになります。現在のイメージファイルを残したまま新しいイメージファイルを作成するのでホストOS上にその分のあきが必要になります。処理が終了すると元のイメージファイルはファイル名に[_DEL]が付きます。
途中でキャンセルした場合は名前が変わっていません。もしファイル名に[_TEMP]と付いたファイルが残っていたら削除してください。
ゲストOSのごみ箱を空にすると小さくなります。
この処理を行う前にゲストOS上で0埋めしたりする作業は必要ありませんので注意してください。

操作手順

  1. [変換元ファイルの指定]画面
    1. [ファイル]ラジオボタンを選択します。(最初に起動したときは選択してあります。)
    2. [変換元ファイル名]にサイズを小さくしたいイメージファイルのフルパスを入力します。通常は横の[参照]ボタンを押してイメージファイルを選択します。
    3. [このファイルをトリムするだけ]チェックボックスをチェックします。
    4. [次へ]ボタンを押します。
    5. トリムできる形式の場合は確認メッセージが表示されます。トリムできない形式の場合はエラーメッセージが表示されます。
  2. [変換]画面
    1. トリムが実行されます。
    2. 処理が終わったら[キャンセル]ボタンを押してNHCを終了します。
    3. ファイル名に[_DEL]が付いた元のイメージファイルが不要であれば削除します。
VMwareで仮想ハードディスクイメージファイルの属性を変更したい。

メモ

イメージファイル内の属性を変更するだけなので変換ではなく別の方法で行います。
指定したファイル自体を変更します。
処理に時間はかかりません。

操作手順

  1. [変換元ファイルの指定]画面
    1. [ファイル]ラジオボタンを選択します。(最初に起動したときは選択してあります。)
    2. [変換元ファイル名]に変換したいイメージファイルのフルパスを入力します。通常は横の[参照]ボタンを押してイメージファイルを選択します。
    3. [その他処理]ボタンを押します。
  2. [VMware VMDK ユーティリティ]画面
    1. [パラメータ変更]ボタンを押します。
  3. [パラメータ変更]画面
    1. アダプタやvirtualHWVersionを変更します。
    2. [OK]ボタンを押します。

最近の変更(共通)

NHC Ver.0 alpha47C 2017/02/05

32bit ダウンロード

64bit ダウンロード 無理にこちらを使用する必要はありません。どちらかというと32bit版の方がテストしてあります。

64bit UNICODE版 テスト用 ダウンロード

Ver.0 alpha47C 32bit English version translated by Anna Wu.

Windows10を使用していてWindowsストア経由の方がよい場合
nhc win32 32bit Ver.0 alpha47C
nhc win32 64bit Ver.0 alpha47C

環境

Windows

最近の変更

特徴

プラグイン

NHC.EXEと同じフォルダに置いてください。

VMware Virtual Disk Development Kit(VDDK)の使用 入出力その他処理プラグイン

VMWVMDKO.NPL 32bit

VMWVMDKO.NPL 64bit

VMwareのホームページで配布しているVMware Virtual Disk Development Kit(VDDK)がインストールしてある場合に使用できます。Development Kit内に含まれるすべてのDLLにパスを通すか、VMWVMDKO.NPL(NHC.EXE)と同じフォルダに置いてください。

32bit版はVDDK Ver.1.2を使用してください。64bit版はVDDK Ver.5.5を使用してください。Ver.6.0ではうまく動作しないようです。

ローカルのイメージファイルを使用する場合は、接続パラメータのダイアログではNULLが選択されているのでそのままOKボタンで進んでください。

ESXi上のイメージファイルを使用する場合は、最初の画面のファイル名の入力欄に

[datastore1] vmname/imagename.vmdk
のように入力してください。
その後表示される接続パラメータでの設定は、
NOT NULLを指定
vmxSpec : 空(入力なし)
serverName : サーバ名(IPアドレスなど)
UIDを指定しuserNameとpasswordを入力してください。
新しいESXiでは
thumbPrint : ESXiの画面の[View Support Information] -> [SSL Thumbprint (SHA1)]の値(00:01:...:13 のような値)を指定してください(64bit版のみ)。 ポートは変更していなければ902のままにしてください。

実ハードディスクの変換 入出力プラグイン

REALDEV.NPL 32bit

REALDEV.NPL 64bit

実ハードディスクへの書き込みもできるので注意して使用してください。

入力に実ハードディスクを使用する場合、最初の画面のファイル名の入力欄には何も入力せずに次へ進んでください。

Vagrantのbox形式,OVF形式の使用 入力プラグイン

OVFBOX.NPL 32bit

OVFBOX.NPL 64bit

古いバージョン

Ver.0 alpha47 32bit
Ver.0 alpha47 64bit
Ver.0 alpha46 32bit
Ver.0 alpha46 64bit
Ver.0 alpha36
Ver.0 alpha35B VMWVMDKO.NPL
Ver.0 alpha34X
Ver.0 alpha32 VMWVMDKO.NPL
Ver.0 alpha29
Ver.0 alpha27E 変換できなかった場合はこちらを
Ver.0 alpha21

NHC.NET Ver.0 alpha11 2015/09/28

ダウンロード

環境

.NET Framework(2.0)以上
Mono 1.2.4(WinFormsが必要)以上
Ubuntu Linux の場合、libmono-winforms2.0-cil というパッケージ(と依存するパッケージ)をインストールしてコマンドラインから「mono nhc.exe」で動くようです。

特徴

プラグイン

nhc.exeと同じフォルダに置いてください。

使い方は上のWindows用と同じです。

VMware Virtual Disk Development Kit(VDDK)の使用 入出力その他処理プラグイン

vmwvmdko.npl Windowsのみ

実ハードディスクの変換 入出力プラグイン

realdev.npl Windowsのみ

Vagrantのbox形式,OVF形式の使用 入力プラグイン

ovfbox.npl

実ハードディスクのイメージ化

DLLをダウンロードし、nhc.exeと同じフォルダに置いてください。

Windowsの場合 このDLLは古いので上のプラグインを使用してください。

RealDisk.dll

実デバイス名等には、

\\.\PhysicalDrive?
と入力してください(?はハードディスクの番号)。
アドミニストレータで実行してください。

Linuxの場合

RealDisk.dll

実デバイス名等には、

/dev/sdb
のように入力してください。
rootで実行してください。

古いバージョン

Ver.0 alpha10
Ver.0 alpha09
Ver.0 alpha06
Ver.0 alpha05

NHC for Linux Ver.0 alpha11 2016/01/17

ダウンロード 32ビット

ダウンロード 64ビット

環境

Linux

特徴

説明

古いバージョン

Ver.0 alpha10 32ビット
Ver.0 alpha10 64ビット
Ver.0 alpha09 Ubuntu 14.04 32ビット のような環境用
Ver.0 alpha09 Ubuntu 14.04 64ビット のような環境用
Ver.0 alpha09 上記で動かない場合 32ビット
Ver.0 alpha09 上記で動かない場合 64ビット

NHC for Mac OS X Ver.0 alpha03 2011/04/30

ダウンロード

環境

Mac OS X 10.5以降?

特徴

説明

注意

その他情報

Counter

inserted by FC2 system