- 2021.4.1 移転しました...
- 
- このページの旧URLは
	- http://www10.plala.or.jp/palm84/harddisk.html
 
 
- このページの旧URLは
	
2007.2.14 作成
2007.4.14 Windowsが起動しない時を改訂
2010.8.1 新規格 を追記
最終更新日 2011.7.25
最近パーツが丈夫になったのかほとんどトラブルとは遭遇せずに過ごせてはおりますが、ハードディスクは消耗品です。寿命を考えるといつ災難に見舞われるとも限らないのであった...
というわけで、復習用(ちょっと見栄..)勉強めも。
■ 基本知識
- キーワードで理解する最新HDD - DOS/V POWER REPORT | Impress Japan
- 最新自作シーンを総括する - HDD編 - DOS/V POWER REPORT | Impress Japan
- Windows XP インストール時のSerial ATA 関連
■ 新規格
実際にあまりさわってないのでまだまだ理解できていませんが...
Windows Vista 以降の違いや 2TiB越HDの注意点については覚えておかないといけないようですね。
- 1 MiB アラインメント
- 
従来パーティションの区切りは、63セクタ(単位)でしたが、Windows Vista 以降の標準では 2048 セクタ1MiB(1024 KiB)(512bytes x 2048セクタ, or 4KiB x 256)セクタとなっています。第1パーティションの開始位置が従来は LBA63(64番目セクタ)でしたが、Vista 以降では、セクタサイズが 512バイトの場合 LBA2048(2049番目セクタ)となります。 - Windows Server 2003、Windows XP、および Windows 2000 で複数のディスクを使用するとディスク パフォーマンスが予想より低下することがある
- Windows Vista または Windows PE 2. 0 を使用して、ハード_ディスク上のパーティションの作成をした後正常に Windows XP をインストールすることはできません。(※ 機械翻訳)
 - GParted 0.6.2
- 
GParted 0.6.2 ではパーティション作成時に、 alignの選択 (MiB | Cylinder | none ) が可能になっています。512バイト超セクタにも対応してるとのこと。
 
- 2 TiB の壁
- 
- DiscWizard (Seagate)
 
- GPT (GUIDパーティションテーブル)
- 
- Beyond 2TB | Seagate
	- トラブルシューティングGPTの問題 (Seagate)
 
 
- Beyond 2TB | Seagate
	
- BigSector(4 KiB セクタ)
- 
2 TiB 以下のHDでも、既にこのフォーマットになってる場合があるようですね。 - Advanced Format Technology (AFT)
- 
 Windows 7 および Windows Server 2008 R2 と Advanced Format Disk の互換性を向上させる更新プログラムを入手できます注: Advanced Format Disk では、大きな物理セクタ (4 KB) を使用します。ただし、初期のバージョンと現在のコンピューター システムとの互換性を向上させるために、512 バイトの論理アドレス指定インターフェイスを維持しています。そのため、"512 バイト エミュレーション ディスク" または短縮して "512e" と呼ばれます。Advanced Format Disk の詳細については、この資料の最後に記載している IDEMA (International Disk Drive Equipment and Materials Association) の Web サイトを参照してください。 
 
- 調整用ツールなど
- 
- 日立GST - Downloads
	- Hitachi XL3000 3TB Drive Format Utility For Windows XP
- Hitachi Align Tool
 
 
- 日立GST - Downloads
	
■ メーカー
■ ATAPI規格
■ ディスク構造
あくまでイメージですが...用語の使い方は曖昧だったりします...
- 参考:ディスク構造
- MBR(マスターブートレコード)
	- - HDドライブの先頭セクタ
 
- PBR(パーティションブートレコード)
	- - パーティション(区画)の先頭セクタ(一般的には「ブートセクタ」かな?)
 
- EPBR(拡張パーティションブートレコード)
	- - 拡張パーティション(区画)の先頭セクタ
 
