eueeのおうち掲示板

22486
なんでも書いてください。
使い方やマニュアルを読んでないけどとりあえず聞いてみようでもかまいません。
ここで配布しているソフト以外のことでもかまいません。
名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

98 DISK BASIC の A 属性 - Yoshitan

2020/11/03 (Tue) 19:17:19

PC98エミュレータの DISK BASIC のイメージ(2HDの .NFD)に ASCII
形式 のBASICプログラムファイルを入れ込む方法がないものかと調べて
おりましたところ ND を発見し感激です。(Windows 10使用。)

File メニューの Give A attribute to insert file が動作しないようでした。

また、ドラッグ&ドロップでは何のファイルを挿入しても一旦 A が付いて
見えました。しかし ND を起動し直すと付いていません。

何か操作が違いますでしょうか。Windows 版の最新版を使用しています。

コマンドラインの NDC では A が付き、目的は達成できました。お礼申し
上げます。

Re: 98 DISK BASIC の A 属性 - Yoshitan

2020/11/15 (Sun) 13:15:42

わかりやすくなりましたね。
動作も確認できました。

わざわざご対応くださいましてありがとうございました。

Re: 98 DISK BASIC の A 属性 - euee

2020/11/15 (Sun) 10:03:59

A属性のメニューとファイルを挿入した場合の表示を修正しました。
次に使用する機会があったら新しいバージョンを試してみてください。

Re: 98 DISK BASIC の A 属性 - Yoshitan

2020/11/08 (Sun) 21:05:16

ご返信ありがとうございました。
ダウンロードのリンクが2行あることに気付かず失礼しました。

日本語版を利用しましたところA属性を付けることができました。
A属性が付いている時だけ N88-BASICで load - run できることもエミュレータ上
で確認できました。

ただし、何のファイルを挿入しても一旦 A が付いて見えるということは変わらず、
また、メニューで「挿入するファイルにA属性を付与する」をクリックしても
チェック印が付かないのでちょっとわかりにくいかなと思いました。

でも 今時 DISK BASIC で BASIC プログラムを動作させようなどという人も
いないでしょうから、そのままでいいとは思います。

VMware 関係でeuee様の NHC は利用させていただいたことがありました。
DISK BASIC のようなニッチな用途でまたソフトを利用させていただくとは思いません
でした。ありがとうございました。

Re: 98 DISK BASIC の A 属性 - euee

2020/11/05 (Thu) 01:06:51

報告ありがとうございます。
メニュー名が「Give A attribute to insert file」ということなので古い英語版の方だと思われます。(DOSのA属性しか対応していなかったかもしれません。)
「ダウンロード」のリンクから新しい日本語版をダウンロードできるので、そちらだと改善されるかもしれません。

NHMファイルが作成できない - のんたろう

2020/07/06 (Mon) 15:36:48

初歩的な質問ですいません。
NHMを使用させていただこうと思ったのですが、「NHMの新規作成」ができないため、使用できていません。
具体的には、「NHMの新規作成」画面で、ファイル名を入力」>「保存」をクリックすると、はじかれて、「管理するVMXファイルの選択」に飛んでしまいます。

環境は、ホストもゲストもWin10、
NHM 作成中ZM5x 2020/06/06 の 64bit UNICODE版 をダウンロードしました。
VMware Workstation 15 Player を使用

VMは、サスペンドした場合、パワーオフした場合の両方を試しましましたが、結果は同じでした。

原因が分かりましたら教えていただけないでしょうか。

Re: NHMファイルが作成できない - のんたろう

2020/07/09 (Thu) 12:08:50

VMXファイル選択画面に飛ぶのは通常の動きだったんですね。
失礼しました。
無事使用することができるようになりました。
ありがとうございます。

Re: NHMファイルが作成できない - euee

2020/07/06 (Mon) 20:13:12

新規作成はその流れになっていて、
NHMファイルはスナップショットの設定を保存するファイル(新規作成)、
管理するVMXファイルはすでに存在する仮想マシンの設定ファイル、
の2つのファイルを選択します。

まずはPlayerで仮想マシンを作成(VMXファイルが作成されます)し、
スナップショットの管理が必要になった時点でNHMの新規作成を行うイメージです。

NHMでnvme0に対応してほしい - ドルフィン

2020/06/04 (Thu) 07:46:10

お久しぶりです。
ずっとNHMを使わせていただいています。

最近のVMware Playerは、デフォルト設定ではscsi0ではなくnvme0のHDDを作るようになりました。
(15.5.5で確認)

しかし、NHMが認識できないらしく、nvme0があるVMXファイルを指定すると、
「VMXファイルの読み込みに失敗しました。」
というエラーになります。

.vmdkの形式は変わっていないようです。
VMXファイルを書き換えてnvme0をscsi0にして、
そのままだと64bitホストでドライバがないというエラーになるのでscsi0.virtualDev = "lsisas1068"を追加すると、
読み込めるようになります。
(これだけだとゲストのWindows側にドライバがないので起動中にブルースクリーンになりますが)

できれば、nvme0に対応していただけませんでしょうか?
よろしくお願いいたします。

Re: NHMでnvme0に対応してほしい - ドルフィン

2020/06/06 (Sat) 05:12:32

素早い対応ありがとうございます!
読み込めなかったVMが読み込めるようになりました。
おっしゃる通り、NVMe接続のハードディスクのみがあるVMでした。

Re: NHMでnvme0に対応してほしい - euee

2020/06/06 (Sat) 03:19:47

(追記)
NVMe接続のハードディスクのみの場合は
以前のバージョンで「VMXファイルの読み込みに失敗しました。」になりますね。

Re: NHMでnvme0に対応してほしい - euee

2020/06/06 (Sat) 02:59:04

報告ありがとうございます。
NVMe接続のハードディスクを認識するように修正しました。
こちらの環境だと以前のバージョンでVMXファイルを読んだときは
エラーではなくnvmeのハードディスクが認識されないだけだったので
もし新しいバージョンでまたエラーが出たら教えていただけるでしょうか?

nhccの64ビットLinux版が欲しい tatyk

2019/06/29 (Sat) 15:56:41

WindowsではNHCを便利に使わせていただいております。

さて早速で恐縮ですが、64ビットLinux版を使いたいです。

32ビット版のライブラリを自分の実行環境(*1)に入れるという解決策もありますが、できれば、nhccの64ビット版を使いたいです。

*1: Ubuntu 18.04(64bit)

nhccの64ビット版が無いのは何か技術的な理由があるからでしょうか?ビルドしていただくことはできるでしょうか?

僭越ですが、ソースがあれば自分でビルドできると思います。ソースコードを公開していただくことは可能でしょうか?

以上検討していただければ幸いです。

Re: nhccの64ビットLinux版が欲しい tatyk

2019/07/28 (Sun) 16:55:08

早々に対応いただいたのにお礼が遅れてすいませんでした。助かります。ありがとうございました。

Re: nhccの64ビットLinux版が欲しい - euee

2019/07/14 (Sun) 05:56:22

nhccの64ビットLinux版を追加しました。

Re: nhccの64ビットLinux版が欲しい - euee

2019/06/30 (Sun) 20:04:50

ご要望ありがとうございます。
少し修正が必要なのでそれを直してからビルドしてリリースしようと思います。

NP2kaiのNVL Linux対応について AZO URL

2018/08/15 (Wed) 19:07:36

はじめまして。
NP2kaiの開発を行ってるAZOと申します。
この度は、NP2kai LinuxへのNVLのご対応をありがとうございました。

libnvl.so の動的リンクに必要なソース変更
(euee様がアーカイブに収められたsxsihdd_nvl.c)を、
当方のリポジトリに反映させていただきたく存じます。

拝見したところ、Linux専用に作成されておりましたので、
#if プリプロセッサで、Windowsとの両対応にした状態でマージさせて頂きたいと考えております。


確認のご返答を頂きたく、お待ちしております。
重ねて御礼申し上げます。

Re: NP2kaiのNVL Linux対応について - euee

2018/08/22 (Wed) 21:45:46

SUPPORT_NVL_IMAGES はデフォルトでオフだと思っていたので makefile もそのままでよいかなと思っていました。

Re: NP2kaiのNVL Linux対応について AZO URL

2018/08/21 (Tue) 20:06:10

すみません、makefile.am等の変更を失念しておりました!
-ldlも、makefile.am内に適用致しました。
大変失礼致しました。
以上、宜しくお願い致します。

Re: NP2kaiのNVL Linux対応について AZO URL

2018/08/21 (Tue) 04:24:49

ビルドのご確認ありがとうございました。
当方にて、UIの対応などを行っていこうと思います。
素敵な機能をありがとうございました。

Re: NP2kaiのNVL Linux対応について - euee

2018/08/20 (Mon) 01:04:11

ソース確認しました。
ビルドして動作もしたので大丈夫かと思います。

Re: NP2kaiのNVL Linux対応について AZO URL

2018/08/18 (Sat) 04:40:06

ご返答ありがとうございます!
NP2kaiのリポジトリに、sxsihdd_nvl.cをマージ致しました。
ご確認いただけましたら幸いです。
宜しくお願い致します。

Re: NP2kaiのNVL Linux対応について - euee

2018/08/17 (Fri) 05:16:49

連絡ありがとうございます。eueeです。

この追加機能が公式のソースに加わるほど需要があるかは疑問ですが、
入れていただけるのであればとてもありがたいです。
ソースはどのように編集していただいてもかまいません。

NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/04/13 (Fri) 08:56:45

NDでHDDイメージのファイルサイズと認識容量を「HDDイメージ内のファイルが収まる範囲内」でできるだけ小さくする機能が欲しいです。


Windows 98 SEでDirect3Dが使えるPCemというエミュレーターがあるのですが、このソフトはDVDをサポートしていません。

そのためDVDのソフトをインストールする場合、新しいHDDイメージを作って領域確保して初期化。

NDでこのHDDイメージを開いてDVDの全ファイルをコピー。

処理が済んだHDDイメージをPCemでマウントすることで、DVDのソフトをインストールできる事があります。

このHDDイメージを再インストールに備えて残しておこうとした場合、空き容量が無駄になるので、HDDイメージの認識容量とファイルサイズをなるべく小さくできると良いのですが……。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/07/02 (Mon) 21:20:17

修正ありがとうございます。

処理後のイメージファイルからフォルダーとファイルを取り出し、イメージファイルに書き込む前のファイルとハッシュが同じである事を確認しました。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/06/24 (Sun) 20:17:07

詳しい情報ありがとうございます。
再現させることができ再度プログラムを修正しました。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/06/24 (Sun) 12:30:30

1.フォーマットのみしたイメージファイルのコピーを作成。
 NDで表示される空き領域:8,430,825,472バイト(2,058,307クラスタ)

2.NDで5.66GBのフォルダーとファイルを書き込み。
 NDで表示される空き領域:2,341,912,576バイト(571,756クラスタ)

3.NDを起動し直してから「2.」のファイルを開く。
 NDで表示される空き領域:2,341,912,576バイト(571,756クラスタ)

なお、NMINFATで処理後のファイルは、次のようになりました。
 NDで表示される空き領域:0バイト(0クラスタ)


書き込んだフォルダーとファイルは、1つのフォルダーの中に3つのファイルがあります。
2.83 GB (3,044,448,256 バイト)のファイルが2つと4.21 KB (4,314 バイト)が1つです。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/06/20 (Wed) 00:37:43

追加ですみませんが、イメージの中に書き込んでいる5.66GBのファイルの中で最大の大きさ(1ファイルで)のファイルはどのくらいの大きさでしょうか?

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/06/19 (Tue) 23:31:33

