パーティションとその切り方

2002/05/04
目次
  1. 序説
  2. パーティションテーブル
  3. パーティションの種類
  4. パーティションタイプ
  5. パーティションの位置情報
  6. アクティブパーティション
  7. パーティションを切る
  8. ドライブレター
  9. 誤解と落とし穴
  10. パーティション編集ツールとパーティショニングツール
  11. パーティション編集ツールとデータ破壊
  12. パーティション編集ツールとパーティションタイプ
  13. パーティション編集ツールの使い方
  14. パーティショニングツールとファイルシステム
  15. パーティショニングツールの使い方

序説

 ハードディスクは他の多くのディスクシステムと違い、一つの物理ドライブを、複数の領域(パーティション)に分けて使うという機能が用意されている。この機能は、複数のOSを一つにハードディスクにインストールしたり、分割管理を可能にするなど、様々なメリットを提供してくれる。

[パーティション分割例]

 上記例のようにハードディスクをパーティションに分割すると、それぞれのパーティションが別のファイルシステムを利用できるので、別のOSをインストールすることができる。多くの人はパーティションを単なる分割管理に利用していると思うが、元々ハードディスクにパーティションがあるのは、それぞれを別ファイルシステムにして、別のOSをインストールするためだ。

 ここではこのパーティションについて、いったいどんな仕組みで構成されているのか、パーティションの情報はハードディスクのどこに、どんな形で格納されているのか、どのような決まりや習慣があるのかを解明し、その基本的な概念を踏まえた上で実際のパーティションを切る方法を解説していきたいと思う。

 


パーティションテーブル

 ハードディスクのパーティションに関する情報は、各ハードディスクの物理的な先頭セクター(512バイトの領域)にあるマスターブートレコード(MBR)と呼ばれる領域内のパーティションテーブルに記述されている。いわゆるパーティションの台帳、目次のようなものだと思ってもらっていいだろう。(ただし後述するが、論理領域の情報はマスターブートレコードのパーティションテーブルにはない)

 [マスターブートレコード]
 

 パーティションテーブルには図にもある通り、1エントリ16bytesの4つのエントリがあり、1エントリには次のような情報が格納されている。

  1. ブートフラグ(1byte)
  2. パーティションの開始位置(CHS, 3bytes)
  3. パーティションタイプ(1bytes)
  4. パーティションの終了位置(CHS, 3bytes)
  5. パーティションの開始位置(LBA, 4bytes)
  6. パーティションの総セクター数(LBA, 4bytes)

 これらの情報を説明しながら、パーティションというものを見ていこう。

 


パーティションの種類

 パーティションテーブルの4つのエントリに示された4つのパーティションのことを、基本領域(Primary Partition)と呼ぶ。

[4つの基本領域]
4つの領域

 この基本領域の中には、拡張領域(Extended Partition)と呼ばれる特殊な基本領域がある。後述するパーティションタイプが『05』、『0F』又は『85の基本領域で、その中に更に領域を作れる特殊な領域だ。

 一般に拡張領域は、基本領域とは違う別の種類の領域であるという理解があると思う。しかし前述のようにMBRのパーティションテーブルにエントリのある領域を基本領域と呼ぶので、拡張領域もここにエントリがあるから、やはり基本領域の一種に過ぎない。しかし拡張領域は非常に特殊な領域なので、別格扱いにされる場合が多く、基本領域とは違う種類の領域という一般的認識になっているのだろう。通常はそのような理解でも不都合はないが、あくまで基本領域の一種であるという大原則は覚えておいてほしい。

 4つの基本領域のうち1つだけを拡張領域とすることができる。裏返せば拡張領域は2つ以上作ることはできない。できないというよりも、IBMの技術書に「作ってはいけない」と書いてあるのだ。

[拡張領域]
拡張領域

 拡張領域は他の基本領域と違い、それ自身では領域として完結してない。完結してないとは、そのままではフォーマットして、つまりファイルシステムを作成して、OSが使うことができないということだ。拡張領域はその中は、ひとつ以上の論理領域(Logical Partition)を作ることができる。できるというより、そのために考案された特別な領域だ。そしてその中に作る論理領域は一つの領域として完結している。

