私的ハードディスク関連めも

2007.2.14 作成
2007.4.14 Windowsが起動しない時を改訂

最近パーツが丈夫になったのかほとんどトラブルとは遭遇せずに過ごせてはおりますが、ハードディスクは消耗品です。寿命を考えるといつ災難に見舞われるとも限らないのであった...

というわけで、復習用(ちょっと見栄..)勉強めも。

基本知識

ページ先頭へ

メーカー

ページ先頭へ

ATAPI規格

ページ先頭へ

Windowsの起動

Windows XP だとおおまかですがこんなかんじかと。

  1. M/BのBIOS
    • 起動可能ドライブの選択
  2. ハードディスクのマスターブートレコード(MBR)
  3. MBR内のブートストラップローダ
    • アクティブなパーティション(bootフラッグ付)を探す
  4. アクティブパーティションのブートセクタ(PBR)へ
  5. イニシャルプログラムローダ(IPL)
  6. IPLNTLDR を読み込み
  7. boot.ini を読み込み
  8. NTDETECT.COM を実行
  9. ntoskrnl.exe が実行

ページ先頭へ

Windowsが起動しない時

一概にこうだ、と言うのは難しいと思いますけど...。また一度何らかの方法でWindowsを起動させてしまえば治ってしまうこともありますね。

Windows のロゴが表示、または Windows のメッセージが表示される場合は Windows 自体に異常があるということになるかと。

セーフモードで起動できる(またはWindows のロゴやメッセージが表示される)場合は、Windows上のシステム設定などの問題だと思われます。。

最悪の状況、HDドライブの物理的な故障の可能性が考えられる時は、まずデータのバックアップを優先すること。

セーフモードでも起動しない場合はCDブートなど

CDブートできない場合は・・・

セーフモード

起動時に F8キーを押し続けます(または連打する)。BIOSのブートデバイスの選択画面が出た場合はハードディスクを選択してEnterの後再度素早く F8キーを押す。

セーフモードでも起動できない場合は、MBR、ブートセクタなどのブートローダ(OSローダ)部分、の問題なのか切り分ける必要があるかと。

問題の切り分け

まず、問題点はどこなのか?

  • 周辺機器を取り外して起動してみる
  • BIOSの設定を確認する

セーフモードで起動(またはWindows のロゴやメッセージが表示される)できるなら下記の点は問題ありません。

  • 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内のブートストラップローダがおかしい時、及び、アクティブパーティションの指定ミスの場合はこれで回避できます。

MBM(Multiple Boot Manager)の方が簡単かも。こちらはカーソルキーで選択するだけです。

修復は、Windowsなら 回復コンソールから 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 はやり直し。

  • Invalid partition table

これら以外にハードディスクの「パーティションテーブル」の破損という場合もあります。物理的ではなく「論理的」な破壊ですね。一からパーティションを切り直せばいいわけですが、既存のデータはすべて消えてしまいます。データの救出を試行したい場合はこんな方法があります。

KNOPPIX や RamFloppy などにも入ってます。

正確ではないかもしれませんが、起動しない際の状態やメッセージから考えられる原因はこんなかんじでしょうか。

  • BIOSが出すメッセージ
    • システムディスクが見つからない
    • 黒い画面で応答を停止
    • 原因はブートストラップがないか、壊れている
  • ブートストラップが出すメッセージ
    • Invalid partition table - 原因はパーティションテーブル
    • Error loading operating system - 原因はパーティションテーブル?アクティブパーティション設定のミス?
    • Missing operating system - 原因はブートセクタ(NT-IPL)?、アクティブパーティション設定のミス?システムがない?
  • NT-IPLが出すメッセージ
    • NTLDR is missing(DOS-IPL では「Invalid system disk」) - 原因はアクティブパーティション設定のミス、またはNTLDRがないか壊れている
    • A disk read error occurred - パーティション(情報)の異常かな?故障しかけなのかも?
  • BOOT.INIがおかしい
    • 無効なBOOT.INIファイルです
    • 「次のファイルが存在しないかまたは壊れているため...」