NDでファイルを書き込んだあと、いったんNDを終了して、再度同じイメージファイルをNDで開いた場合(NMINFATは使いません)、右下に出ている空き領域はどのくらいでしょうか?

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/06/19 (Tue) 20:28:01

コマンド プロンプトで直接コマンド入力した場合も以下と同じ結果になりました。


イメージファイル(7.87 GB (8,455,200,768 バイト))を同じフォルダーにコピーし、コピーにNDで5.66 GB (6,088,900,826 バイト)分のフォルダーとファイルを書き込んだ後、NMINFAT.cmdにドラッグ&ドロップしました。

※ファイルのコピーは、右ドラッグ&ドロップでコピーしたのでファイル名に空白が含まれています。
※ドラッグ&ドロップでNMINFAT.cmdに渡されるファイル名は""で囲んだものになります。

「成功しました。」と表示され、出来上がったイメージファイルのサイズは、「1.69 GB (1,816,690,176 バイト)」となっています。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/06/13 (Wed) 23:20:49

フォーマットのみしたイメージについてはそれで正しい動作かと思います。
ファイルを書き込んだ方は、8GB(またはそれ以上?)のイメージに5.66GBのファイルを書き込んだのにそれより小さい1.69GBになってしまったということでしょうか?それだとバグかと思います。単体で実行すると成功時の「成功しました。」のメッセージは出力されるでしょうか?

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/06/12 (Tue) 07:12:28

実行ファイルをダウンロードし直したものに更新し、NMINFAT.cmdへイメージファイルをドラッグした結果です。

ファイルの書き込みと処理後のファイルの有無の確認には、ND Ver.0 alpha30iを使用。

フォーマットのみしたイメージ(8GB):256MBでファイルの無いイメージができました。

NDで5.66GBのファイルを書き込んだイメージ:1.69GBのファイルができました。
※出来上がったファイルをNDで開くと、中身のファイル名とサイズの表示は元ファイルと同じ表示でした。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/06/02 (Sat) 04:30:35

FATのサイズとデータ領域の計算が間違っていたところを修正しました。ファイルは上書きしてあります。
サイズは特に制限していません。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/06/01 (Fri) 01:26:57

入力できるファイルサイズに制限はありますか?

展開したファイルと同じフォルダーに以下の内容のcmdファイルを用意して、そこにイメージファイルをドラッグすると265MBのファイルができましたが、NDで中のファイルを確認できませんでした。

動作テスト用に入力したファイルはWindows 98 SEをセットアップしたイメージファイルで、容量が32GBです。

なお、OSは64ビット版のWindows 10 Pro バージョン1709 OSビルド16299.46です。


■NMINFAT.cmd
以下は、NMINFAT.cmdの内容です。
@echo off
echo 指定されたファイルを元に空き容量が10MBのファイルを生成します。
choice /m "処理を実行しても良いですか?"

if ERRORLEVEL 2 goto BREAK

echo 処理を実行します。
@echo on
nminfat.exe %1 "%~dpn1_min%~x1" 16 63 10
@echo off
goto END

:BREAK
echo 処理を中断しました。

:END
echo バッチ処理終了。
echo 何かキーを押してください。
pause >nul
exit

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/05/29 (Tue) 20:08:24

すみません。なぜか掲示板から直接だとダウンロードできなくなっているようです。
URLをコピーして、別のウィンドウで開くなどしてみてください。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/05/29 (Tue) 07:44:24

対応ありがとうございます。

ダウンロードを試みたのですが、エラー403でダウンロード出来ませんでした。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/05/15 (Tue) 23:04:25

NDには組み込みにくかったので単独のプログラムとして作ってみました。
http://euee.web.fc2.com/tool/NMINFAT.ZIP

使い方
nminfat 元ファイルパス 先ファイルパス ヘッド数 セクタ数 [必要な空き容量(MB)]

nminfat c:\disk\test.img c:\disk\test_min.img 16 63 10

元ファイルパスに<1>のイメージを指定してください。

簡単に組むためにいろいろ制限があります。
後ろからシリンダーを減らしているだけなので途中の空きは無視されます。(詰めません。)
PCem用のべたイメージのみの対応です。
処理中の進捗表示はありません。大きいイメージだと固まったように感じるかもしれませんがしばらく待ってください。

その他
FATの最小容量が決まっているので、それより小さくなることはありません。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - gh

2018/04/15 (Sun) 21:56:15

初期化直後の書き込みでファイルが詰めて配置されている想定だったので、<1>のシリンダーを減らしてファイルサイズを減らすという意図でした。

<2>が出来上がるのであれば、得られる結果は目的に合致します。

手順は、<1>にパッチを一緒に入れる可能性があるため、(7)がDVDよりも<1>の方が良いです。

もしくは自動化の手順に対して設定で少しだけ容量に余裕を持たせられると、後からパッチを一緒に入れることができて良いと思います。

Re: NDでHDDイメージの仮想環境上でのサイズを小さくできませんか? - euee

2018/04/14 (Sat) 21:56:26

例えば、DVD内のファイルの合計サイズが50MBだとして

(1)大きめのHDDイメージ<1>を作成する。100MBで作るとする。
(2)<1>をフォーマットする。
(3)<1>にDVD内のファイルをコピーする。
(4)<1>の空き容量を確認する。40MB空きだったとする。
(5)ちょうどよい大きさのHDDイメージ<2>を作成する。100MB-40MB=60MBで作るとする。
(6)<2>をフォーマットする。
(7)<2>にDVD内のファイルをコピーする。

とすることで<2>が目的のHDDイメージになるかと思うのですが合っているでしょうか?
その場合、この手順の内の(4)から(7)を自動で行いたいということでしょうか?

トリムができるようになりませんか? - trimtester

2015/12/08 (Tue) 12:01:19

トリムができるようになりませんか?詳細は以下参照。

(1) 不具合報告

Case-1.
●Linux版のNHC/NHCTRIM・NHCCで、ext4およびswapパーティションを含む.vmdkファイルのトリム・変換ができません。

[3]+ Segmentation fault (コアダンプ) ./nhc

nhctrim: exitコード ($?) = 2

-rwxrwxr-x 1 root root 655580 7月 21 01:13 nhcc
-rwxrwxr-x 1 root root 1137 7月 21 01:02 nhccmsg.txt
root:~/nhc/nhccl0a01# ./nhcc
bash: ./nhcc: そのようなファイルやディレクトリはありません

nhcc: exitコード ($?) = 127


Case-2.
●Linux版のNHCTRIM・NHCCで、FAT32またはNTFSパーティションを含む.vmdkファイルのトリム・変換ができません。

nhctrim: exitコード ($?) = 2

-rwxrwxr-x 1 root root 655580 7月 21 01:13 nhcc
-rwxrwxr-x 1 root root 1137 7月 21 01:02 nhccmsg.txt
root:~/nhc/nhccl0a01# ./nhcc
bash: ./nhcc: そのようなファイルやディレクトリはありません

nhcc: exitコード ($?) = 127


Case-3.
●Windows版のNHC/NHCTRIMで、ext4およびswapパーティションを含む.vmdkファイルのトリムができません。
この場合、Windows版のNHCCで変換後でも、トリムができません。

NHC.EXE は動作を停止しました。

NHCTRIM: exitコード (%ERRORLEVEL%) = 2


Case-4.
●Windows版のNHCTRIMで、FAT32またはNTFSパーティションを含む.vmdkファイルのトリムができない場合があります。
この場合、Windows版のNHCCで変換後では、トリムができるようになる場合があります。
.vmdkファイル冒頭のパラメータの解釈に失敗しているらしいことが原因のようです。

NHCTRIM: exitコード (%ERRORLEVEL%) = 2


(2) 使用ツール・版数

●Linux版のNHC/NHCTRIM・NHCC

ZM5s 2015/10/04 ダウンロード 64ビット
http://euee.web.fc2.com/tool/nhcl0a1064co47.tgz
NHCTRIM Ver.0 alpha04 2014/12/21
http://euee.web.fc2.com/tool/nhctl0a04x64.tgz
NHCC Ver.0 alpha01 2015/07/21
http://euee.web.fc2.com/tool/nhccl0a01.tgz

●Windows版のNHC/NHCTRIM・NHCC

64bit ダウンロード
http://euee.web.fc2.com/tool/NHC640A45A.ZIP
NHCTRIM Ver.0 alpha03 2013/05/02
http://euee.web.fc2.com/tool/NHCT0A03.LZH
NHCC Ver.0 alpha01 2015/07/21
http://euee.web.fc2.com/tool/NHCC0A01.LZH


(3) 動作環境

- VMware Player for Windows x64上の、Linux (Ubuntu) x64
- Windows7 x64

Re: トリムができるようになりませんか? - trimtester

2017/08/20 (Sun) 07:13:31

KEEP ALIVE 2017/08/20

ダウンロード用リンクのまとめ

●Windows用NHC GUI版

NHC Ver.0 alpha47C 2017/02/05

64bit ダウンロード (☆推奨)
http://euee.web.fc2.com/tool/NHC640A47C.ZIP

●Windows用NHCC CLI版 (コマンドライン版)

NHCC Ver.0 alpha03 2016/05/02 (☆推奨)
http://euee.web.fc2.com/tool/NHCC0A03.LZH

※NHCTRIMはNHCCに統合済。

●Linux用NHC GUI版

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

ダウンロード 64ビット (不具合未修正の正式版、★非推奨)
http://euee.web.fc2.com/tool/nhcl0a1164co47.tgz

上記の「修正版」 (☆推奨)
http://euee.web.fc2.com/tool/nhcl0a11a64co47.tgz

※Linux用NHC GUI版については、不具合を修正した上記の「修正版」を改め、正式版としてのリリース待ち状態です。
※すなわち、上記の「修正版」は、まだ正式版としてリリースされていません。

●Linux用NHCC CLI版 (コマンドライン版)

NHCC Ver.0 alpha01 2015/07/21 (不具合未修正の正式版、★非推奨)
http://euee.web.fc2.com/tool/nhccl0a01.tgz

NHCTRIM Ver.0 alpha04 2014/12/21 (不具合未修正の正式版、★非推奨)
http://euee.web.fc2.com/tool/nhctl0a04x64.tgz

> NHCTRIMはNHCCに統合される予定です。

※Linux用NHCC CLI版 (コマンドライン版) については、不具合を修正するためのアップデート待ち状態です。
※すなわち、まだ不具合が修正されていません。


★上記の不具合の具体的な内容は、本スレッドを参照してください。

Re: トリムができるようになりませんか? - trimtester

2017/01/04 (Wed) 06:55:20

KEEP ALIVE 2017/01/04

●Linux用NHC GUI版

※Linux用NHC GUI版については、不具合を修正した「修正版」の正式リリース待ち状態です。
※すなわち、「修正版」は、まだ正式版としてリリースされていません。

●Linux用NHCC CLI版 (コマンドライン版)

※Linux用NHCC CLI版 (コマンドライン版) については、不具合を修正するためのアップデート待ち状態です。
※すなわち、まだ不具合が修正されていません。

★詳細は、本スレッドを参照してください。

Re: トリムができるようになりませんか? - trimtester

2016/08/16 (Tue) 07:21:05

以下、「圧縮」関連情報のまとめ。

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

NHCでいう「圧縮」とは、
vSphere Virtual Disk Development Kit (VDDK SDK) に含まれるvmware-vdiskmanagerで、
Disk type 5: compressed disk optimized for streaming
に相当するフォーマットです。

.vmdkのRead-only圧縮フォーマットであり、バックアップ用などファイルサイズを小さくして保存したい場合に利用できます。