[論理領域]
論理領域

 そもそも4つまでしか領域を作れなかった元々の仕様に拡張領域というものを設けることによって、より多くのパーティションを一つのハードディスク内に作成できるようにした訳だ。4つしかエントリのないマスターブートレコードのパーティションテーブルを結果として補うことができるのである。

 論理領域数の上限は一応ない。これは拡張領域のパーティションテーブルは、MBRのパーティションテーブルとはその構造が大きく違うためだ。MBRのパーティションテーブルの場合は、位置がMBR内ということとハードディスク上に一箇所という制約があるので、テーブルサイズに限りがあるため、現実的には4エントリーが限界だった。拡張領域の場合は、このMBRのパーティションテーブルの構成への反省から、限定された一箇所に全ての論理領域のテーブルを置くのではなく、それぞれの拡張領域の先頭にその領域の分だけテーブルを持つようにし、数珠繋ぎの構造(連鎖構造)にした。もう少し正確に言うと、各領域のパーティションテーブルは、その領域の位置情報と後続の領域を全て一つ拡張領域にまとめたような2つの情報だけ持つことになる。だから構造的には数珠繋ぎというよりは入れ子になっているイメージだろう。以下のそのイメージ図を示する。

[拡張領域と論理領域の構造]
拡張領域と論理領域の構造

 拡張領域の先頭セクター拡張パーティションブートレコード(Extended Partition Boot Record)と呼び、その構造は殆どMBRと同じだ。やはり先頭446bytesはプログラム領域(通常使われていないが)になっており、その後ろに4エントリのパーティションテーブルがある。(まあ、MBRの方が拡張パーティションブートレコードの一種という見方もできるが)

 [拡張パーティションブートレコード(EPBR)]
 

 この4エントリーのパーティションテーブルの内、実際は先頭2エントリーだけが使われている。一つが論理領域用で、もう一つは子拡張領域とでも言いおうか、つまり入れ子の次の拡張領域用だ。図6の例で説明すると、拡張領域1の拡張パーティションテーブルには論理領域1の情報と拡張領域2の情報があり、その拡張領域2の拡張パーティションテーブルには論理領域2と拡張領域3の情報があるといった具合である。

 このような構造にすることで、理論的には無限に論理領域を作れるようにした訳だ。

 勿論こうした構成にはデメリットもある。MBRのパーティションテーブルの場合、テーブル内のどの領域にもMBRから直接飛ぶことができるが、拡張領域の場合、後ろの方の論理領域には、先頭から順次辿っていく必要がある。図の例だと論理領域4に達するには、MBRのパーティションテーブルから、-> 拡張領域1の拡張パーティションテーブル -> 拡張領域2の拡張パーティションテーブル -> 拡張領域3の拡張パーティションテーブル -> 拡張領域4のパーティションテーブルと辿らないと、その位置やサイズなどこの領域の情報がわからない。

 このあたりが限られたサイズにしかできないMBRのブートローダにはハンドリングが難しいので、PC/AT互換機の一般仕様では、拡張領域からはブートできないという事情の原因の一つになっている。しかしブート領域はそれほど沢山必要あるということはないはずなので、そのようなデメリットを背負っても尚、無限に作れるメリットの方が大きいのでこのような仕様になっていると思われる。

 もっともWindowsなどではドライブレター数の問題があるので、事実上は他のハードディスクやCD-ROMなども含めて、ドライブが全部でアルファベットの数である26が限界となる。

 またこれらは全て上限であって、少ない分には一向に構わない。基本領域ひとつだけとか、拡張領域だけというのも許される。パーティションテーブルが4つあっても、何も全部使用する必要はない。また拡張領域内の論理領域もひとつでも構わない。ただ拡張領域は前述したように、それ自身ではひとつの領域として使えないので、必ず中に一つは論理領域を作らないと意味がない。


 ところで、拡張領域は一つのハードディスクに一つしか作れないと言ったが、これは一つの決まりごとに過ぎず、IBMの技術書にそう書いてあるからということは説明した。多くのパーティション作成ツールは、この決まりを忠実に守っているので、確かに複数の拡張領域を作らせてくれない。しかしちょっと悪戯できるツールも世の中にはあるので、そのツールで複数の拡張領域を作って、OSがどんな挙動をするか実験してみた。

 結論としては、あまり面白くなかった。Windows9x系の場合、パーティションテーブルで先のエントリの拡張領域しか認識しないかった。後ろの拡張領域は全く見えなかった。一方Windows2000では、起動時に「ウィルスがいる」とかいうエラーになって起動できなかった。期待したような両方の拡張領域を認識してしまうというようなことは、どのOSでも起こらなかった。

 因みにWindows98/95/3.1、MS-DOSでパーティションの作成をするFDISKというコマンドは、基本領域一つしか作れないという制限がある。既に基本領域があると、もう一つ基本領域を作ることができない。だから、複数の領域を作りたい場合は必ず拡張領域が必要になる。

 しかしこの「基本領域を一つしか作れない」という表現は実は正しくない。あくまでそのOSが認識可能なファイルシステムの基本領域が一つしか作れないに過ぎないのだ。例えばLinux native(パーティションタイプ0x83)の基本領域があった場合、それはWindows98のfdiskからすると、知らない領域ということで非MS-DOS領域として扱われるため、別にもう一つMS-DOS基本領域を作成することができる。

 このようにOSやツールによってはいろいろと制限がある。その詳細については、『OSやツールの制限』を参照してほしい。

 また、余談だが拡張パーティションテーブルの未使用のテーブルにもしパーティション情報を記述したらどうなるだろうか。Windows9xではまったく無視されるが、何とWindows2000ではちゃんと認識する。不思議なOSだね。

 尚、パーティションテーブルにパーティションデータが実際にどのように書かれいるかを詳しく知りたい諸氏は、パーティションテーブルの解析を参照してほしい。実際のヘキサダンプデータを見ながら解説している。

 


