あなたはWindows MeとWindows XP Professionalのデュアル・ブート構成でコンピュータを使用していたが,今後はWindows XP Professionalのみ使用することに決めた。今までWindows MeとWindows XP Professionalの両方から使っていたFAT32のパーティションをNTFSに変更したい。あなたがすべきことは何か。1つ選びなさい。

1:CONVERT.EXE /FS:NTFSで変換する。
2:FAT32からNTFSへの変換はサポートされていない。
3:FSUTIL.EXE /CHANGEFS:NTFSで変換する。
4:[ディスクの管理]でFAT32のパーティションを選び,[NTFSへ変換]を選択する。
5:ハードディスクのプロパティで[ツール]タブを選び,[NTFSへ変換]を実行する。

正解:1

 ハードディスク上で利用できるWindowsのファイル・システムは,FAT,FAT32,NTFSの3種類である。それぞれに内部構造が異なっている。


図1●CONVERTコマンドの実行結果
[画像のクリックで拡大表示]

 FATは細かくいうと「FAT16」と「FAT12」の2種類で構成され,フォーマット時の容量に応じて自動的に切り替わる。FAT12は最大32Mバイトの空間しか利用できず,主としてフロッピ・ディスクなどに利用される。ハードディスクで利用されるのは通常FAT16である。

 FATは「クラスタ」と呼ぶ固定長の記録単位でデータを管理する。クラスタのサイズは,Windows 9x系OSで512~32Kバイト,NT系のOSで512~64Kバイトだ。FAT16では,16ビット分(6万5536個)のクラスタを管理できるので,4Gバイト(64Kバイト×6万5536)が最大パーティション領域となる。

 ただし,現在では4Gバイトのパーティションが決して十分な記憶領域とはいえない。また,FATではファイルごとのセキュリティ設定ができず,ファイルの所有者やアクセス許可も設定できない。ファイル・システムそのものの信頼性も十分とはいえず,ファイル操作中にOSが異常終了すると,ファイル・システム全体が破損することさえある。

 FAT32は,FAT16の問題点のうち,最大パーティション・サイズを改善したものである。ファイル管理領域を32ビット化し,最大2Tバイトまでのパーティションをサポートする(単純計算では2Tバイトを超えるはずだが実装上の都合により制限されている)。ただし,Windows 2000やWindows XPでフォーマットできるのは最大32Gバイトまでである。

 一方,NTFSはFATと全く違った管理手法を採用しており,パーティション全体がデータベース構造になっている。ファイルの追加や削除はデータベースでいう「トランザクション」の概念を導入しているため,ファイルの操作中に異常終了してもファイル・システム全体が破損するようなことはない。アクセス許可設定などの追加機能も豊富なので,NT系OSでは基本的にNTFSを利用すべきだ。

 FATまたはFAT32でフォーマットされたパーティションをNTFSに変換するには,CONVERT.EXEコマンドを使用する(図1[拡大表示])。このとき,パーティションに保存されたデータはそのまま維持される。パーティション内のファイルの中に現在使用中のものがある場合は,再起動時に変換処理を実行するようにスケジュールされる。

 なお,ファイル・システムの変換処理をGUIツールから実行する方法はない。また,ファイル・システム・ユーティリティのFSUTIL.EXEには,ファイル・システムを変換する機能はない。

 Windows 2000以前では,FAT32をNTFSに変換したとき,すべてのファイルに「Everyone-フルコントロール」のアクセス権が割り当てられた。しかし,Windows XPおよびWindows Server 2003では,適切なアクセス許可を設定できるようになった。従来通りのアクセス許可を維持したければ,/NoSecurityオプションを追加すればよい。