※ただし、公式には、NHCはvmware-vdiskmanagerとの互換性を保証していないようです。

以下、本スレッド内の「圧縮」関連の抜粋引用。

----

今後、機能を追加する場合は、.vmdkのRead-only圧縮フォーマットに対応していただけると幸いです。

----

質問の仕方を変えます。トリムではなく「圧縮」操作された.vmdkファイルについて、

(1) VMware Player上で (CD/DVDにツールやOSのLiveCDのISOを指定して再生するなどして) 、.vmdkファイル内のファイル閲覧などができるでしょうか (書き込みはしない) 。

実際に試してみたところ、ファイル閲覧ができるようでした。

(2) NHCで「圧縮(書込不可)」を指定して変換 → vdm (vmware-vdiskmanager) でDisk type 0を指定して変換、というNHC圧縮→vdm解凍ができるでしょうか。

実際に試してみたところ、NHC圧縮→vdm解凍が正常終了し、ブートしました。

(3) vdm (vmware-vdiskmanager) でDisk type 5を指定して変換 → NHCで「ノーマル」を指定して変換、というvdm圧縮→NHC解凍ができるでしょうか。

実際に試してみたところ、vdm圧縮→NHC解凍が正常終了し、ブートしました。

(注記)
Disk type 0: single growable virtual disk
Disk type 5: compressed disk optimized for streaming

----

圧縮,解凍についてですが、vmware-vdiskmanagerと互換性はありません。

----

【質問】
NHC起動 → 「その他処理(S)...」 → 「圧縮(D)...」・「解凍(I)...」の機能は、
vSphere Virtual Disk Development Kit (VDDK SDK) に含まれるvmware-vdiskmanagerで、
Disk type 5: compressed disk optimized for streaming
のフォーマットと互換性のある圧縮・解凍でしょうか。

Re: トリムができるようになりませんか? - trimtester

2016/08/15 (Mon) 11:32:52

KEEP ALIVE 2016/08/15

ダウンロード用リンクのまとめ

●Windows用NHC GUI版

NHC Ver.0 alpha47 2016/03/13

64bit ダウンロード
http://euee.web.fc2.com/tool/NHC640A47.ZIP

●Windows用NHCC CLI版 (コマンドライン版)

NHCC Ver.0 alpha03 2016/05/02
http://euee.web.fc2.com/tool/NHCC0A03.LZH

●Linux用NHC GUI版

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

ダウンロード 64ビット (不具合未修正の正式版)
http://euee.web.fc2.com/tool/nhcl0a1164co47.tgz

上記の「修正版」
http://euee.web.fc2.com/tool/nhcl0a11a64co47.tgz

※Linux用NHC GUI版については、不具合を修正した上記の「修正版」を改め、正式版としてのリリース待ち状態です。
※すなわち、上記の「修正版」は、まだ正式版としてリリースされていません。

●Linux用NHCC CLI版 (コマンドライン版)

※Linux用NHCC CLI版 (コマンドライン版) については、不具合を修正するためのアップデート待ち状態です。
※すなわち、まだ不具合が修正されていません。


★上記の不具合の具体的な内容は、本スレッドを参照してください。

Re: トリムができるようになりませんか? - trimtester

2016/02/22 (Mon) 22:58:34

> すみません。メッセージファイルが入っていませんでした。
> 新しいファイルをアップロードしました。

> NHCC Ver.0 alpha02 2016/02/20
> http://euee.web.fc2.com/tool/NHCC0A02.LZH

修正前: 207,847 バイト (NHCCMSG.TXT が含まれない)
修正後: 208,493 バイト (NHCCMSG.TXT が含まれる)

Windows版NHCC (コマンドライン版) が修正アップデートされたようです。

●(Ubuntu) ext4+swap .vmdkサンプルファイル
●CentOS ext4+swap .vmdkサンプルファイル
●FAT32 .vmdkサンプルファイル
●NTFS .vmdkサンプルファイル

上記の各.vmdkについて、それぞれ下記のトリム・変換を実施してみました。

■トリム: NHCC -t SOURCE.vmdk
■変換: NHCC -o 1 SOURCE.vmdk DESTINATION.vmdk

いずれの場合も正常終了し、ブートしました。

今後、機能を追加する場合は、.vmdkのRead-only圧縮フォーマットに対応していただけると幸いです。


Linux版NHC (GUI版) については、正式版としてのアップデート待ち状態です。

Linux版NHCC (コマンドライン版) については、アップデート待ち状態です。

Re: トリムができるようになりませんか? - euee

2016/02/21 (Sun) 16:31:51

すみません。メッセージファイルが入っていませんでした。
新しいファイルをアップロードしました。

Re: トリムができるようになりませんか? - trimtester

2016/02/21 (Sun) 10:05:04

> コマンドライン用のNHCを作りました。
> 変換先のパラメータは通常のNHCのほぼデフォルトの固定となります。
> 下記のトリム機能もこのプログラムに含まれています。(Windows版)
> 使い方は引数なしで実行すると表示されます。
> Windows版 NHCC Ver.0 alpha02 2016/02/20
> http://euee.web.fc2.com/tool/NHCC0A02.LZH

Windows版NHCC (コマンドライン版) がアップデートされたようです。
NHCC.EXEを引数なしで実行したところ、次のように表示されました。

Can not load nhccmsg.txt (-1)

必要な "nhccmsg.txt" が含まれていないようです。


> (1),(2)を修正しました。
> http://euee.web.fc2.com/tool/nhcl0a11a64co47.tgz

Linux版NHC (GUI版) については、上記の修正版で、自分が当面の間使いそうな機能は動作するようです。
他に問題がなければ、正式版としてのアップデート待ち状態です。


Linux版NHCC (コマンドライン版) については、アップデート待ち状態です。

Re: トリムができるようになりませんか? - euee

2016/01/26 (Tue) 19:52:51

実行ファイルだけ用意してあとは使う方にまかせようと思うので、すみませんがインストーラ等は含めないままにしておきます。

Re: トリムができるようになりませんか? - trimtester

2016/01/25 (Mon) 22:56:01

> 以上の経緯を考えると、最初に確認すべきだったかもしれませんが、
> インストール方法は特に説明がないようです。
> インストールはどのようにすれば良いでしょうか。

> インストールはtgzファイルの解凍です。起動するようであればどこに解凍してもらってもかまいません。

【要望】
今までの経緯を考えると、無用の混乱を防止し、作業を効率化するために、
インストール/アンインストール用スクリプトの追加を希望します。
差し支えがなければ、拙作の下記スクリプトを利用可能です。

----------

Linux版nhcのインストール/アンインストール用スクリプトを作成しました。
インデントは整形し直してください。
主要ないくつかのディストリビューションで動作確認しました。
改変・配布・使用等に制限はありません。

- 解凍後のnhc/nhcc(/nhctrim)等と同じディレクトリで 'root' として実行
- Linux系の改行 LF で保存 (Windows系の改行 CR+LF ではNG)
- ファイル名を "nhc-install.sh" として保存
- '-u' または '--uninstall' オプションを付けるとアンインストーラとして動作
- "nhc-uninstall.sh" にコピーすればアンインストーラとして動作
- nhc (GUI版) 用のfreedesktop対応

#!/bin/bash
if [ "$USER" != 'root' ]; then echo "Run it as 'root'."; exit 1; fi
INSTDIR='/usr/bin'
DESKTOP='/usr/share/applications'
SCRIPT="${0##*/}"; SCBASE="${SCRIPT%.*}" # ./$SCRIPT; ./$SCBASE.sh
OBJECT="${SCBASE%%-*}"; METHOD="${SCBASE##*-}" # ./$OBJECT-$METHOD.sh
if [ "$METHOD" = 'uninstall' -o "$1" = '-u' -o "$1" = '--uninstall' ]; then
echo "The \"$OBJECT\" files are to be uninstalled."
rm -iR $INSTDIR/$OBJECT* $DESKTOP/$OBJECT*
else
chown -fR root: $OBJECT*; chmod -fR 755 $OBJECT*
chmod -fR 644 $OBJECT*.*; chmod -fR 744 $OBJECT*.sh
find . -name "$OBJECT*" ! -name "*gz" -exec cp -favt "$INSTDIR" {} +
mv -fv "$INSTDIR/$SCRIPT" "$INSTDIR/$OBJECT-uninstall.sh"
if [ -f "$INSTDIR/$OBJECT" ]; then
cat<<-EOT >"$DESKTOP/$OBJECT.desktop"
[Desktop Entry]
Name=$OBJECT
Type=Application
Exec=$INSTDIR/$OBJECT %f
Categories=System
Icon=$OBJECT
EOT
chown -fR root: "$DESKTOP/$OBJECT.desktop"
chmod -fR 644 "$DESKTOP/$OBJECT.desktop"
fi
fi
EXECHO="ls -alR \"$INSTDIR\"|grep -i \" $OBJECT\""
echo "$EXECHO"; eval "$EXECHO"
EXECHO="ls -alR \"$DESKTOP\"|grep -i \" $OBJECT\""
echo "$EXECHO"; eval "$EXECHO"

Re: トリムができるようになりませんか? - trimtester

2016/01/23 (Sat) 19:27:33

> (1),(2)を修正しました。
> http://euee.web.fc2.com/tool/nhcl0a11a64co47.tgz

(1) 「その他処理(S)...」→「圧縮(D)...」+「同時にトリム(T)」

●(Ubuntu) ext4+swap .vmdkサンプルファイル
●CentOS ext4+swap .vmdkサンプルファイル
●FAT32 .vmdkサンプルファイル
●NTFS .vmdkサンプルファイル

上記の各.vmdkについて、それぞれ下記のトリム・変換を実施してみました。

■「その他処理(S)...」→「圧縮(D)...」+「同時にトリム(T)」

いずれの場合も正常終了しました。
圧縮され、ファイルサイズが「圧縮(書込不可)」の実行結果と全く同じになります。

(2) 「VMware VMDK 形式への変換」

Windows版NHCと同様に、virtualHWVersion(H) が "13" まで指定でき、
デフォルト値が "12" になっていました。

Re: トリムができるようになりませんか? - euee

2016/01/23 (Sat) 12:42:28

インストールはtgzファイルの解凍です。起動するようであればどこに解凍してもらってもかまいません。

Re: トリムができるようになりませんか? - trimtester

2016/01/23 (Sat) 10:57:59

nhc系を/usr/binに設置することで、下記問題を回避する方向で考えます。
/usr/local/binの方が良いと思いましたが、調べたところ、
Red Hat系LinuxのrootのPATHには/usr/local/binが含まれないようです。

これまでは、nhc系をrootのホームディレクトリの下層に設置し、
一般ユーザとして、sudoコマンドでこれを利用するように考えていました。
上層ディレクトリのパーミッションによって動作が異なるように見えます。


sudoコマンドがタイムアウトした後で、password入力が要求されず、
何故かバックグラウンドで起動してしまうという問題。

sudoコマンドの仕様なのかバグなのか分からない、奇妙な動作ですが、
根本的な解決の方法が不明なので、この問題は棚上げにしたまま、
対症療法 (ワークアラウンド) 的に回避することにしようと思います。


以上の経緯を考えると、最初に確認すべきだったかもしれませんが、
インストール方法は特に説明がないようです。
インストールはどのようにすれば良いでしょうか。

Re: トリムができるようになりませんか? - euee

2016/01/22 (Fri) 21:10:42

プログラム側で対処するのはむずかしそうなので、fgでとりあえず実行できるようであればそちらでお願いします。

Re: トリムができるようになりませんか? - trimtester

2016/01/22 (Fri) 20:13:22