パーティションタイプ

 パーティションタイプOSインジケータとかシステムID(システム標識)とも呼ばれ、基本的にそのパーティションを利用しているOSの種類、またはファイルシステムを示する。OSのフォーマットプログラムやパーティション作成プログラムが特定の値を書き込み、そのパーティションがどのようなOSに利用されているか、またはどんなファイルシステムでデータが書かれているかを示すものだ。以下に主なパーティションタイプを示する。

[パーティションタイプ(1バイト)]
TYPE 内容 TYPE 内容
00 70 DiscSecure Multiboot
01 FAT12 75 IBM PC/IX
02 XENIX 78 XOSL FS
03 XENIX2 80 MINIX until 1.4a
04 FAT16 <32MB 81 MINIX, since 1.4b、Advanced Disk Manager
05 拡張パーティション 82 Linux Swap、Solaris
06 FAT16 (big) >=32MB 83 Linux Native (ext2)
07 HPFS(OS/2), NTFS 84 OS/2 renumbered type 04h、MS-apm
08 AIX, CommodoreDOS 85 Linux拡張パーティション
09 AIX (ブートパーティション) 86 NTFS Striped FAT
0A OS/2 Boot Manager 87 NTFS Striped, HPFS Fault-Tokerant Mirror
0B FAT32 8A Linux kernel image
OC FAT32X (LBA) 8E Linux logical volume manager
0E FAT16X (LBA) 93 Amoeba Filesystem
0F 拡張パーティション (LBA) 94 Amoeba Bad Block Table
10 OPUS 99 DCE376 logical drive
11 OS/2 Boot Manager hidden FAT12 9F BSDI BSD/OS
12 Compaq Diagnostics パーティション A0 Phoenix power management、SaveToDisk
14 OS/2 Boot Manager hidden FAT16 A5 FreeBSD, BSDI
16 OS/2 Boot Manager hidden FAT16 (big) A6 OpenBSD
17 OS/2 Boot Manager hidden HPFS A7 NextStep
18 ASTスペシャルWindowsスワップ A9 NetBSD
1B Hidden FAT32 AA Olivetti FAT12 service part
1C Hidden FAT32X B7 BSDI BSD/386 native
1E Hidden FAT16X B8 BSDI BSD/386 swap
24 NEC DOS 3.x BE Solaris-8 boot partition
38 Theos ver 3.2 C0 REAL/32 secure partition、CTOS
39 Plan 9/Theos ver 4 spanned C1 DR-DOS FAT12、secured FAT12
3A Theos ver 4 C2 Hidden Linux
3B Theos extended C3 Hidden Linux swap
3C PowerQuest PartitionMagic recovery C4 DR-DOS FAT16、secured FAT16
40 VENIX 80286 C6 DR-DOS FAT16(big)、secured FAT16(big)
41 Personal RISC Boot C7 Syrinx boot
42 Secure File System CB secured FAT32
4D QNX4.x CC secured FAT32X
4E QNX4.x 2rd CE secured FAT16X
4F QNX4.x 3rd/Oberon D0 REAL/32 secured big
50 OnTrack Disk Manager RO D8 CP/M-86
51 NOVEL, OnTrack Disk Manager RW DB CTOS、Concurrent-CPM/C
52 CP/M、Microport System DF DG/UX virtual disk manager
53 OnTrack Disk Manager WO E1 SpeedStor FAT12 extended
54 OnTrack Disk Manager DDO E3 DOS read-only, Storage Dimensions
55 EZ-Drive E4 SpeedStor FAT16 extended
56 Golden Bow VFeature EB BeOS
5C Priam EDISK F0 Linux/PA-RISC boot loader
61 SpeedStor F1 Storage Dimensions
63 GNU Hurd, Mach, UNIX SystemV F2 DOS 3.3 2nd partition
64 Netware 286 F4 Speedstor large/Prologue single
65 Netware 368 3.x or 4.x F5 Prologue multi-volume
66 Netware 368 FD Linux RAID
67 Novell type 0x67 FE IBM PS/2 IML, LANstep, Bad block table
68 Novell type 0x68 FF Xenix BBT
69 Novell type 0x69    

 ファイルシステムとは、データを管理する非常に重要な機能のことであり、特定のファイルシステムは特定のOSと深く関係している。ファイルシステムの管理はOSの最も重要な機能、仕事のひとつだ。通常ファイルシステムはOSが用意する特定のコマンド(例えばWindowsなどではformatコマンドと呼ばれる)によって作成する。

 