ページ先頭へ

バックアップツール

パーティションイメージの保存/復元が可能なソフト。リカバリーが楽になるー

最近のメーカー製パソコンではLiteバージョンがプリインストールされてたりしますね(VAIOの「HD革命Lite」とか)。また、DVD/CDライティングソフトでもリカバリーDVD/CDの作成が可能なようです。

True Image

Windowsを起動したまま、パーティションイメージ作成可能。CDブートで作成/復元。機能的には一番かも。

Norton シリーズ

Windowsを起動したまま、パーティションイメージ作成可能。

Norton Ghost 2003

Norton Ghost 10.0に同梱。

作成/復元はDOSモードで再起動。またはCD/FDで起動。(MS-DOS or PC DOSで英語モード)。ネットワーク接続(NBT or NetBEUI)可能なFD作成、リカバリー用Ghost付CD/DVD作成可能。

その他の市販製品

使ったことはありませんが...

Partimage

※安定性・使いやすさは市販ソフトに比べたらかなり落ちるかなぁ...でもKNOPPIXとかだとネットワークや周辺機器が簡単に使えるのがいいところ。USBメモリブートやネットワークブートも可能ですし。

NTFSは実験的(?)サポート。断片化がひどい場合や暗号化ファイル/フォルダはだめとのこと。

  • できれば事前にデフラグを実行
  • 暗号化ファイル/フォルダはだめ
  • ディスククリーンアップで「古いファイルの圧縮」を使うとだめ

リストアのシミュレーションも可能なので、バックアップ作成後にテストしておくことをおすすめ。

  • KNOPPIX 5(UTF-8指定してブート) にて、LAN接続ハードディスクをマウントしてイメージを保存
# mkdir /mnt/landisk
# mount -t smbfs -o codepage=cp932,iocharset=utf8 //landisk/disk /mnt/landisk
# mkdir /mnt/landisk/partimage
# partimage
  • 「Image file to create/use」に保存場所とファイル名を指定
/mnt/landisk/partimage/backup.img
そのほか...

使ったことはありませんが...

ページ先頭へ

ファイルシステム

ページ先頭へ

パーティション作成

リサイズや移動などは失敗を覚悟の上(バックアップを取っておく)で行うべきでしょうねぇ。私も色々ありました。起動できなくなったり拡張パーティションが先頭になっちゃったり。Windowsは基本パーティションからドライブレターを割り当てるので順番がおかしくなったり。とか。

Windows XP ならインストール時にシステム用に20〜30GB(マイ ドキュメントなどデータ関係は別パーティションへ移動、Vista は30〜50GBぐらい必要だとか)だけ作っておいて、後はWindows上でするのが楽かな。

Windows
GNU Parted

データを保持したままリサイズ可能なフリーで使えるツール。コマンドラインで操作。

GParted(GNOME Partition Editor)

同じくリサイズ可能なフリーで使えるツール。GUIで操作。Ubuntu Desktop CDKNOPPIX 5.1.1 CD などにも入ってます。

QTParted

同じくリサイズ可能なフリーで使えるツール。GUIで操作。KNOPPIXBerry Linux の LiveCDなどにも入ってます。

市販製品

使ったことはありませんが...

私は SystemSelector3 と Partition Magic 7.0 という今ではやや古いソフトを持ってます。機能や使いやすさはフリーのものに比べると段違いにいいと思います。分厚い説明書も付いてました。(このマニュアルがなかなか面白くて勉強になったり。)

ページ先頭へ

トラブル/復旧

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

ページ先頭へ

ブートいろいろ

ハードディスクのメンテナンスや緊急時のファイル救出手段として用意しておくと吉。

CDブート

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はだめかも?loadlin.exe を使ったらUSB-FDでもブートできました。

以下はちょっと枯れ目ですけんど。

ページ先頭へ

etc

ページ先頭へ


Written by yassy