確かに、nhcが何故かバックグラウンドで起動しているように見えます。
sudoコマンドがタイムアウトしても、password入力して (or 入力せずに) 、
フォアグラウンドで動作するようにできないものでしょうか。

$ ls -al nhc*
:
-rwxr-xr-x 1 root root 2448216 1月 17 22:56 nhc
-rwxr-xr-x 1 root root 13559 1月 17 22:50 nhcmsg.txt
:
$ sudo ./nhc & (→ nhc起動 → 変換等の処理は行わず → nhc終了)
[1] 17837
$ (Enterキー入力)
[1]+ 終了 sudo ./nhc

↓timestamp_timeout分 (1分) 以上経過後

$ sudo ./nhc & (→ nhcが何故かバックグラウンドで起動!?)
[1] 17857
$ (Enterキー入力)
[1]+ 停止 sudo ./nhc
$ fg 1
sudo ./nhc
[sudo] password for ... (→ password入力)

▼lsコマンドは、sudoコマンドがタイムアウトしても、password入力して、
フォアグラウンドで動作します (期待される動作) 。

$ ls -al /root
ls: ディレクトリ /root を開くことが出来ません: 許可がありません
$ sudo ls -al /root
[sudo] password for ... (→ password入力)
:
-rw------- 1 root root 3085 1月 22 18:03 .bash_history
-rw-r--r-- 1 root root 3106 2月 20 2014 .bashrc
-rw-r--r-- 1 root root 140 2月 20 2014 .profile
:
$ (Enterキー入力)

↓timestamp_timeout分 (1分) 以上経過後

$ sudo ls -al /root
[sudo] password for ... (→ password入力)
:
-rw------- 1 root root 3085 1月 22 18:03 .bash_history
-rw-r--r-- 1 root root 3106 2月 20 2014 .bashrc
-rw-r--r-- 1 root root 140 2月 20 2014 .profile
:

▼firefoxはsudoなしで起動するため、
sudoコマンドのタイムアウトに影響されないと思われます。
firefoxはsudo password入力が不要なように見えます。

$ firefox & (→ sudoなしで起動 → 終了)
$ which firefox
/usr/bin/firefox
$ ls -al /usr/bin/firefox
lrwxrwxrwx 1 root root 25 5月 29 2015 /usr/bin/firefox -> ../lib/firefox/firefox.sh
$ ls -al /usr/lib/firefox/firefox.sh
-rwxr-xr-x 1 root root 2740 10月 14 2014 /usr/lib/firefox/firefox.sh
$ cat /usr/lib/firefox/firefox.sh
:
MOZ_LIBDIR=/usr/lib/firefox
:
MOZ_APP_NAME=firefox
:
exec $MOZ_LIBDIR/$MOZ_APP_NAME "$@"
:
$ ls -al /usr/lib/firefox/firefox
-rwxr-xr-x 1 root root 108752 10月 14 2014 /usr/lib/firefox/firefox
$ /usr/lib/firefox/firefox & (→ sudoなしで起動 → 終了)

Re: トリムができるようになりませんか? - euee

2016/01/22 (Fri) 17:21:59

プログラムの起動はしていてバックグラウンドにまわっているようなので、画面にウィンドウが表示されない場合は
$ fg 1
(1は表示されたジョブの番号[1]から)
のように実行して表に出してもらえるでしょうか?
他のプログラム(たとえばfirefoxなど)でも同様の動作になるでしょうか?($ sudo firefox &)

Re: トリムができるようになりませんか? - trimtester

2016/01/22 (Fri) 11:45:54

> (3)についてですが差し支えがなければOSを教えていただけるでしょうか?一定時間とのことですがだいたいどのくらいでしたでしょうか?
> また、nhc起動 → nhc正常終了 は起動してからの変換等の処理は行わずに終了でしょうか?

ホストOSは、Windows7 x64上の、VMware Player for Windows x64上の、Ubuntu x64 です。

使用版 (現時点ではサポート期限切れ):
http://cdimage-u-toyama.ubuntulinux.jp/releases/14.10/ubuntu-ja-14.10-desktop-amd64.iso
最新版:
http://cdimage-u-toyama.ubuntulinux.jp/releases/15.10/ubuntu-ja-15.10-desktop-amd64.iso

現象に気付いたのは、約40GBの.vmdkを、約40分で変換処理後ですが、
トリム・変換等の処理は行わず、起動直後に終了させても再現しました。
よって、ゲストOS (.vmdk) は関係ないと思います。

一定時間とは、sudoコマンドのタイムアウトと考えられます。
デフォルトは5分のようですが、visudoコマンドで timestamp_timeout を、
例えば1分に設定すれば、再現が容易になると思います。

Studio ODIN - blog風小ネタ集 > sudo のタイムアウトまでの時間を長くする
http://www.odin.hyork.net/write/write0430.html


$ sudo visudo
[sudo] password for ... (→ password入力)

### Edit as follows
Defaults env_reset
Defaults timestamp_timeout=1 # (default=5) minutes
### Save as /etc/sudoers.tmp

$ sudo cat /etc/sudoers
:
Defaults env_reset
Defaults timestamp_timeout=1 # (default=5) minutes
:
$ sudo su
# chown root: nhc*;chmod 755 nhc*
# exit
exit
$ ls -al nhc*
:
-rwxr-xr-x 1 root root 2448216 1月 17 22:56 nhc
-rwxr-xr-x 1 root root 13559 1月 17 22:50 nhcmsg.txt
:
$ sudo ./nhc & (→ nhc起動 → 変換等の処理は行わず → nhc終了)
[1] 18755
$ (Enterキー入力)
[1]+ 終了 sudo ./nhc

↓timestamp_timeout分 (1分) 未満経過後

$ sudo ./nhc & (→ nhc起動 → 変換等の処理は行わず → nhc終了)
[1] 18758
$ (Enterキー入力)
[1]+ 終了 sudo ./nhc

↓timestamp_timeout分 (1分) 以上経過後

$ sudo ./nhc & (→ nhc起動せず!!)
[1] 18784
$
[1]+ 停止 sudo ./nhc
$ sudo su
[sudo] password for ... (→ password入力)
# ./nhc & (→ nhc起動 → 変換等の処理は行わず → nhc終了)
[1] 18798
# (Enterキー入力)
[1]+ 終了 ./nhc

Re: トリムができるようになりませんか? - euee

2016/01/22 (Fri) 00:22:58

確認ありがとうございます。
(1),(2)を修正しました。
http://euee.web.fc2.com/tool/nhcl0a11a32co47.tgz
http://euee.web.fc2.com/tool/nhcl0a11a64co47.tgz
(3)についてですが差し支えがなければOSを教えていただけるでしょうか?一定時間とのことですがだいたいどのくらいでしたでしょうか?
また、nhc起動 → nhc正常終了 は起動してからの変換等の処理は行わずに終了でしょうか?

Re: トリムができるようになりませんか? - trimtester

2016/01/20 (Wed) 10:10:08

> ダウンロード 64ビット
> http://euee.web.fc2.com/tool/nhcl0a1164co47.tgz

Linux版NHCがアップデートされたようです。
トリム・変換を実施してみました。

問題点:

(1) 「その他処理(S)...」→「圧縮(D)...」+「同時にトリム(T)」

圧縮されません。
どのファイルシステム (ext4, FAT32, NTFS etc.) でも同様です。
ファイルサイズが「このファイルをトリムするだけ(T)」の実行結果と全く同じになります。
Windows版NHCの場合は圧縮され、ファイルサイズが「圧縮(書込不可)」の実行結果と全く同じになります。

(2) 「VMware VMDK 形式への変換」

virtualHWVersion(H) が "10" までしか指定できません。
Windows版NHCの場合は "13" まで指定でき、デフォルト値は "12" です。

(3) 一定時間経過後にsudoでnhc起動せず

# chown root nhc*;chgrp root nhc*;chmod 755 nhc*
$ sudo ./nhc

[sudo] password for ... → password入力

nhc起動 → nhc正常終了


$ sudo ./nhc

nhc起動 → nhc正常終了

↓一定時間経過

$ sudo ./nhc

nhc起動せず [停止]


# ./nhc

nhc起動 → nhc正常終了

以上、対策を宜しくご検討願います。

Re: トリムができるようになりませんか? - trimtester

2016/01/12 (Tue) 18:28:32

> 64bit ダウンロード
> http://euee.web.fc2.com/tool/NHC640A46.ZIP

> VMware VMDK形式ではプログラム上2TBくらいまでのハードディスクサイズを処理できる可能性があります。

Windows版NHCが正式にアップデートされたようです。

●(Ubuntu) ext4+swap .vmdkサンプルファイル
●CentOS ext4+swap .vmdkサンプルファイル
●FAT32 .vmdkサンプルファイル
●NTFS .vmdkサンプルファイル

上記の各.vmdkについて、それぞれ下記のトリム・変換を実施してみました。

■「このファイルをトリムするだけ(T)」
■「ファイルシステムの情報を利用してできる限り小さいサイズにする。(F)」→「VMware VMDK 形式への変換」→「圧縮(書込不可)」
■「その他処理(S)...」→「圧縮(D)...」+「同時にトリム(T)」

いずれの場合も正常終了しました。

今後は、NHCCと、Linux版のアップデート待ちです。

Re: トリムができるようになりませんか? - euee

2015/12/27 (Sun) 22:32:52

トリム処理後のファイルパスの件はすみませんが優先度を低く考えています。

Re: トリムができるようになりませんか? - trimtester

2015/12/26 (Sat) 19:52:13

下記の案1.が駄目なのであれば、案2.の方法も考えられます。
トリムした結果と、変換した結果で、冒頭のパラメータ以外に違いがないようであれば、案2.の方法が可能だと思われます。

●大きいファイルがトリムできない問題の対策案1. (トリム系)

「このファイルをトリムするだけ(T)」
の現行手順に対し、
例えば、「このファイルをトリムするだけ(T)」の後に、ディレクトリ (フォルダ) を指定する手順を追加。

●大きいファイルがトリムできない問題の対策案2. (変換系)

「ファイルシステムの情報を利用してできる限り小さいサイズにする。(F)」→「VMware VMDK 形式への変換」→「変換先ファイル名(F)」
の現行手順に対し、
「VMware VMDK 形式への変換」において、「可能であればパラメータを変換元ファイルからそのまま継承する」オプションを追加。

結果的に、同じファイルが作成されるのであれば、このような方法でも結構です。


> 【要望】テンポラリファイルを作成するドライブ (パス) を、オプションでユーザが指定できるようにするのが良いと思います。
>
> 理由:
>
> 他のパーティションや他のドライブを指定することにより、パーティションの残容量が少ない場合でも、トリム・変換を可能にするため。
> ファイルをコピーする分の処理時間が増えますが、トリム・変換が可能になる方がメリットは大きいと考えられます。
> これがサポートされれば、NHCの優位性をアピールできる機能の一つになると思います。
>
> 現状では、.vmdkファイルのサイズが大きい場合、パーティションの残容量が足りずにトリム・変換が不可能です。

> ●要望について
>
> > テンポラリファイルについてですが、別ドライブに作った場合に最後にコピー処理が必要となり、その時点で元のファイルを削除するか上書きすることになります。コピー処理中にエラーが発生すると元のファイルが存在しないためNHCの処理の中で元の状態に戻すことができません。そのため今のところ同じ場所で行うことにしています。そのうち対応するようであれば、トリムされたファイルの出力先を選択できるようにして、その後の削除やコピー処理はユーザーに行ってもらうような動作になるかもしれません。
>
> 従来は不可能だった、サイズが大きいファイルのトリム・変換が可能になるメリットを考えれば、それを容認するのは仕方ないと思います。
> 最初にコピー処理をした後で、逆方向に変換を行うという方法も考えられますが、コピー処理が必ず入るので、一長一短かもしれません。
> 変換前ファイルと、変換中・変換後ファイルが、それぞれ異なるパーティションに指定できるよう、宜しくご検討願います。