パーティションの位置情報

 パーティションテーブルに書かれた位置情報は冗長だ。CHS(シリンダー、ヘッド、セクター)値と、LBA(Logical Block Address)値の2種類があり、基本的には同じ内容を別のアドレッシング方法で記述している。

 また位置情報としては、そのパーティションがどこから始まり、どこで終わっているのかが分かればいい訳だが、それをCHS値では「開始位置」「終了位置」で、一方LBA値では「開始位置」「全体サイズ」で表現するという表現方法が若干違っている。

 そもそもなぜ2つあるのか、またCHS値とLBA値の更に詳しい違いなどはこちらを参照してほしい。

 


アクティブパーティション

 パーティション情報のひとつであるブートフラグは、ブートインジケータとかアクティブフラグも呼ばれ、このパーティションからOSをブート(起動)できるかどうかを示す値(フラグ)だ。このフラグが立っていない(0x00である)領域からは基本的にOSを起動できない。因みにブートフラグの立っている(0x80である)ことを一般には「アクティブである」と言う。また「ブータブル」とか「起動(ブート)可能」などと表現する場合もある。

 またアクティブパーティションは通常基本領域でなければいけない。拡張領域論理領域をアクティブとすることはできない。これは技術的にできないという訳ではなく、IBMの技術書にこれらの領域をアクティブにしてはいけないと書いてあるのだ。

 さらにアクティブパーティションはひとつのハードディスクに複数存在することも、IBMの技術書によって禁止されている。

 


