nmtysh.log

Tech系のネタや日々の独り言などを書いています。

FAT32 から NTFS に変換

私の Windows XP マシンは調子が悪いのか、スタンバイをした状態だとシャットダウン時にブルースクリーンが発生することがあります。 ブルースクリーンが毎回発生するわけではないため、はっきりと因果関係があると言えませんが。 そして、ブルースクリーン後のシステム起動時にほぼ毎回プロファイルを置いているパーティションに対して chkdsk が走ります。 で、何かしらのエラーが出るわけです。
昔は Linux から NTFS でフォーマットされたパーティションを認識できなかったため(今でも実験段階ではあるようですが利用できます)、データ用の領域だけ FAT32 フォーマットを使用してきました。 しかし、 FAT はジャーナルがないため NTFS と比べてクラッシュ時にデータが壊れやすいです。ほかには、 4GByte 以上のファイルを保存できない制限があります。
そこで今回ついにプロファイル用のドライブを NTFS フォーマットに変換することにしました。 (そのほかのパーティションWindows XP 上で FAT32 として変換できる容量を超えているので NTFS しか選択肢がありません)

1. まず変換対象パーティションのバックアップをとる

2. チェックディスク

3. MFT 用の領域を確保する
fsutil file createnew cvtfile 33554432
ヘルプとサポートで convert のヘルプを見ると MFT 用の領域は (ファイル数+フォルダ数)*1kB あればいいと言うことでしたが、多めに 32MB 確保しました。

4. 変換対象パーティションデフラグ

5. ファイルシステムの変換
convert D: /FS:NTFS /V /CvtArea:cvtfile
対象のドライブは使用中なので次回起動時に変換を指定する。

6. 再起動

変換が実行されます。 と、まあ変換したわけですが変換後にログを見ると MFT 用の領域が足りていませんでした。 実際には 65MB 必要だったらしいのですが、 32MB しか用意していなかったので、この 32MB を使用せずデフォルトのサイズで MFT を作成したため見事に MFT 領域が断片化しました。 convert で指定する領域は実際に使用する容量より大きくても問題ないようなので、かなり大きくとっておけば良かったです(256MB くらい)。

参考:
@IT:Windows TIPS -- Tips:巨大なサイズのファイルを簡単に作る方法
@IT:Windows TIPS -- Hint:FAT→NTFSにファイル・システムを変換する
特集:Windows XPとは何か? 19.ファイル・システム関連の強化点