> 「圧縮(書込不可)」・「ノーマル」による圧縮・解凍で作成される.vmdkファイルと、
> 「圧縮(D)...」・「解凍(I)...」+「同時にトリム(T)」による圧縮・解凍で作成される.vmdkファイルは、
> 冒頭のパラメータ以外に違いがないようですが、そのように理解してよいでしょうか。他に何か違う点はありますか。

> (1) トリム・変換の処理前ファイルと、処理後ファイルを、それぞれ異なるパーティション (パス、ディレクトリ) に指定する機能の実装

> (1)については今は実装予定はありません。

Re: トリムができるようになりませんか? - euee

2015/12/24 (Thu) 00:00:45

(1)については今は実装予定はありません。
(2)については現在実装しているところです。
(3)については(2)が終わったあとになるかと思います。Linux版のNHCについては先に出すかもしれません。
(4)についてはVMwareの場合はプログラム上2TBくらいまで処理できる可能性がある、くらいにしておきます。大きいサイズの現実的なデータでは試していません。

Re: トリムができるようになりませんか? - trimtester

2015/12/23 (Wed) 18:50:43

Windows版NHCについては、当面の間使いそうな機能のほとんどが動作するようになったようです。
今後は、下記項目の実施待ち状態かと思います。

(1) トリム・変換の処理前ファイルと、処理後ファイルを、それぞれ異なるパーティション (パス、ディレクトリ) に指定する機能の実装

(2) NHCTRIMが統合され、NHCと同レベルの機能にまでアップデートされた、NHCC (コマンドライン版、64ビット版) のリリース

(3) Windows版と同レベルの機能にまでアップデートされた、Linux版NHCシリーズ (NHC/NHCC、64ビット版) のリリース

(4) 「何TBまでのディスクサイズをサポート」しているかの明記

以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - trimtester

2015/12/22 (Tue) 23:22:15

ご回答、ありがとうございます。

> 圧縮処理を修正しました。最初と同じバグでした。
> http://euee.web.fc2.com/tool/NHC640A45A5.ZIP

NHC640A45A5のNHC.EXEで、「その他処理(S)...」 → 「圧縮(D)...」・「解凍(I)...」+「同時にトリム(T)」が正常終了することを確認しました。

「圧縮(書込不可)」・「ノーマル」による圧縮・解凍で作成される.vmdkファイルと、
「圧縮(D)...」・「解凍(I)...」+「同時にトリム(T)」による圧縮・解凍で作成される.vmdkファイルは、
冒頭のパラメータ以外に違いがないようですが、そのように理解してよいでしょうか。他に何か違う点はありますか。

●ext4+swap .vmdk冒頭のパラメータ (「圧縮(書込不可)」・「ノーマル」)

version=1
encoding="Shift_JIS"
CID=fffffffe
parentCID=ffffffff
createType="monolithicSparse"

# Extent description
RW 1953525168 SPARSE "hdd-0.vmdk"

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "11"
ddb.geometry.cylinders = "121601"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "lsilogic"

●ext4+swap .vmdk冒頭のパラメータ (「圧縮(D)...」・「解凍(I)...」+「同時にトリム(T)」)

version=1
CID=bb7cee3f
parentCID=ffffffff
isNativeSnapshot="no"
createType="monolithicSparse"

# Extent description
RW 1953525168 SPARSE "hdd-0.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.encoding = "Shift_JIS"
ddb.geometry.cylinders = "121601"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "740664b0ddea20c1f8edbaefbb7cee3f"
ddb.toolsVersion = "9506"

Re: トリムができるようになりませんか? - euee

2015/12/21 (Mon) 21:36:57

圧縮処理を修正しました。最初と同じバグでした。
http://euee.web.fc2.com/tool/NHC640A45A5.ZIP

圧縮,解凍についてですが、細かくは試していないのでどこまで処理可能かは試してみないとわからないです。

Re: トリムができるようになりませんか? - trimtester

2015/12/18 (Fri) 22:02:22

ご回答、ありがとうございます。

> CentOSのext4についてですが、未対応な形式なのにトリムしてしまうバグでした。こちらは対応するように修正しました。
> http://euee.web.fc2.com/tool/NHC640A45A4.ZIP

NHC640A45A4のNHC.EXEで、CentOSのext4パーティションなどをトリム後に、ブートすることを確認しました。

●(Ubuntu) ext4+swap .vmdk (P2Vでext4パーティションを仮想化したもの)
認識: OK
トリム: 正常終了
ブート: OK

●CentOS ext3+swap .vmdk (P2Vでext3パーティションを仮想化したもの)
認識: OK
トリム: 正常終了
ブート: OK

●CentOS ext3to4+swap .vmdk (tune2fsでext3→ext4パーティションに変更したもの)
認識: OK
トリム: 正常終了
ブート: OK

●CentOS ext4+swap .vmdk (VMware Player上でext4パーティションへインストールしたもの)
認識: OK
トリム: 正常終了
ブート: OK


> 圧縮,解凍についてですが、vmware-vdiskmanagerと互換性はありません。

質問の仕方を変えます。トリムではなく「圧縮」操作された.vmdkファイルについて、

(1) VMware Player上で (CD/DVDにツールやOSのLiveCDのISOを指定して再生するなどして) 、.vmdkファイル内のファイル閲覧などができるでしょうか (書き込みはしない) 。

実際に試してみたところ、ファイル閲覧ができるようでした。

(2) NHCで「圧縮(書込不可)」を指定して変換 → vdm (vmware-vdiskmanager) でDisk type 0を指定して変換、というNHC圧縮→vdm解凍ができるでしょうか。

実際に試してみたところ、NHC圧縮→vdm解凍が正常終了し、ブートしました。

(3) vdm (vmware-vdiskmanager) でDisk type 5を指定して変換 → NHCで「ノーマル」を指定して変換、というvdm圧縮→NHC解凍ができるでしょうか。

実際に試してみたところ、vdm圧縮→NHC解凍が正常終了し、ブートしました。

(注記)
Disk type 0: single growable virtual disk
Disk type 5: compressed disk optimized for streaming


【不具合】
NHC起動 → 「その他処理(S)...」 → 「圧縮(D)...」を試そうとしたところ、
「処理中...」 → 「NHC.EXE は動作を停止しました 問題が発生したため、プログラムが正しく動作しなくなりました。」...
と表示され、異常終了しました。
最初に発生した不具合と現象が似ているので、原因が同じ可能があるかもしれません。

Re: トリムができるようになりませんか? - euee

2015/12/17 (Thu) 23:17:45

CentOSのext4についてですが、未対応な形式なのにトリムしてしまうバグでした。こちらは対応するように修正しました。
http://euee.web.fc2.com/tool/NHC640A45A4.ZIP

defragmentについてですが、どのような処理を行っているのか知識がなくはっきりとわかっていません。とりあえずVMwarePlayerのdefragmentを試してファイルを調べたところ、実行の前後でファイルサイズは変わらず、ゲストのファイルシステムとは関係なくイメージの中でデータが順に並ぶように並び替えているようでした。
この認識で正しいようであれば、NHCのトリムと変換の入力としてはdefragmentが実行されていてもいなくても違いはありません。出力されるファイルは同じです。
同じくこの認識で正しいようであれば、NHCによってトリム、または変換されたファイルは必ずdefragmentされた状態になっています。defragment単体での機能を実装する予定はありません。

圧縮,解凍についてですが、vmware-vdiskmanagerと互換性はありません。

Re: トリムができるようになりませんか? - trimtester

2015/12/16 (Wed) 20:35:01

【質問】
NHCシリーズでトリム・変換を実行する前に、
vSphere Virtual Disk Development Kit (VDDK SDK) に含まれるvmware-vdiskmanagerで、
.vmdkファイルのdefragmentを実行する方が良いでしょうか。

defragmentの有無で、トリム後のサイズは変わらないようですが、
トリム・変換の処理時間や、処理後の.vmdkファイル内のOSのパフォーマンスなどの点ではどうでしょうか。

また、NHCシリーズに (将来的にでも) defragment機能を実装する考えは持っているでしょうか。


【質問】
NHC起動 → 「その他処理(S)...」 → 「圧縮(D)...」・「解凍(I)...」の機能は、
vSphere Virtual Disk Development Kit (VDDK SDK) に含まれるvmware-vdiskmanagerで、
Disk type 5: compressed disk optimized for streaming
のフォーマットと互換性のある圧縮・解凍でしょうか。

以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - trimtester

2015/12/16 (Wed) 12:55:33

> NHC640A45A3のNHC.EXEで、CentOSのインストーラでフォーマットしたext4パーティションをトリムしたところ、ブートしなくなりました。

●"ext4+swap .vmdk" と "CentOS ext3+swap .vmdk" について "dumpe2fs -h" した結果の diff (抜粋)

< Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
---
> Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file

< Flex block group size: 16

※CentOS ext3のfeaturesに、extent flex_bg huge_file uninit_bg dir_nlink extra_isize はありません。


●"ext4+swap .vmdk" と "CentOS ext3to4+swap .vmdk" について "dumpe2fs -h" した結果の diff (抜粋)

< Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
---
> Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent sparse_super large_file uninit_bg

< Flex block group size: 16

※CentOS ext3to4のfeaturesに、flex_bg huge_file dir_nlink extra_isize はありません。


●"ext4+swap .vmdk" と "CentOS ext4+swap .vmdk" について "dumpe2fs -h" した結果の diff (抜粋)

< Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
---
> Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

< Reserved GDT blocks: 1020
---
> Group descriptor size: 64
> Reserved GDT blocks: 1024

< Journal features: journal_incompat_revoke
---
> Journal features: journal_incompat_revoke journal_64bit

※CentOS ext4のfeaturesに、64bit がある (journal が 64bit?) 点が異なります。

Re: トリムができるようになりませんか? - trimtester

2015/12/15 (Tue) 19:40:55

> CentOSのインストーラでフォーマットしたext4に限って、パーティションツールやgrub2などでext4と認識されなかったためです。

CentOSのext4は特殊なようです。
NHC640A45A3のNHC.EXEで、CentOSのインストーラでフォーマットしたext4パーティションをトリムしたところ、ブートしなくなりました。

grub rescue> ls (hd0,5)/boot/
→ /boot 以下が見えません!!

CentOSをext4フォーマットでインストールするだけで、特別なことはしていないので、他の環境でも容易に再現すると思われます。

なお、ext3と、ext3→ext4に変更したものでもテストしたところ、認識・トリム・ブートで、異常は見られませんでした。


●CentOS ext3+swap .vmdk (P2Vでext3パーティションを仮想化したもの)
認識: OK
トリム: 正常終了
ブート: OK

●CentOS ext3to4+swap .vmdk (tune2fsでext3→ext4パーティションに変更したもの)
認識: OK
トリム: 正常終了
ブート: OK

●CentOS ext4+swap .vmdk (VMware Player上でext4パーティションへインストールしたもの)
認識: OK
トリム: 正常終了
ブート: NG!!!!!!!!


【参考】ext3→ext4パーティションに変更する方法

# tune2fs -O extents,uninit_bg,dir_index /dev/sda5
# e2fsck -pf /dev/sda5
# :

How to Migrate Ext2/Ext3 File Systems to Ext4 on Linux
https://www.howtoforge.com/tutorial/migrate-ext2-ext3-filesystem-to-ext4/