パーティションを切る

 ハードディスクのパーティションを作成するのに、よく切るという言い方をする。パーティションとはその言葉の直接の意味は「区切り」だから、ある一定の大きさのものを「切り分ける」ことになるためこのような言い方がされる訳だ。ここでもこの「切る」という表現を頻繁に使うが、「作成」と同義だと判断してほしい。

 しかしこの「パーティションを切る」という表現は「パーティションを作成する」よりも遥かに正しく実際の作業を表現している。このことは後で多少詳しく説明する。

 尚、パーティションを作成するにあたり、予め以下の点は必ず決定しておく必要がある。

 パーティションタイプは先ほどファイルシステムのこと示しており、そのファイルシステム自体はOSが用意するコマンドで作成すると説明した。通常パーティションを切るツールやコマンドとファイルシステムを作成するツール、コマンドは別だ。従ってパーティション作成とファイルシステム作成は通常別作業となる。

 しかしパーティション作成時にもそこに入るべきファイルシステムとして、予めパーティションタイプを決定した上でパーティションを作成する。まあ一種の売約済みの表札のようなものだ。これは後でも変更できる場合もあるし、ファイルシステム作成時に別のもの作成して、強制的にパーティションタイプを変更してしまうこともできる。

 これには例外もあって、パーティション作成とファイルシステム作成の両方をこなせるツールも存在する。

 パーティションのサイズに関しては、先ほど位置情報としてCHSやLBAがあったが、これらの値のパーティションテーブルへの書き込みはツールがよきに計らってくれるので、パーティションの先頭がハードディスクの先頭から何バイト目かとパーティションの全体サイズが何バイトかだけを決定しておけば十分である。

 


ドライブレター

 パーティションを切るにあたりWindowsの場合、もう一つとても重要なことがある。それはドライブレターのふられる順序だ。ドライブレターとは、ドライブに付くアルファベットだが、フロッピーがAでハードディスクはCから始まる。基本領域が先拡張領域(具体的にはその中の論理ドライブ)が後という重要な大前提があり、物理ドライブの順序はそれに次ぐ。下に例を示する。

 
[IDE HDD]
IDE HDD
[SCSI HDD]
SCSI HDD

 物理ドライブの順序よりも、領域の種類の順序の方が優先されているのがミソだ。このような性質があるのでドライブを増設する場合、気をつけないと今までDドライブだったものがEドライブに移ってしまったりする場合がある。基本的には後続のドライブは全て拡張領域で作り、予想外の順序の狂いが起こらないように配慮する必要があろう。

 また物理ドライブの順序だが、これの正確にいうとマザーボードのBIOSが見つける物理ドライブの順序をということになる。

 ドライブレターのふられ方も結構奥が深いので、詳細は「ドライブレターの詳細」に譲るが、基本的には最初のドライブにだけアクティブな基本領域を作り、他は全て拡張領域にするということでいいと思う。


 いずれにしても次でも詳細に述べるがパーティションの作成作業は、基本的に中のデータを全て失う。他の作業に比べて、そう頻繁に行えることではないと思う。だから後で後悔しないよう、じっくり計画をたててから行おう。FDISKのツールとしての制限が多いため、それほど構成のパターンはないが、各領域のサイズなどは、自分の使い方をよく検討して決めよう。あえてアドバイスをすれば、あまり小さなパーティションは作らない方がいいだろう。最低1GBは確保した方がいいと思う。

 


誤解と落とし穴

 「パーティションを切る」という言葉が象徴的に表現しているように、「パーティションを切る」という作業は基本的にファイルシステムが入る枠、箱、部屋であるところのパーティションを機械的に切ったり分断したりするものだ。

 たとえばある家が12畳相当のリビング8畳相当の洋間6畳の和室の各部屋に分かれていたとしよう。各部屋の床はその用途に応じてフローリングだったり、絨毯敷きだったり、畳だったりするだろう。更には各部屋にはそれぞれの大きさや用途に合わせ、ベッド、箪笥、机、テーブル、ソファー、家電製品などの家具が整然と配置されているはずだ。そして各部屋はというパーティションで区切られている訳だ。

 「パーティションを切る」という作業は通常、各部屋の床の作りや、中に配置された家具を完全に無視しての位置だけをある巨人が現れて、バシッバシッと乱暴に変えてしまうようなものだ。当然各部屋の床がおかしくなる。ベッドや机が乱暴な壁の配置のせいで分断され破壊されることもあるだろう。

 この床の種類にあたるのがファイルシステムであり、机や箪笥などの家具はそのファイルシステム上のデータ(通常はファイルという形をとる)だ。

 通常「パーティションを切る」という作業を行うツールは上記のようなことをする。従ってパーティションの中にあるファイルシステムもデータもその安全は全く保障されないのが普通だ。

 理想を言えば、一旦家具を全部出して、床も外し、新たに壁を配置した上で新しい各部屋の用途に応じて床を張りなおし、絨毯や畳を敷き、再び家具を置きなおすことができるのが望ましいだろう。いわゆるリハウスだね。(まあ普通リハウス業者は家具の再配置まではしないが、細かいことは言わないように)

 時折「パーティションを切るツール」がリハウスをしてくれると誤解して使う人がいる。そしてデータ破壊という落とし穴に落ちる。確かにリハウスをしてれるパーティション操作ツールもある。従って自分が使うパーティション操作ツールがパーティションを切るだけのツールなのか、リハウスもしてくれるツールなのかを理解しておく必要がある。どのツールがどちらなのかをこの後説明する。

 