- MBR 及び EPBR にはパーティション・テーブルがあります。
- 基本区画は最大4個まで作成可能。拡張区画は基本の1つに数える。
- 5個以上の区画を作るには拡張区画を作成する(基本1+拡張1、基本3+拡張1とか)
※hda はLinux上でのデバイス(ファイル)名。sda の場合も(2台目なら hdb , sdb)。
| MBR(512バイト) | ||||
| 空き | ||||
| hda1 基本区画 | ブートセクタ(512バイト) | |||
| データ | ||||
| hda2 など 基本区画 | ブートセクタ(512バイト) | |||
| データ | ||||
| hda3 など 拡張区画 | EPBR(1)(512バイト) | |||
| 空き | ||||
| hda5 論理区画 | ブートセクタ(512バイト) | |||
| データ | ||||
| EPBR(2)(512バイト) | ||||
| 空き | ||||
| hda6 論理区画 | ブートセクタ(512バイト) | |||
| データ | ||||
| EPBR(3)(512バイト) | ||||
| 空き | ||||
| hda7 論理区画 | ブートセクタ(512バイト) | |||
| データ | ||||
基本区画(拡張区画含む)のパーティション・テーブル(4エントリ)は MBR にあります。
EPBR(1)には、hda5のブートセクタ位置とEPBR(2)の2エントリのパーティション・テーブルがあります。
EPBR(2)には、hda6のブートセクタ位置とEPBR(3)の2エントリのパーティション・テーブルがあります。
つまり、EPBR(3)の位置を知るにはEPBR(2)とEPBR(1)の情報が必要、EPBR(2)の位置を知るにはEPBR(1)が必要という風に数珠繋ぎ的な風(親亀小亀風味?)になってます。
■ MBR / ブートセクタ
- EFI / GPT
- 
Windows Vista など、そろそろこちらに変わって行くのでしょうか。
通常HDは512バイトのセクタ単位に区切られてます。(※NTFSなどファイルシステムでフォーマットすると4KiB(など)単位のクラスタ単位でデータが保存されます)。
- MBR(マスターブートレコード) - HDの先頭セクタ
- PBR(パーティションブートレコード) - パーティションの先頭セクタ
- ブートセクタ - 一般的はパーティションの先頭セクタを指す(ことが多い?)
基本パーティションではPBRとブートセクタは同じものと考えてよさそう。
論理パーティションの場合は、PBR(EPBR)とブートコードなどが書かれる一般的なブートセクタは別になってるようです。
Windows XP の fixmbr コマンドは、MBRへブートストラップを書き込みます(パーティション・テーブルは変更しない)。
Windows XP の fixboot コマンドは、ブートセクタへ NT-IPL を書き込みます。
- MBRの内容
- 
- ブートストラップ(など) - 446 bytes
	- ブートストラップ - 440 bytes
- volume information(NTシグネチャとか) - 4 bytes
- 未使用? - 2 bytes
 
- パーティションテーブル - 64 bytes
- ブートシグネチャ 0xAA55- 2 bytes
 
- ブートストラップ(など) - 446 bytes
	