Re: トリムができるようになりませんか? - euee

2015/12/14 (Mon) 22:32:46

すみませんが他のツールの修正はしばらく時間がかかります。NHCTRIMはNHCCに統合される予定です。

NHCではパーティションのIDをほとんど見ていません。実際のパーティション内のデータから判断しています。

Re: トリムができるようになりませんか? - trimtester

2015/12/14 (Mon) 18:42:53

> なぜ、何か違いがあると考えられたのかというと、各種のパーティションツールやブートマネージャなどで確認した結果、
> あるツールではext4と認識されたそのパーティションが、他のツールではext4と認識されずにNTFSと認識されたり、

論理パーティションを、WindowsでNTFSフォーマット後に、 (Red Hat系の?) Linuxをインストールすると、
EPBR (Extended Partition Boot Record) のエントリのPartition Id (Type) が0x07 (NTFS等) のままになるようです。

MBR Id: 0x05 or 0x0F (Extended系)

EPBR Id: 0x07 (NTFS等)

PBR (Boot Block)
Superblock

そうすると、

- Partition Id (Type) で、ファイルシステムの種類を判断するツールは、NTFSと認識
- Superblockで、ファイルシステムの種類を判断するツールは、ext4などと認識
- Partition Id (Type) とSuperblockの整合性をチェックして、ファイルシステムの種類を判断するツールは、認識不能

などのように、認識の混乱が起きるようです。


> CentOSのインストーラでフォーマットしたext4に限って、パーティションツールやgrub2などでext4と認識されなかったためです。

CentOSのext4については、ブロックサイズか何かが怪しいと思っていますが、確証はありません。

e2fsck - システム管理コマンドの説明 - Linux コマンド集 一覧表
http://kazmax.zpp.jp/cmd/e/e2fsck.8.html
> -b superblock
> 通常のスーパーブロックのかわりに、 superblock をスーパーブロックとして利用する。 このオプションが用いられるのは、 プライマリなスーパーブロックが壊れた場合である。 バックアップスーパーブロックの場所は、 ファイルシステムのブロックサイズによって異なる。 ファイルシステムのブロックサイズが 1k の場合、 バックアップスーパーブロックは 8193 にある。 また、ブロックサイズが 2k の場合は 16384 に、 4k の場合は 32768 にある。

Re: トリムができるようになりませんか? - trimtester

2015/12/13 (Sun) 20:35:41

ご回答、ありがとうございます。

> http://euee.web.fc2.com/tool/NHC640A45A3.ZIP
> これで ext4+swap.vmdk のファイルを試していただけるでしょうか?
> 「ファイルシステムの情報を利用してできる限り小さいサイズにする。」をチェックした場合に「1つのファイルシステムを認識しました。」と表示されるでしょうか?また、トリムの方は少し小さいサイズのファイルになるでしょうか?

ext4+swap .vmdkファイルに対し、NHC640A45A3のNHC.EXEでトリムを実行した結果、5回試行して5回とも正常終了しました。
作成された.vmdkファイルのサイズは、いずれも同じサイズで、Windows版のNHCCで変換後のものと比べて、少し小さいサイズのファイルになりました。
作成された.vmdkファイルをVMware Playerで再生したところ、その中に含まれるOSがブートしました。

「このファイルをトリムするだけ」をチェックせずに、「ファイルシステムの情報を利用してできる限り小さいサイズにする。」をチェックして進めると、
「1つのファイルシステムを認識しました。」と表示されました。
swapパーティションをファイルシステムとしてカウントしない仕様であれば、異常は見られません。

---

> パーティションのチェックを少しゆるくしてみました。

【要注意】

パーティションに対して、例えば下記のような各種の操作を行い、「ファイルシステムを認識」するか、確認することが望ましいと思います。

- 00でワイプ後に、各種Linuxをインストールした場合
- WindowsでNTFS等のフォーマット後に、各種Linuxをインストールした場合
- GPartedでext4等のフォーマット後に、各種Linuxをインストールした場合
- その他のツールでフォーマット後に、各種Linuxをインストールした場合

理由:

以前、下記の操作を行った結果、同じext4フォーマットのはずでも、「ファイルシステムの情報」にそれぞれ違いがあると考えられたため。

- 論理パーティションを、WindowsでNTFSフォーマット後に、ext4フォーマット指定で、各種Linuxをインストールした場合
- 論理パーティションを、GPartedでext4フォーマット後に、ext4フォーマット指定で、各種Linuxをインストールした場合 (CentOS以外)
- 論理パーティションを、GPartedでext4フォーマット後に、ext4フォーマット指定で、CentOSをインストールした場合

なぜ、何か違いがあると考えられたのかというと、各種のパーティションツールやブートマネージャなどで確認した結果、
あるツールではext4と認識されたそのパーティションが、他のツールではext4と認識されずにNTFSと認識されたり、
CentOSのインストーラでフォーマットしたext4に限って、パーティションツールやgrub2などでext4と認識されなかったためです。
ただ、いずれの場合でも正常にブートしました。

---

●要望について

> テンポラリファイルについてですが、別ドライブに作った場合に最後にコピー処理が必要となり、その時点で元のファイルを削除するか上書きすることになります。コピー処理中にエラーが発生すると元のファイルが存在しないためNHCの処理の中で元の状態に戻すことができません。そのため今のところ同じ場所で行うことにしています。そのうち対応するようであれば、トリムされたファイルの出力先を選択できるようにして、その後の削除やコピー処理はユーザーに行ってもらうような動作になるかもしれません。

従来は不可能だった、サイズが大きいファイルのトリム・変換が可能になるメリットを考えれば、それを容認するのは仕方ないと思います。
最初にコピー処理をした後で、逆方向に変換を行うという方法も考えられますが、コピー処理が必ず入るので、一長一短かもしれません。
変換前ファイルと、変換中・変換後ファイルが、それぞれ異なるパーティションに指定できるよう、宜しくご検討願います。

Re: トリムができるようになりませんか? - euee

2015/12/12 (Sat) 18:07:12

パーティションのチェックを少しゆるくしてみました。
http://euee.web.fc2.com/tool/NHC640A45A3.ZIP
これで ext4+swap.vmdk のファイルを試していただけるでしょうか?
「ファイルシステムの情報を利用してできる限り小さいサイズにする。」をチェックした場合に「1つのファイルシステムを認識しました。」と表示されるでしょうか?また、トリムの方は少し小さいサイズのファイルになるでしょうか?

テンポラリファイルについてですが、別ドライブに作った場合に最後にコピー処理が必要となり、その時点で元のファイルを削除するか上書きすることになります。コピー処理中にエラーが発生すると元のファイルが存在しないためNHCの処理の中で元の状態に戻すことができません。そのため今のところ同じ場所で行うことにしています。そのうち対応するようであれば、トリムされたファイルの出力先を選択できるようにして、その後の削除やコピー処理はユーザーに行ってもらうような動作になるかもしれません。

Re: トリムができるようになりませんか? - trimtester

2015/12/12 (Sat) 12:56:58

ご回答、ありがとうございます。

> 256GB以上のディスクサイズのvmdkファイルだとプログラムが異常終了するバグがありました。
> まずはこれを修正しました。
> http://euee.web.fc2.com/tool/NHC640A45A2.ZIP
> すみませんがこれで ext4+swap.vmdk のファイルのトリムを実行してみていただけるでしょうか?

ext4+swap .vmdkファイルに対し、NHC640A45A2のNHC.EXEでトリムを実行した結果、10回試行して10回とも正常終了しました。
作成された.vmdkファイルのサイズは、いずれもWindows版のNHCCで変換後のものと全く同じでした。
作成された.vmdkファイルをVMware Playerで再生したところ、その中に含まれるOSがブートしました。
ここまで、異常は見られません。

一方、「このファイルをトリムするだけ」をチェックせずに、「ファイルシステムの情報を利用してできる限り小さいサイズにする。」をチェックして進めると、
「認識できるファイルシステムがありませんでした。」と表示されます。

---

【要望】ユーザが混乱するのを防止するために、「何TBまでのディスクサイズをサポートしている」かを、説明に明記するのが良いと思います。

GUIDパーティションテーブル - Wikipedia
https://ja.wikipedia.org/wiki/GUID%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB

MBR: 最大2TiB
GPT: 最大8ZiB

Thunderbolt 2対応の8ベイ大容量RAIDストレージ、G-Technolgyブランド製「G-SPEED STUDIO XL」シリーズを発表 | 株式会社アスク
http://www.ask-corp.jp/news/2014/11/g-technolgyg-speed-studio-xl.html

現時点で、8TB×8台=64TBのRAIDストレージが、すでに存在しているようです。
ストレージは、大容量化のスピードが早いので...


【要望】テンポラリファイルを作成するドライブ (パス) を、オプションでユーザが指定できるようにするのが良いと思います。

理由:

他のパーティションや他のドライブを指定することにより、パーティションの残容量が少ない場合でも、トリム・変換を可能にするため。
ファイルをコピーする分の処理時間が増えますが、トリム・変換が可能になる方がメリットは大きいと考えられます。
これがサポートされれば、NHCの優位性をアピールできる機能の一つになると思います。

現状では、.vmdkファイルのサイズが大きい場合、パーティションの残容量が足りずにトリム・変換が不可能です。


以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - euee

2015/12/11 (Fri) 23:38:15

256GB以上のディスクサイズのvmdkファイルだとプログラムが異常終了するバグがありました。
まずはこれを修正しました。
http://euee.web.fc2.com/tool/NHC640A45A2.ZIP
すみませんがこれで ext4+swap.vmdk のファイルのトリムを実行してみていただけるでしょうか?
多分異常終了せずに最後まで進むかと思います。ただしパーティションを認識していないためほとんど変わらないサイズのファイルが作成されるかと思います。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 22:15:14

ext4+swap .vmdkファイルに対し、Windows版とLinux版のvmware-mount -p (displays the partitions) ... コマンドを実行した結果です。

●Windows版のvmware-mount -p ...

Volume 1 : 65535 MB, Linux
Volume 2 : 36333 MB, Linux swap

●Linux版のvmware-mount -p ...

Nr Start Size Type Id Sytem
-- ---------- ---------- ---- -- ------------------------
1 402655230 1550864386 BIOS F Win95 Ext'd (LBA)
5 1342214144 134219776 BIOS 5 Extended
6 1342218240 134215680 BIOS 83 Linux
7 1879105536 74414080 BIOS 5 Extended
8 1879109632 74409984 BIOS 82 Linux swap

> 物理マシンの論理パーティションにインストールしたOSの部分だけを選択してP2Vによって仮想化しているため、跳び跳びのパーティション構成になっています。

Linux版では、冗長なExtended (拡張) パーティションのエントリが、何段か挿入されているように見えます。
Windows版では、冗長なExtended (拡張) パーティションのエントリが、スキップされているようです。

MBR Id: 0x0F (Extended-LBA)

EPBR Id: 0x05 (Extended)

EPBR Id: 0x83 (Linux)

EPBR Id: 0x05 (Extended)

EPBR Id: 0x82 (Linux swap)

Extended (拡張) パーティション系 (Id: 0x05, 0x0F) と、Linux swap (Id: 0x82) のエントリでは、トリム処理がスキップされている必要があると思われます。
もし、スキップされてない場合、処理が異常になる可能性があるかもしれません。

●参考 (Id: パーティション・タイプ)

Linuxコマンド集 - 【 fdisk 】 ハード・ディスクのパーティションを設定する:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230775/

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 12:33:27

> プログレスが進む様子は見られません。