パーティションテーブル編集ツールとパーティショニングツール

 もう少し技術的なことを言うと「パーティションを切る」だけのツールは部屋の図面にあたるパーティションテーブルだけを書き換える。従ってこれらのツールはパーティションテーブル編集ツールと呼ぶことができる。

 パーティションテーブル編集ツールを利用してパーティションを切りなおしをする場合に、もしリハウスのようなことがしたい時は、リハウスに必要な他の作業を全部自前で行う必要がある。

 一旦全部の家具を外に出し(データバックアップ)、壁の位置を変え(パーティション切りなおし)、床を張替え(フォーマット)、家具を入れなおす(データレストア)、といった手順を踏む必要がある。このうちバックアップフォーマットレストアは自分で行わなければならない。

 一方リハウスを全面的に引き受けてる、よりインテリジェントなツールをパーティションテーブル編集ツールと区別してここでは特にパーティショニングツールと呼ぼう。これは基本的に上記作業を全部一括してやってくれるツールだと言える。

 以下に両ツールの代表的なものを挙げる。

  1. パーティションテーブル編集ツール
    DOS、Windows9xのFDISKコマンド
    WindowsNTのディスクアドミニストレータ
    Windows2000/XPの「ディスクの管理」
    Windows2000/XPのDISKPARTコマンド
    Linuxのfdiskコマンド
    Linuxのcfdiskコマンド
    LinuxのDisk Druid
    MBMの区画エディタ
     
  2. パーティショニングツール
    ParitionMagic
    システムコマンダー
    パーティションコマンダー
    SystemSelector
    SystemManagerV
    GNU Parted

 パーティションテーブル編集ツールは比較的簡単に作れるので上記以外にも数限りなくある。もしかしたら誰かが個人的に作って使ったり、配布しているものをあるだろう。ここでは通常主に使うものを挙げている。

 Windows2000/XPのDISKPARTコマンドというのは聞きなれないかもしれないが、これは回復コンソールでのみ実行できる特殊なコマンドだ。またインストール時にパーティションを作成するときに動作するものもこのDISKPARTコマンドと同じものだ。

 各ツールがどちらのツールなのかは非常に重要なことなのでよく覚えておいてほしい。更に各ツールもそれぞれできることの違いがあるので詳細を説明しよう。
 


パーティションテーブル編集ツールとデータ破壊

 パーティションテーブル編集ツールは元のデータを破壊してしまうことは述べた。しかし必ずしもデータ破壊につながらない場合も実は多いのだ。ここで誤解のないようにもう少し述べておく。

 先ほど私はパーティションテーブルを部屋の図面と比喩した。100%しっくりくる比喩ではないが、ここで説明する内容にはいい比喩だ。パーティションテーブル編集ツールはあくまでこの図面を書き換えるだけだ。実際に壁の位置を変えてしまう訳ではない。

 図面の内容に従って、壁の位置を変え(厳密には壁も実際物理的に存在する訳ではなく、概念に過ぎないが)、床を張り替えてしまうのは床張替え業者(フォーマットコマンド)の仕事だ。従ってパーティションテーブル編集ツールでパーティションを変更した段階ではデータが破壊されていない可能性がある。そうっと元に戻しておけば何事もなかったようにOSも動作するだろう。

 ただここで「データが破壊されていない可能性がある」としか言えないのは、勿論破壊される可能性もあるからだ。ただしこれも場面によってかなり明確だ。

 基本領域の変更の場合は、まずデータ破壊はないと思ってもらっていいだろう。MBRのパーティションテーブルという絶対にデータが書かれているはずのない場所にある図面を書き換えるに過ぎないからだ。しかし論理領域の場合は「パーティションの種類」で述べているように、図面自体がある意味データ領域にあるので、図面の書き換えだけでもデータを破壊する可能性がある。

 これは「図面の書き換え」というよりは「図面の置き場」が変わってしまうためで、元々あるデータがあったところに図面が置かれてしまう可能性が高い訳だ。もちろんたまたまそこにデータが何もないかもしれないが、これを知るずべは殆どないから、論理領域の変更の場合はデータ破壊を起こすと考えてもらった方が賢明だろう。

 