- MBR以降の空き領域
- 
(一般的にはかな?)通常の Windows XP マシンでは第1パーティションのブートセクタは、64番目のセクタから始まります。つまり、MBR以降に62セクタの空きがあるということです(※USBメモリなどでは一定ではないようです)。 (【追記】Windows Vista 以降ではセクタサイズが 512バイトの場合、セクタ2048(2049番目セクタ)となるなので2047セクタ空き。) 市販のブートローダや、GRUBなどのサードパーティ製ブートローダはこのMBR以降のセクタにも書き込みします。 またリカバリープログラム用のブートローダなどもこのセクタに書き込まれることも多いようです。 よって、メーカー製PCでサードパーティ製のブートローダをインストールする場合はリカバリープログラムがブートしなくなる可能性があるので注意が必要です。 私は実際には知らないのですが、もしかすると fixmbr でもリカバリーできなくなることがあるかもしれません。メーカー製PCで fixmbr コマンドを使う場合はマニュアルなどを確認しておくべきだと思います。 ※ThinkPad R40(Windows XP Pro)では、MBRのブートストラップが通常のXP(DSP版)のブートストラップと違っていました。 
- MBRのバックアップ
- 
MBRをバックアップするには... dd if=<デバイス(ファイル)名> of=mbr.bin bs=512 count=1 MBR以降のセクタも含め第1パーティションの先頭セクタ(x2)までを保存するには(※ Windows XP などの旧PCの場合は count=65の場合があり)...dd if=<デバイス(ファイル)名> of=mbr2050.bin bs=512 count=2050 
- MBRの修復・初期化
- 
※事前にバックアップを取っておきましょう! 一般的には、「MBRの修復」とはブートストラップの書き直しを意味していることが多いと思われます。MBR全体を初期化、つまり消してしまうとパーティションテーブルもなくなりますので一からパーティションを切り直す必要が出て来ます。 Windows では「NTシグネチャ」の問題がある為、「スタートアップ修復」や fixmbr などOS標準のツールを使うのが確実だと思われます。 パーティションテーブルを除くブートストラップ部分を消すには... dd if=/dev/zero of=<デバイス(ファイル)名> bs=440 count=1 NTシグネチャなども含め、パーティションテーブルを除くブートストラップ部分を消すには...(注意!NTシグネチャを消すと Vista 以降は起動できなくなります) dd if=/dev/zero of=<デバイス(ファイル)名> bs=446 count=1 【 危険 !】【 注意 !】パーティションを一から切り直す場合など、(ほぼ)完全にMBRを初期化したい場合は... dd if=/dev/zero of=<デバイス(ファイル)名> bs=512 count=2050 
■ パーティションテーブルの確認
ddコマンドなどでファイルとして保存したらWindows 2000/XP では debug コマンドで確認できます。バイナリモード表示可能なテキストエディタ(※秀丸、EdTexなど)があると便利です。Linuxでは、hd file や hexdump -C -o 432 file とか。
※ 赤字 部分がパーティションテーブル、斜体字がパーティション始点です。
>debug mbr.bin -d 02BE 02FF 2D81:02B0 80 01 2D81:02C0 01 00 07 FE FF 47 3F 00-00 00 09 E9 CD 00 00 00 2D81:02D0 C1 48 83 FE FF 54 48 E9-CD 00 CD 2F 03 00 00 00 2D81:02E0 C1 55 83 FE FF FF 15 19-D1 00 5A B7 EC 01 00 00 2D81:02F0 C1 FF 0F FE FF FF 6F D0-BD 02 52 14 93 06 55 AA
- hda4はタイプ【0F】で拡張パーティション
- hda4の始点は --- 0x02BDD06F = 45994095
尚、拡張パーティション内の論理パーティションのパーティションテーブルは拡張パーティションの先頭セクタ(※EPBR = 拡張パーティションブートレコード)に論理パーティションの始点と次の領域のEPBR(拡張パーティションの先頭から)の相対位置が書かれています。次の領域へ数珠繋ぎ状態でパーティションテーブルが書かれています。所謂ブートセクタが別になったりするのでちょっとややこしいです...
>debug hda4.bin -d 02BE 02FF 2D81:02B0 00 01 2D81:02C0 C1 FF 82 FE FF FF 3F 00-00 00 D2 DA 13 00 00 00 2D81:02D0 C1 FF 05 FE FF FF C6 73-C3 02 8C A0 CF 03 00 00 2D81:02E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 2D81:02F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA
- hda5のブートセクタは --- hda4の始点 + 63(0x3F)
- hda6拡張パーティション2のEPBRは --- hda4の始点 + 46363590(0x02C373C6)
※hda6のEPBRについて、正確には第2拡張パーティションの先頭セクタ(EPBR)と呼ぶべきだと思われます。論理パーティションhda6の先頭(ブートセクタ)とは違うので...
論理パーティションが2つ以上ある場合は、次の領域(hda6,sda6)始点セクタ(EPBR)に(hda6,sda6の)ブートセクタ及びそのまた次の領域のEPBR位置(※この場合はhda4の始点 0x02BDD06F に 0x02C373C6 を足す)が書かれています。
>debug ex2_epbr.bin -d 02BE 02FF 2D81:02B0 00 01 2D81:02C0 C1 FF 0B FE FF FF 3F 00 00 00 4D A0 CF 03 00 00 2D81:02D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2D81:02E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2D81:02F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
※この例では第2エントリがないので論理パーティション3はありません。
よくわかりませんが...Linux で dd if=/dev/hda6 bs=512 count=1 の様に論理パーティションを指定したものにはパーティションテーブルがない(ブートコードなどがある)ので、論理パーティションが複数ある場合は、EPBRとブートコードなどが書かれるブートセクタ(= hda6の先頭セクタ)は別ってことみたいですね。
- パーティションテーブルとブートセクタをすべてバックアップするには...
- 
論理パーティションが1つの場合は、ddでhda(sda)、及びhda1(sda1)からhda5(sda5)までを保存すればよいのです。 # dd if=/dev/hda of=mbr.bin bs=512 count=1 # dd if=/dev/hda1 of=hda1.bin bs=512 count=1 .... 論理パーティションが2つ以上あると、ちょっとややこしくなります。 - 論理パーティションが2つ以上の場合は、論理パーティション2(hda6,sda6)以降のEPBRとブートセクタを別々に保存
- 拡張パーティションの(E)PBRには、論理パーティション1(hda5,sda5)のブートセクタと論理パーティション2拡張パーティション2の始点が書かれる
- 論理パーティション2拡張パーティション2のEPBRには、論理パーティション2(hda6,sda6)のブートセクタと- 論理パーティション3拡張パーティション3(※があれば)の始点が書かれる
- dd if=/dev/hda6 bs=512 count=1とした場合 - 所謂ブートセクタ(EPBRではない)?
- EPBR + 63 がブートセクタ?
 論理パーティションが2つ以上ある場合、EPBRをすべて保存するには - 拡張パーティションの始点から順々に次の始点(EPBR)を計算する必要があります。 拡張パーティション(この例ではhda4)からの相対位置を計算します - 一例:
	- 拡張領域hda4の始点 --- 0x02BDD06F = 45994095