NHC.EXEの異常終了後に、作成されている.vmdk_TEMPファイルに着目すると、そのサイズはランダムではなく、特定のパターンがあるようです。
具体的には、.vmdk_TEMPファイルのサイズが、ほぼ次のいずれかになっているようです。

10,752 Byte (10.5 KB)
122,355,712 Byte (119488 KB)

つまり、そこまで処理が進んだ時点で異常終了したと思われます。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 11:02:36

Step-1.5 の画像を添付します。

Step-1.とStep-2.の一瞬の間に表示される画像がキャプチャできました。
直後に「NHC.EXE は動作を停止しました」...と表示されるため、プログレスが進む様子は見られません。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 10:37:32

> ユーザーインターフェース以外は同じ部品を使用しているため、まずはWindows版のNHCを修正すればあとは最新の部品でビルドすることで他のプログラムも正しく動くようになると思っています。(現在差が出ているのはその部品が古いためかと思います。)

> Case-1.
> ●Linux版のNHC/NHCTRIM・NHCCで、ext4およびswapパーティションを含む.vmdkファイルのトリム・変換ができません。
>
> [3]+ Segmentation fault (コアダンプ) ./nhc

Linux版のNHCの異常終了直後に、 "Segmentation fault" と出力されていることは、ヒントになりませんか。

また、NHCCで変換しなくても、NHCTRIMでトリムができるようになるか、気になります。

以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 10:32:26

Step-3.の画像を添付します。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 10:30:49

Step-2.の画像を添付します。

Re: トリムができるようになりませんか? - trimtester

2015/12/10 (Thu) 10:29:29

ご回答、ありがとうございます。

> Case-3.のWindows版のNHCでのext4+swap.vmdkのトリム結果が「NHC.EXE は動作を停止しました。」ということなのですが、これは
>
> A.異常終了で強制終了された。
> B.処理途中で固まった。
> C.エラーメッセージを表示して終了した。(NHCはまだ使用できる状態)
> D.処理は終了したけどファイルサイズはほとんど変わっていない。
>
> のどの状態でしょうか?(多分上の方だと思うのですが)
> また、どの画面でその状態になったでしょうか?

A.の状態に該当すると思います。

Step-1. 「このディスクイメージをトリムしてもよろしいですか?」...
↓「はい(Y)」をクリック
Step-2. 「NHC.EXE は動作を停止しました この問題の解決策を確認しています...」
↓待機
Step-3. 「NHC.EXE は動作を停止しました 問題が発生したため、プログラムが正しく動作しなくなりました。」...
↓「プログラムの終了(C)」をクリック
プログラムの終了

Step-1.の画像を添付します。

Re: トリムができるようになりませんか? - euee

2015/12/09 (Wed) 22:16:24

情報ありがとうございます。
Case-3.のWindows版のNHCでのext4+swap.vmdkのトリム結果が「NHC.EXE は動作を停止しました。」ということなのですが、これは

A.異常終了で強制終了された。
B.処理途中で固まった。
C.エラーメッセージを表示して終了した。(NHCはまだ使用できる状態)
D.処理は終了したけどファイルサイズはほとんど変わっていない。

のどの状態でしょうか?(多分上の方だと思うのですが)
また、どの画面でその状態になったでしょうか?

ユーザーインターフェース以外は同じ部品を使用しているため、まずはWindows版のNHCを修正すればあとは最新の部品でビルドすることで他のプログラムも正しく動くようになると思っています。(現在差が出ているのはその部品が古いためかと思います。)

Re: トリムができるようになりませんか? - trimtester

2015/12/09 (Wed) 18:22:01

補足情報です。

> .vmdkファイル内に基本パーティションは存在しません (P2V時に除外) 。
> ext4およびswapの各パーティションは、拡張パーティション内の論理パーティションです。

> 物理マシンの論理パーティションにインストールしたOSの部分だけを選択してP2Vによって仮想化しているため、跳び跳びのパーティション構成になっています。

ext4+swap .vmdkファイルに含まれるOSをVMware Player上でブートさせ、partedコマンドと、blkidコマンドを実行した結果 (一部編集) です。

root:~# parted -ao
GNU Parted 3.2
/dev/sda を使用
(parted) unit s
(parted) print
モデル: VMware, VMware Virtual S (scsi)
ディスク /dev/sda: 1953525168s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:

番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 402655230s 1953519615s 1550864386s extended lba
5 1342218240s 1476433919s 134215680s logical ext4
6 1879109632s 1953519615s 74409984s logical linux-swap(v1)


root:~# blkid
/dev/sda5: LABEL="********" UUID="********-****-****-****-************" TYPE="ext4" PTTYPE="dos" PARTUUID="********-05"
/dev/sda6: LABEL="********" UUID="********-****-****-****-************" TYPE="swap" PARTUUID="********-06"

以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - trimtester

2015/12/09 (Wed) 12:23:57

早速のご回答、ありがとうございます。

> 以下を試していただくことはできるでしょうか?
> すべてWindows版のNHCでの操作です。

実験結果は次のようになりました。

●ext4+swap: 「認識できるファイルシステムがありませんでした。」→NHCC.EXE -o 1 ~で変換すると「成功しました。」

●FAT32: 「1つのファイルシステムを認識しました。」

●NTFS: 「1つのファイルシステムを認識しました。」


補足情報:

ext4+swap .vmdkファイル内のパーティションテーブルは、 (GPT形式でなく) MBR形式です。
partedコマンドで各パーティションを作成し、GPartedでext4/swapフォーマット後に、OS (Ubuntu Deskop x64) をインストールしたと思います。

.vmdkファイル内に基本パーティションは存在しません (P2V時に除外) 。
ext4およびswapの各パーティションは、拡張パーティション内の論理パーティションです。

物理マシンの論理パーティションにインストールしたOSの部分だけを選択してP2Vによって仮想化しているため、跳び跳びのパーティション構成になっています。


以上、宜しくご検討願います。

Re: トリムができるようになりませんか? - euee

2015/12/08 (Tue) 21:54:07

報告ありがとうございます。
以下を試していただくことはできるでしょうか?
すべてWindows版のNHCでの操作です。

(1)最初の画面でファイルを入力後、「このファイルをトリムするだけ」をチェック せずに 「次へ」ボタンを押す。
(2)次の画面で「ファイルシステムの情報を利用してできる限り小さいサイズにする。」をチェック して 「次へ」ボタンを押す。
(3)メッセージボックスが表示される。

それぞれのファイル(ext4+swap, FAT32, NTFS)に対してこの手順を行い、(3)のメッセージボックスで何と表示されるでしょうか?またはエラーになる場合はどこでエラーになるでしょうか?

Re: トリムができるようになりませんか? - trimtester

2015/12/08 (Tue) 19:19:01

> .vmdkサンプルファイル冒頭のパラメータです。

補足情報です。

●ext4+swap .vmdkサンプルファイル (のマスターファイル) 、約7GB、2048セクタ境界にアライメント

●FAT32 .vmdkサンプルファイル (のマスターファイル) 、約7GB、シリンダ・トラック境界にアライメント

●NTFS .vmdkサンプルファイル (のマスターファイル) 、約26GB、2048セクタ境界にアライメント

各.vmdkファイルは、拡張可能単一ファイル (mono-sparse) で、スナップショットなしです。

これらは元々P2Vによって仮想化した.vmdkファイルで、その中に含まれるOSがVMware Player上でブートすることを確認済のものです。
マスターファイルをコピーした各.vmdkファイルに対し、使用ツールなどの条件を変えて、トリムなどが成功するか失敗するかテストしています。

トリム・変換が成功する場合:

●Linux版のNHCで、FAT32またはNTFSパーティションを含む.vmdkファイルのトリムはできています。

●Windows版のNHCCで、ext4およびswapパーティションを含む.vmdkファイルの変換はできています。

●Windows版のNHC・NHCCで、FAT32またはNTFSパーティションを含む.vmdkファイルのトリム・変換はできています。
Windows版のNHCCで変換後には、Windows版のNHCTRIMでトリムができるようになる場合があります。

Re: トリムができるようになりませんか? - trimtester

2015/12/08 (Tue) 12:33:54

> トリムができるようになりませんか?

.vmdkサンプルファイル冒頭のパラメータです。

●ext4+swap .vmdkサンプルファイル冒頭のパラメータ

version=1
CID=bb7cee3f
parentCID=ffffffff
isNativeSnapshot="no"
createType="monolithicSparse"

# Extent description
RW 1953525168 SPARSE "hdd-0.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.encoding = "Shift_JIS"
ddb.geometry.cylinders = "121601"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.longContentID = "740664b0ddea20c1f8edbaefbb7cee3f"
ddb.toolsVersion = "9506"


●FAT32 .vmdkサンプルファイル冒頭のパラメータ

version=1
CID=e73465b1
parentCID=ffffffff
isNativeSnapshot="no"
createType="monolithicSparse"

# Extent description
RW 58605120 SPARSE "hdd-0.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "ide"
ddb.encoding = "Shift_JIS"
ddb.geometry.cylinders = "16383"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.longContentID = "d5ee27d4d07655994c35a028e73465b1"
ddb.toolsVersion = "9507"


●NTFS .vmdkサンプルファイル冒頭のパラメータ

version=1
CID=565c8e58
parentCID=ffffffff
createType="monolithicSparse"

# Extent description
RW 976773168 SPARSE "hdd-0.vmdk"

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "60801"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"

VMDK 形式への変換について、他 - hm

2017/05/09 (Tue) 03:21:27

IDE
Bus Logic
LSI Logic
では意味がわからないので、
IDE (MS-DOS - Win 2000)
みたいな感じでOSを指定して頂ければ幸いです。

SCSIとSATAがどれだかわからないのですが…

変換完了までのおおよその時間を表示していただきたいです。

明記しておいてほしいこと。
・対応可能なファイルサイズ

出来れば自動でこういう事がやりたい

D:\test.hddをロード
C:\TEMP\test.vmdkに変換
D:\test.hddを削除
C:\TEMP\test.vmdkをD:\test.vmdkへ移動

Re: VMDK 形式への変換について、他 - euee

2017/05/15 (Mon) 23:26:27

情報ありがとうございます。
参考にします。

情報提供です - hm

2017/05/11 (Thu) 00:55:07

Volume Shadow Copy API Reference
https://technet.microsoft.com/ja-jp/library/aa384648.aspx

[Windows] ボリューム シャドウ コピー について調べてみた件について
http://rtaki.sakura.ne.jp/infra/?p=730


<recommendedDiskController>
================================================
vim.vm.device.VirtualAHCIController
Apple Mac OS X 10.7 (64-bit)
Apple Mac OS X 10.8 (64-bit)
Apple Mac OS X 10.9 (64-bit)
Apple Mac OS X Server 10.5 (32-bit)
Apple Mac OS X Server 10.5 (64-bit)
Apple Mac OS X Server 10.6 (32-bit)
Apple Mac OS X Server 10.6 (64-bit)

vim.vm.device.VirtualBusLogicController
Microsoft Windows 2000 Advanced Server (32-bit)
Microsoft Windows 2000 Server (32-bit)
Microsoft Windows NT (32-bit)
Red Hat Enterprise Linux 2 (32-bit)
Red Hat Linux 6/7/8/9 (32-bit)
SCO UnixWare 7 (32-bit)

vim.vm.device.VirtualIDEController
IBM OS/2 (32-bit)
Microsoft DOS (32-bit)
Microsoft Windows 2000 Professional (32-bit)
Microsoft Windows 3.1 (32-bit)
Microsoft Windows 95 (32-bit)
Microsoft Windows 98 (32-bit)
Microsoft Windows Me (32-bit)
Microsoft Windows XP Home (32-bit)
Microsoft Windows XP Professional (32-bit)
Novell Linux Desktop 9.0 (32-bit)
Novell NetWare 4.x
Other (32-bit)
SCO OpenServer 5 (32-bit)
SCO OpenServer 6 (32-bit)
Serenity eComStation (32-bit)
Serenity eComStation 2 (32-bit)
Sun Solaris 6 (32-bit)
Sun Solaris 7 (32-bit)
Sun Solaris 8 (32-bit)