パーティションテーブル編集ツールとパーティションタイプ

 パーティションテーブルという図面にはパーティションタイプも書かれている。先にパーティションタイプとはファイルシステムを指すと説明した。先ほどからの比喩で言えば、床の種類ということになる。

 ファイルシステムの作成(床の張替え)は、フォーマットコマンド(床張替え業者)が行うが、この床張替え業者の中には図面に書かれている通りのことしかできない融通の利かない業者と、図面にはそう書かれているが張替えの時点で別のものを頼めば柔軟に対応してくれる業者もある。

 殆どは後者だ。このような業者は変更した内容によって張り替えてくれると共に、ちゃんと図面にもそれを反映してくれる。

 前者の融通の利かない業者はDOS、Windows9xのフォーマットコマンドだ。細かな変更は対応してくれる。例えば畳の材質とか配置などは指示通りやってくれるが、フローリングにしてくれと言っても、図面に書かれてない以上、絶対にできないと突っぱねる。勿論この業者がフローリングを作成する技術がないのならは仕方ないだが、技術的に可能なのに対応してくれないのだ。

 具体的なファイルシステムはFAT16FAT32だ。FDISKでパーティションを作成する時点でこのいずれかが決まる。フォーマットコマンドはクラスタサイズなど指定できるが、決してFAT32とパーティションタイプに書かれたパーティションをFAT16でフォーマットしてはくれない。もしFAT16にしたい場合は、FDISKからやり直す必要がある。

 このようにたまにパーティションテーブル編集ツールの時点で厳密にパーティションタイプを指定しておく必要がある場合があるので気をつけよう。


 またパーティションテーブル編集ツールの中にはフォーマットもオプションでやってくれるものも使う。WindowsNTのディスクアドミニストレータやWindows2000/XPのディスクの管理がそれだ。このようなツールは珍しい。

 


パーティションテーブル編集ツールの使い方

 以下に主なパーティションテーブル編集ツールの指定可能なパーティションタイプをはじめ、使っていく上で重要な仕様について表にしてみた。

[主なパーティションテーブル編集ツールの仕様]
 

作成可能なパーティションタイプ

未知のパーティションタイプの削除 複数基本領域の作成 論理領域の作成 フォーマット
FAT16 FAT32 NTFS ext2fs
DOS,WindowsのFDISK × × × × ×
WindowsNTのディスクアドミニストレータ × ×
Windows2000/XPのディスクの管理 ×
Windows2000/XPのDISKPARTコマンド ○※1 × △※2
Linuxの(c)fdisk 任意のパーティションタイプを作成、削除可能 ×
LinuxのDisk Druid ○※1 × △※2 ×
MBMの区画テーブルエディタ 任意のパーティションタイプを作成、削除可能 × ×