- 論理領域hda6拡張領域2の始点(EPBR) --- 45994095 + (0x02C373C6 = 46363590) = 92357685
 
 dd if=/dev/hda of=ex2_epbr.bin bs=512 skip=92357685 count=1 dd if=/dev/hda6 of=hda6.bin bs=512 count=1 ※セクタ位置は0から数えるので、セクタ位置が10(11番目)なら skip=10とします。- hda7(sda7)以降がある場合(論理領域が3つ以上)
	- 拡張領域hda4の始点 --- 0x02BDD06F = 45994095
- これに1つ前のEPBRにある2番目エントリの相対位置を足す
 
 EPBRの第2エントリのセクタ位置は、すべて(第1)拡張パーティション(※この例では hda4)からの相対位置になってることに注意が必要ですね。
■ Windowsの起動
Windows XP だとおおまかですがこんなかんじかと。
- M/BのBIOS
	- 起動可能ドライブの選択
 
- ハードディスクのマスターブートレコード(MBR)
- MBR内のブートストラップローダ
	- アクティブなパーティション(bootフラッグ付)を探す
 
- アクティブパーティションのブートセクタ(PBR)へ
- イニシャルプログラムローダ(IPL)へ
- IPL が NTLDRを読み込み
- boot.iniを読み込み
- NTDETECT.COMを実行
- ntoskrnl.exeが実行
- Windows XP/2000の起動トラブル - すっきり!! デフラグ非公式ヘルプのページ
- 電源ボタンを押してからパソコンが使えるようになるまでに行われていること - ふーみんの徒然日記
- Windowsはどうやって起動しているのか?:ITpro
■ Windowsが起動しない時
一概にこうだ、と言うのは難しいと思いますけど...。また一度何らかの方法でWindowsを起動させてしまえば治ってしまうこともありますね。
Windows のロゴが表示、または Windows のメッセージが表示される場合は Windows 自体に異常があるということになるかと。
セーフモードで起動できる(またはWindows のロゴやメッセージが表示される)場合は、Windows上のシステム設定などの問題だと思われます。。
最悪の状況、HDドライブの物理的な故障の可能性が考えられる時は、まずデータのバックアップを優先すること。
- ファイル救出時の注意点
- 
別のWindowsマシンに接続する際、すべてのファイルを確実にコピーするにはアクセス権の変更が必要になると思われます。ローカルユーザの「所有権の取得」、Everyoneなどに読み取り・実行などの「アクセス権の付加」。XP Home Edition などではセーフモードで起動する必要があります。 Linux LiveCDなどでは、NTFSアクセス権は無視されますので、基本的にすべてのファイルがコピーされます。(但し、ゾーン情報などはエラーとなる、更新日時がコピー時になったりしますがそれほど問題ないかと。) 
セーフモードでも起動しない場合はCDブートなど
CDブートできない場合は・・・
- 取り外して、USB-IDE変換ケーブルなどで別PCに接続
- FDブートでコマンド操作
	- Partboot for USB floppy drives - USBデバイスなどへコピー