vim.vm.device.VirtualLsiLogicController
Asianux 3 (32-bit)
Asianux 3 (64-bit)
Asianux 4 (32-bit)
Asianux 4 (64-bit)
CentOS 4/5/6 (32-bit)
CentOS 4/5/6/7 (64-bit)
Debian GNU/Linux 4 (32-bit)
Debian GNU/Linux 4 (64-bit)
Debian GNU/Linux 5 (32-bit)
Debian GNU/Linux 5 (64-bit)
Debian GNU/Linux 6 (32-bit)
Debian GNU/Linux 6 (64-bit)
Debian GNU/Linux 7 (32-bit)
Debian GNU/Linux 7 (64-bit)
FreeBSD (32-bit)
FreeBSD 64-bit (64-bit)
Mandriva Linux (32-bit)
Mandriva Linux (64-bit)
Microsoft Small Business Server 2003 (32-bit)
Microsoft Windows Server 2003 Datacenter (32-bit)
Microsoft Windows Server 2003 Datacenter (64-bit)
Microsoft Windows Server 2003 Enterprise (32-bit)
Microsoft Windows Server 2003 Enterprise (64-bit)
Microsoft Windows Server 2003 Standard (32-bit)
Microsoft Windows Server 2003 Standard (64-bit)
Microsoft Windows Server 2003 Web Edition (32-bit)
Microsoft Windows Vista (32-bit)
Microsoft Windows Vista (64-bit)
Microsoft Windows XP Professional (64-bit)
Novell NetWare 4.x
Oracle Enterprise Linux 4/5 (32-bit)
Oracle Enterprise Linux 4/5/6/7 (64-bit)
Other 2.4.x Linux (32-bit)
Other 2.4.x Linux (64-bit)
Other 2.6.x Linux (32-bit)
Other 2.6.x Linux (64-bit)
Other 3.x or later Linux (32-bit)
Other 3.x or later Linux (64-bit)
Other 64-bit (64-bit)
Other Linux (32-bit)
Other Linux (64-bit)
Red Hat Enterprise Linux 3 (32-bit)
Red Hat Enterprise Linux 3 (64-bit)
Red Hat Enterprise Linux 4 (32-bit)
Red Hat Enterprise Linux 4 (64-bit)
Red Hat Enterprise Linux 5 (32-bit)
Red Hat Enterprise Linux 5 (64-bit)
Red Hat Enterprise Linux 6 (32-bit)
Red Hat Enterprise Linux 6 (64-bit)
Red Hat Enterprise Linux 7 (64-bit)
Red Hat Fedora (32-bit)
Red Hat Fedora (64-bit)
Sun Java Desktop System (32-bit)
Sun Solaris 10 (32-bit)
Sun Solaris 10 (64-bit)
Sun Solaris 11 (64-bit)
Sun Solaris 9 (32-bit)
SUSE Linux (32-bit)
SUSE Linux (64-bit)
SUSE Linux Enterprise 10 (32-bit)
SUSE Linux Enterprise 10 (64-bit)
SUSE Linux Enterprise 11 (32-bit)
SUSE Linux Enterprise 11 (64-bit)
SUSE Linux Enterprise 12 (64-bit)
SUSE Linux Enterprise 7/8/9 (32-bit)
SUSE Linux Enterprise 7/8/9 (64-bit)
SUSE openSUSE (32-bit)
SUSE openSUSE (64-bit)
Ubuntu Linux (32-bit)
Ubuntu Linux (64-bit)

vim.vm.device.VirtualLsiLogicSASController
Microsoft Windows 10 (32-bit)
Microsoft Windows 10 (64-bit)
Microsoft Windows 7 (32-bit)
Microsoft Windows 7 (64-bit)
Microsoft Windows 8 (32-bit)
Microsoft Windows 8 (64-bit)
Microsoft Windows Server 2008 (32-bit)
Microsoft Windows Server 2008 (64-bit)
Microsoft Windows Server 2008 R2 (64-bit)
Microsoft Windows Server 2012 (64-bit)
Microsoft Windows Server 2016 (64-bit)

Re: VMDK 形式への変換について、他 - euee

2017/05/10 (Wed) 20:18:15

ご要望ありがとうございます。

アダプタとOSについてですが、どのOSにどのアダプタが適しているかわからない(私が)ため、指定することができません。SCSIとSATAについてはわかるようにラベルを変更しようと思います。

変換完了までの時間ですが、変換元のデータに大きく依存し、ほぼすべてのデータを読み込んでみないと時間を判断することができず、実際実装するとなると何割か変換の時間が伸びてしまうと思われるため今のところ表示することができません。

対応可能なファイルサイズについてですが、調べるのに時間がかかりそうで調べていません。とりあえずは変換後のイメージを使用する仮想化ソフトのマニュアルを見てもらうのがよいかと思います。ただしNHCで変換したものがそのサイズまで使用できるかは実際に試してみないとわかりません。

自動化についてですが、ウィンドウ版では対応できないため、コマンドライン版のNHCCでバッチファイル等を作るしかないと思います。ただし変換先のパラメータはデフォルトの固定となります。また、バージョンが古いため変換できる形式はウィンドウ版よりも少なくなります。うまく変換できるようであれば

nhcc 1 D:\test.hdd C:\TEMP\test.vmdk
del D:\test.hdd
move C:\TEMP\test.vmdk D:\test.vmdk

のようなバッチファイルになるかと思います。

パーティションの指定についてですが、パーティション単位での操作の知識がないため対応できません。

できないばかりで申し訳ありません。

要望 - hm

2017/05/09 (Tue) 08:56:24

Disk2vhd - TechNet - Microsoft
のように、実ディスク以外にも
パーティションを指定してシャドウコピーサービスを利用し、
システムパーティションもイメージ化できるようにしてほしい。

ZM5uについて報告 - cookie_monster

2016/04/23 (Sat) 12:40:09

ZM5uなのですが、exeを起動してもGUIが表示されません。マウスカーソルは読込中になります。

タスクマネージャーで確認したところ、nhm.exeが3つ走っているようです。

ZM5tは起動しました。

実行環境
・Windows7 x64

Re: ZM5uについて報告 - euee

2016/11/06 (Sun) 22:46:52

最新版のavastとNHMの組み合わせで動いたようでよかったです。とりあえず追加で調べることもないかと思います。

こちらへの返信はいつでも気が向いたときや思い出したときでかまいません。すぐに解決したり解決する必要がなくなった場合は無視していただいてもかまいません。(今回のように結果を教えていただけると一番うれしいですが)

Re: ZM5uについて報告 - cookie_monster

2016/11/06 (Sun) 03:04:54

プライベートで時間的余裕がなくなってしまい、返信が非常に遅れた(すみません忘れていました・・・。)ことをお詫び致します。

現在の環境で調べましたが、どうも原因はavastのようです。

過去のMHM64M5U及び、デバッグ用のNHM.EXEを実行した所、
avastのCyberCaptureという機能により、exeの実行が止められてしまいました。

CyberCaptureとはマルウェア検知機能のようで、誤検知されたのだと思います。その機能を停止して実行した場合、GUIが表示されました。
avastは6月にメジャーアップデートされたようなので、4月の時点では画面にブロックしている表示が出ずに勝手に実行を停止させられていたのではないでしょうか。(推測ばかりですが)

また、どの部分がavastに検知されたのか気になるようでしたら、デバッグ用のプログラムを再度実行しますので、お申し付け下さい。(次はすぐやります)

ちなみに、最新版を実行したらavastには引っかかりませんでした。

大変便利で使いやすいソフトだと思いますので、これからも陰ながら応援しております。

Re: ZM5uについて報告 - euee

2016/04/29 (Fri) 18:11:53

デバッグ用のNHM.EXEを作成したのですみませんが時間があるようでしたらこちらを実行してみていただけるでしょうか?
http://euee.web.fc2.com/tool/nhm/nhmd.zip
再起動してNHM.EXEが1つも存在しない状態で、新しいフォルダにこのファイルを解凍して実行します。
通常のNHM.EXEと同様におそらくGUIは表示されないと思います。
NHM.EXEと同じフォルダにDEBUG000,001,002.TXTというファイルが作成されます。(すべて作成されるわけではありません。)
それをメールに添付して eueeno@gmail.com まで送っていただけるでしょうか?

Re: ZM5uについて報告 - cookie_monster

2016/04/27 (Wed) 19:06:48

タスクマネージャから「プロセスの終了」をしてもNHM.EXEは終了しませんでした。再起動しないとダメなようです。
新しいフォルダにNHM.EXEを解凍し実行するとNHM.EXEが1つ増え、3つから4つになりました。

>タスクマネージャにNHM.EXEが追加されるけどGUIは何も(メッセージ等も)表示されないという状態でしょうか?

後は上記の通りでした。

Re: ZM5uについて報告 - euee

2016/04/25 (Mon) 01:47:08

タスクマネージャで表示されるNHM.EXEをすべて強制終了し、新しいフォルダにNHM.EXEを解凍し実行するとどうなるでしょうか?タスクマネージャにNHM.EXEが追加されるけどGUIは何も(メッセージ等も)表示されないという状態でしょうか?

Re: ZM5uについて報告 - cookie_monster

2016/04/25 (Mon) 00:04:22

お手数をお掛けします。

>実行したのは64bit版でしょうか?32bit版では起動するでしょうか?
両方起動しませんでした。

>設定ファイルNHM.DATの存在しないフォルダにNHM.EXEを置いて実行しても表示されないでしょうか?
解凍直後なので、フォルダ内のファイルはNHM.EXEのみです。

Re: ZM5uについて報告 - euee

2016/04/23 (Sat) 18:34:52

報告ありがとうございます。
実行したのは64bit版でしょうか?32bit版では起動するでしょうか?
また、設定ファイルNHM.DATの存在しないフォルダにNHM.EXEを置いて実行しても表示されないでしょうか?

Disk2vhdで変換したVHDがVMDKに変換できない 夏目ニケ

2015/05/03 (Sun) 18:26:47

先日、会社のパソコンで、MSのテックネットに載っていたDisk2vhdというツールを使った、
VHDをVMDKに変換しようとしましたが
仮想ディスクのファイルとして認識されませんでした。(VHDXではなくVHDに変換)
やむを得ず、“StarWind V2V ConverterというツールでVMDKに変換したのですが
これもやはり、NHCで認識されません。

今後、NHCのトリムを利用したいのですが、もし興味をお持ちでしたら
一NHCファンの希望として、ご対応、お願いできればと思います。

Re: Disk2vhdで変換したVHDがVMDKに変換できない - 氷見 URL

2015/05/27 (Wed) 20:05:45

既に解決しましたか?一応試します。
ありがとうございます。

Re: Disk2vhdで変換したVHDがVMDKに変換できない 夏目ニケ

2015/05/05 (Tue) 10:55:42

家のパソコンで、うまく認識しました。
これで、定期的にトリムできそうです。
早速の対応、ありがとうございました。

Re: Disk2vhdで変換したVHDがVMDKに変換できない - euee

2015/05/04 (Mon) 09:45:25

報告ありがとうございます。
正しく認識できるように修正しました。
こちらでも再現できたので多分大丈夫かと思います。


Copyright © 1999- FC2, inc All Rights Reserved.