※1 サイズにより自動決定(2GB以上ならFAT32)
※2 既存構成により基本、論理が勝手に決まってしまい、任意に指定不可。

 それでは具体的にパーティションを作ってみるが、WindowsでもMS-DOS、Windows9x系WindowsNT系ではかなり違うのでそれぞれを分けて説明する。もし要望があれば、Linuxの場合なども解説するが、要望がないので割愛する。

  1. MS-DOS、Windows95/98/MEの場合
     

    MS-DOSやWindows9x系OSの場合、DOSコマンドであるFDISKコマンドを使う。因みにFDISKコマンドで作成できるパーティションタイプはFATなどのMS-DOSで認識できる領域なので、領域やドライブにMS-DOSという修飾子が付く。ただファイルシステムが制限されるだけで内容的には今まで説明してきた基本領域や論理ドライブと変わりはない。

    では詳細はFDISKの使い方へどうそ。
     

  2. WindowsNT/2000/XPの場合
     
    WindowsNT/2000/XPの場合、インストール前とインストール後で違う。ここではインストール後、Windows上からパーティションを作成する場合を説明する。またWindowsXPの場合を代表して説明する。ディスクの管理というもので行うが、Windows2000は殆どWindowsXPと同じだ。若干表現が違う場合もあるが、迷うことはないだろう。WindowsNTは、ディスクアドミニストレータというもので行う。Windows200/XPの「ディスクの管理」とはかなり違う部分もあるが、だいたい想像できる。従って特にNT用は説明しない。
     
    詳細はディスクの管理の使い方へどうぞ。

 
 尚、作成方法は上記2つの方法でかなり違うが、出来上がるパーティションに関して特に大きな違いはない。ただし基本的なOSの性質の関係で、作成できるパーティションタイプ(ファイルシステム)が違っている。FDISKコマンドは上記にもあるようにFAT系しか作れない。ディスクの管理ではNTFSなども作れる。またFDISKコマンドでは基本領域を複数作れない、第1ハードディスク以外はパーティションをアクティブにできないなどの若干の制限はある。

 


パーティショニングツールとファイルシステム

 リハウスを全面的に引き受けるには、当然いろいろなことをやるので非常に技術力の高い業者でないとできないのは理解できると思う。従ってパーティショニングツールはパーティションテーブル編集ツールよりは通常遥かに複雑で凝ったものとなっている。

[PartitionMagic]

 しかしファイルシステムは実際非常に沢山あるので、全てに対応するのは事実上不可能だ。どのファイルシステムに対応しているかがパーティショニングツールの実力のひとつの評価基準になるだろう。

 ただし気をつけないといけないのが、どの機能がどのファイルシステムに対応しているかまで確認する必要があることだ。例えばフォーマットはできるがリサイズができないという場合もある。はっきり言ってフォーマットはそのOSのツールならばできるのだから、リサイズができないというのは対応していないも同じだ。こういったカタログスペックに騙されないようにしよう。

 また、例えばリサイズはできるが結合ができないといったものもある。この差が実際の利用においてどれくらい重要になるかは今ひとつ見えないが、ある程度ツール選択の基準となるだろう。

 ツールもバージョンによってかなりこの点は変わるので、ここで各ツールについて対応ファイルシステムを列挙しないが、最近ではNTFSext2fsへの対応能力がパーティショニングツールの実力のバロメータになるだろう。やはりPartitionMagicシステムコマンダーがひとつ頭出ているというところだろうか。

 


パーティショニングツールの使い方

 パーティショニングツールの殆どは市販品なので、とても詳細なマニュアルがついている。またある程度サポートも受けられるので、基本的に使い方はそれらを参照してもらいたいのだが、ここでも少しずつ解説していきたいと思う。

  1. GNU Parted
     

    ほぼ唯一と言えるフリーのパーティショニングツール。残念ながらNTFSはサポートしていないが、GNUの開発力からして、きっといつかサポートしてくれると期待したい。サポートファイルシステムはFATとext2fs。ただしFAT16とext2fsはいくつかの制限がある。
     
    Linuxのコマンドラインベースで操作を行うため、市販ツールのようにGUIで視覚的に操作するといったことはできない。GUIに慣れた諸氏には、使いづらいと感じるかもしれない。まあこのあたりはフリーなので仕方がないだろう。
     
    実際の使い方はGNU Partedの使い方を参照してほしい。
     
  2. PartitionMagic
     

    パーティショニングツールの老舗。機能、使い勝手ともに現在でも最強。
     
  3. システムコマンダー
     

    ブートローダからの機能拡張として、パーティショニング機能を充実させてきた。機能的にはかなりのものになってきたが、使い勝手はまだまだPartitionMagicに敵わない。

目次へ
inserted by FC2 system