- BG-Rescue Linuxめも - USBデバイス、ネットワーク上のLinuxマシンなどへコピー
 
- セーフモード
- 
起動時に F8キー(またはF5)を押し続けます(または連打する)。BIOSのブートデバイスの選択画面が出た場合はハードディスクを選択してEnterの後再度素早く F8キーを押す。 セーフモードでも起動できない場合は、MBR、ブートセクタなどのブートローダ(OSローダ)部分、の問題なのか切り分ける必要があるかと。 
- 問題の切り分け
- 
まず、問題点はどこなのか? - 周辺機器を取り外して起動してみる
- BIOSの設定を確認する。初期化してみる。(※初期化した際にHDのシリアルATA関連、キーボードがUS配列になる、ブートデバイスの優先順序が変わるなど、再設定が必要になることがあるので注意
 セーフモードで起動(またはWindows のロゴやメッセージが表示される)できるなら下記の点は問題ありません。 エラーメッセージ MBRブートストラップローダ - Invalid partition table
- Error loading operating system
- Missing operating system
 NT-IPL (FAT32) - Disk error
- Press any key to restart
 NT-IPL (NTFS) - disk read error occurred
- NTLDR is missing
- NTLDR is compressed
 BOOTMGR-IPL - disk read error occurred
- BOOTMGR is missing
- BOOTMGR is compressed
 - MBRのブートストラップローダの異常
	- 「DISK BOOT FAILURE」
- GRUB/MBMで起動を確認
 
- アクティブパーティションの指定ミス
	- 「Missing operating system」のメッセージ
- 「NTLDR is Missing」のメッセージ
- GRUB/MBMで起動を確認
- Windows上なら「ディスクの管理」で“システム”マークを確認/変更
- または、FDISKやパーティショニングツールで確認/変更
 
- ブートセクタのIPLの異常
	- Windows緊急起動ディスクで起動確認
 
- NTLDR などのWindowsブート用ファイルの異常
	- 「NTLDR is Missing」のメッセージ
- NTLDR,boot.ini,NTDETECT.COM は存在するか壊れていないか
- Windows緊急起動ディスクで起動確認
 
- boot.ini の異常・記述ミス - ファイルの破損・システムのないドライブを指定している
	- 「次のファイルが存在しないかまたは壊れているため...」のメッセージ
- パーティション(ドライブ)の構成を変更した場合など
- Windows緊急起動ディスクで起動確認
 
 - 物理的な故障?
- 
- BIOSでハードディスクが認識されているか確認
- BIOSで認識していない場合はケーブルの接続など物理的部分の確認
- 異音が発生している場合は物理的な故障の可能性
 
 あと、あくまで可能性としてですがハードディスク内にファイル(システム)はあるのか、とか。“悪意ある”誰かに消されちゃった、なんてことはないのか、とかとか。 
- GRUB(またはMBM)起動ディスクを使う
- 
直接ブートさせるパーティション(ドライブ)を指定します。 MBRの異常時、正確にはMBR内のブートストラップローダがおかしい時、及び、アクティブパーティションの指定ミスの場合はこれで回避できます。 ※ 一例ですが、(hd0,0) は第1HDの第1パーティションの場合 - makeactive (hd0,0)- アクティブ設定
- unhide (hd0,0)- 隠し設定の解除
- chainloader (hd0,0)- チェインロード
 MBM(Multiple Boot Manager)の方が簡単かも。こちらはカーソルキーで選択するだけです。 修復は、Windows XP なら 回復コンソールから fixmbr(fdisk /mbr)コマンドを実行、Linux などで GRUB(LILO)などのブートローダをMBRに入れてる場合はそれらを再インストール。アクティブパーティションの確認・変更は「ディスクの管理」から“システム”マークを確認。またはFDISKなどハードディスク用ツールを使用。 ※メーカー製パソコンでは、 fixboot/fixmbr(fdisk /mbr)コマンドを実行するとリカバリープログラムが起動できなくなることがあるので注意。マニュアル要確認。
- 緊急起動ディスク
- 
直接 ntoskrnl.exe を呼び出します ブートセクタのIPLの異常、あるいは ntldrの異常 やboot.iniの記述ミスなどの際はこれで代用できます。boot.iniがない場合は、C:\Windowsから起動するようです。ブートセクタの修復は回復コンソールから fixbootコマンドを実行。boot.ini の再構成はbootcfgコマンド(※Windows 2000 ではセットアップCDからシステム修復処理を実行)。ntldr などシステムファイルは復元されませんので起動できたらシステムドライブ(= アクティブパーティション)のルートにコピー。※メーカー製パソコンでは、 fixboot/fixmbr(fdisk /mbr)コマンドを実行するとリカバリープログラムが起動できなくなることがあるので注意。マニュアル要確認。
- 修復インストール
- 
クリーンインストール(メーカー製ならリカバリー)の方がいいのですが、時間がない場合やバックアップができない際はこちらを試してみる。原則的にはWindowsのシステムファイルのみ初期化される。データ/プログラム/設定などはそのまま(あくまで原則)。Windows Update はやり直し。 
- パーティションが見えない
- 
バックアップ(リカバリー)ソフトで復元した際に、隠し ( hidden) パーティションが設定されてしまう場合があります。GRUB起動ディスクで設定解除できます。(例:unhide (hd0,1))
- インストールの中断・失敗
- 
Linuxなどのインストールを中断した場合など、アクティブ設定が変更されたのそのパーティションにブートローダがインストールされていないため、何もブートできなくなることがあります。GRUB起動ディスクでパーティションを指定してブート。(アクティブ設定の変更はGRUBでもWindows上でも) 
- Invalid partition table
- 
これら以外にハードディスクの「パーティションテーブル」の破損という場合もあります。物理的ではなく「論理的」な破壊ですね。一からパーティションを切り直せばいいわけですが、既存のデータはすべて消えてしまいます。データの救出を試行したい場合はこんな方法があります。 KNOPPIX や RamFloppy などにも入ってます。 正確ではないかもしれませんが、起動しない際の状態やメッセージから考えられる原因はこんなかんじでしょうか。 - BIOSが出すメッセージ
	- システムディスクが見つからない
- 黒い画面で応答を停止
- 原因はブートストラップがないか、壊れている
 
- ブートストラップが出すメッセージ
	- Invalid partition table - 原因はパーティションテーブル
- Error loading operating system - 原因はパーティションテーブル?アクティブパーティション設定のミス?
- Missing operating system - 原因はブートセクタ(NT-IPL)?、アクティブパーティション設定のミス?システムがない?
 
- NT-IPLが出すメッセージ
	- NTLDR is missing や NTLDR is compressed(DOS-IPL では「Invalid system disk,Disk I/O error」) - 原因はアクティブパーティション設定のミス、またはNTLDRがないか壊れている
- A disk read error occurred - パーティション(情報)の異常かな?故障しかけなのかも?
 
- BOOT.INIがおかしい
	- 無効なBOOT.INIファイルです
- 「次のファイルが存在しないかまたは壊れているため...」
 
 
- BIOSが出すメッセージ
	
■ ファイルシステム
- NTFS および FAT ファイル システムのデフォルトのクラスタ サイズ
- FAT および NTFS のデフォルトのクラスタ サイズ
- @IT:検証:ディスク・デフラグメント完全マスター 1.ディスク・フラグメントの基礎知識(1)
■ パーティション作成
リサイズや移動などは失敗を覚悟の上(バックアップを取っておく)で行うべきでしょうねぇ。私も色々ありました。起動できなくなったり拡張パーティションが先頭になっちゃったり。Windowsは基本パーティションからドライブレターを割り当てるので順番がおかしくなったり。とか。
Windows XP ならインストール時にシステム用に20〜30GB(マイ ドキュメントなどデータ関係は別パーティションへ移動、Vista 以降は30〜50GBぐらい必要だとか、最低でも50 GB、できれば 100 GB 程取っておいた方が安心かな?)だけ作っておいて、後はWindows上でするのが楽かな。
- NTFSパーティション編集時の注意点
- 
Linux LiveCDの GParted や QTParted でNTFSパーティションの拡大・縮小を行った場合は、Windowsのチェックディスクを実行する必要があります(※次回Windows起動時に自動で実行されるはずです)。このチェックディスクを実行せずにNTFSパーティションに対して別の操作をしてしまうとおかしなことになる可能性大なのでご注意。 
Windows
- Windows Vista / 7
- 
Windows Vista / 7 では【ディスクの管理】からデータを保持したままパーティションの分割が一応可能だったりします。 しかしながら、あんまり融通が利かないみたいで、目一杯圧縮とかはしてくれない場合があります。例えば、データは 20 GB 程しかないのに最大圧縮してもサイズは 200 GB 程だったり。pagefile.sysとかデフラグしても移動できないからとからしいです。自己責任となりますがWindows (Vista/7) 対応ツールを使う方がいいかもしれませぬ。 
※ ソフトを使う場合は、新規格の対応などきっちり確認してから実行しませう。
- Windows上で操作
- 
フリーでもかなり使えるものがいくつかあります。 - 拙作めも :
 
- 市販製品
- 
使ったことはありませんが... - Acronis Disk Director Home
- HD革命/Partition EX | 株式会社アーク情報システム
- パーティション管理ソフト Paragon Partition Manager 11
- PowerX Hard Disk Manager
- LB パーティションワークス14 製品情報
 私は SystemSelector3 と Partition Magic 7.0 という今ではやや古いソフトを持ってます。機能や使いやすさはフリーのものに比べると段違いにいいと思います。分厚い説明書も付いてました。(このマニュアルがなかなか面白くて勉強になったり。) あっと、古いソフトは新しめのHDに使うのは少し危険なのでやめといた方が無難かも。対応をよく確認しませう。 
- Partition Wizard Bootable CD
- 
ブータブルCD。1枚持っとくべきかも。 
Linux など
- GNU Parted
- 
データを保持したままリサイズ可能なフリーで使えるツール。コマンドラインで操作。 - Partboot for USB floppy drives
	- USB-FDドライブでブート可能。PCMCIAやNTFSもサポート。
 
 
- Partboot for USB floppy drives
	
- GParted(GNOME Partition Editor)
- 
同じくリサイズ可能なフリーで使えるツール。GUIで操作。Ubuntu Desktop CDや KNOPPIX 5.3.1 CD などにも入ってます。 - GParted 0.6.0
 
 GParted -- News- Add support for devices with sector sizes > 512 bytes
- Add alignment option to align to MiB
- Set _default_ alignment to align to MiB
 
- QTParted
- 
同じくリサイズ可能なフリーで使えるツール。GUIで操作。KNOPPIX、Berry Linux の LiveCDなどにも入ってます。でも古いかも? 
■ バックアップツール
パーティションイメージの保存/復元が可能なソフト。リカバリーが楽になるー♪
最近のメーカー製パソコンではLiteバージョンがプリインストールされてたりしますね(VAIOの「HD革命Lite」とか)。また、DVD/CDライティングソフトでもリカバリーDVD/CDの作成が可能なことがあるようです。
別ページに書きました。
■ トラブル/復旧
- 【ハウツー】FD2枚でパーティションを復旧!(1) - BG-Linuxのインストール (MYCOMジャーナル)
	- Gpart と fdisk でパーティションテーブル復旧
- Partition Rescue mini HOWTO : 問題を解決する
 
- Cドライブ以外が見えなくなったー
- 
バックアップソフト(リカバリーイメージ復元ソフト)でリカバリーを実行した際に、オプションの「それ以外のパーティションを隠す」設定が有効になっちゃうことがある模様。 GRUB起動ディスクなどで設定変更できます。 unhide (hd0,1) ※ (hd0,1)はHDD1台目2番目のパーティションの場合
- MBRのバックアップ/リストア
- 
※ MBR ブートストラップ のバックアップ・修復です。 Windowsなら、 fixmbr(fdisk /mbr)、Linux ならGrub(Lilo)の再インストールの方がいいと思いますけど。MBRの内容は、ブートローダー(※ ブートストラップ)が446バイト、パーティションテーブルが64バイト、2バイト あまり?みたいブートシグニチャですね。バックアップ # dd if=/dev/hda of=mbr bs=512 count=1 リストア(※パーティションテーブル除く) # dd if=mbr of=/dev/hda bs=446 count=1 
■ ブートいろいろ
ハードディスクのメンテナンスや緊急時のファイル救出手段として用意しておくと吉。
- Windows PE / RE
CDブート
- Linux LiveCD
- 
- ライブCDの部屋
- slax-ja - PukiWiki
- SystemRescueCd
	- GParted
- GNU Parted
- Partimage
- Test-disk
- Ntfs3g
 
- 私的 Linux LiveCDめも
 
- FDイメージをブータブルCDに
- 
CD/DVDライティングソフトのブータブル(起動可能)ディスク作成機能を使う。または、下記のツールを使うとisoイメージへ変換できます。 
CD1枚に焼いちゃうのはもったいないおばけな方は(何)、マルチブートCDを作っちゃえ!ってか。
USBメモリでブート
BIOSの対応次第なんですけど、USBメモリキーだけでなく、カードリーダー、カードリーダー付プリンタ、はたまたデジカメなんかでもブート可能な場合もあります。
PXEネットワークブート
Linuxのインストール、FDイメージからの起動、KNOPPIXなどの起動が可能。
- PXEネットワークブート用サーバの設定
■ FDブートなOS
復旧やファイル救出、診断とかに使えるかも?
※USB-FDドライブでは起動できないことがあります。
FD版Linuxなどなかなかうまく起動できないことも多いので、PXEネットワークブートでFDイメージからの起動も試してみましょう。
MS-DOS / FreeDOS
拙作ですが...
Linux
- Partboot for USB floppy drives
- 
いつもお世話になっております。(何 USB-FDドライブでも起動可能。 本来はとても有用なパーティショニングツールなのですが、NTFSなファイル救出手段としても使えます。というかFDブートなファイ救出手段としてはこれがもっとも確実だと思ってます。(※日本語ファイル名は親ディレクトリを指定してコピー)。PCMCIAやUSBデバイスもほぼ自動認識でOKです(※マウント操作は必要です)。 
- BG-Rescue Linux
- 
パーティション関連だけでなく、ネットワークも利用可能。ftpput smbclient コマンドなどが使えるようです。(※私の環境ではだめでしたが..) ※USB-FDはだめかも? linld.comまたは、GRUB for DOS起動ディスクを使ったらUSB-FDでもブートできました。
以下はちょっと枯れ目ですけんど。
- HAL91
	- モジュール追加可能(Gpartとか)。but USB-FDはマウントできない(IDE-FDかHDから追加する)
- モジュール組み込み・ルーティングテーブル作成、ifconfig 設定でネットワーク接続可能ですた。ftpコマンドなどが使えました。
 
- Partimage
	- 本家版はウチでは起動しない...
- こっちならOK - 1fd-partimage(2chスレより)
 
- FD-Samba
	- FAT32ドライブをでSambaサーバ化。but ネットワークモジュールの組み込みが...難しいかも。