2007.2.14 作成
2007.4.14 Windowsが起動しない時を改訂
最近パーツが丈夫になったのかほとんどトラブルとは遭遇せずに過ごせてはおりますが、ハードディスクは消耗品です。寿命を考えるといつ災難に見舞われるとも限らないのであった...
というわけで、復習用(ちょっと見栄..)勉強めも。
■ 基本知識
■ メーカー
- 日立グローバルストレージテクノロジーズ
- Seagate Technology
- Western Digital ハードドライブ
- SAMSUNG’s Digital World - Hard Disk Drive / Utilities
- Maxtor.co.jp
■ ATAPI規格
■ Windowsの起動
Windows XP だとおおまかですがこんなかんじかと。
- M/BのBIOS
- 起動可能ドライブの選択
- ハードディスクのマスターブートレコード(MBR)
- MBR内のブートストラップローダ
- アクティブなパーティション(bootフラッグ付)を探す
- アクティブパーティションのブートセクタ(PBR)へ
- イニシャルプログラムローダ(IPL)へ
- IPL が
NTLDR
を読み込み boot.ini
を読み込みNTDETECT.COM
を実行ntoskrnl.exe
が実行
■ Windowsが起動しない時
一概にこうだ、と言うのは難しいと思いますけど...。また一度何らかの方法でWindowsを起動させてしまえば治ってしまうこともありますね。
Windows のロゴが表示、または Windows のメッセージが表示される場合は Windows 自体に異常があるということになるかと。
セーフモードで起動できる(またはWindows のロゴやメッセージが表示される)場合は、Windows上のシステム設定などの問題だと思われます。。
最悪の状況、HDドライブの物理的な故障の可能性が考えられる時は、まずデータのバックアップを優先すること。
セーフモードでも起動しない場合はCDブートなど
CDブートできない場合は・・・
- 取り外して、USB-IDE変換ケーブルなどで別PCに接続
- FDブートでコマンド操作
- Partboot for USB floppy drives - USBデバイスなどへコピー
- BG-Rescue Linux - USBデバイス、ネットワーク上のLinuxマシンなどへコピー
- セーフモード
-
起動時に 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内のブートストラップローダがおかしい時、及び、アクティブパーティションの指定ミスの場合はこれで回避できます。
- GRUBの起動ディスクを作成するには − @IT
- 某所の日記 - GRUB 起動ディスクの使い方
chainloader
コマンドを使う- 某所の日記 - GRUB起動CD
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は実験的(?)サポート。断片化がひどい場合や暗号化ファイル/フォルダはだめとのこと。
- できれば事前にデフラグを実行
- 暗号化ファイル/フォルダはだめ
- ディスククリーンアップで「古いファイルの圧縮」を使うとだめ
リストアのシミュレーションも可能なので、バックアップ作成後にテストしておくことをおすすめ。
- @IT:パーティションを丸ごとバックアップするには
- @IT:Partition Imageのバックアップファイルをリストアするには
- システムバックアップ(Partition Image) - パソコンおやじ
- partimage - Knoppix Temporary Directory
- 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
- そのほか...
-
使ったことはありませんが...
■ ファイルシステム
- NTFS および FAT ファイル システムのデフォルトのクラスタ サイズ
- FAT および NTFS のデフォルトのクラスタ サイズ
- @IT:検証:ディスク・デフラグメント完全マスター 1.ディスク・フラグメントの基礎知識(1)
■ パーティション作成
リサイズや移動などは失敗を覚悟の上(バックアップを取っておく)で行うべきでしょうねぇ。私も色々ありました。起動できなくなったり拡張パーティションが先頭になっちゃったり。Windowsは基本パーティションからドライブレターを割り当てるので順番がおかしくなったり。とか。
Windows XP ならインストール時にシステム用に20〜30GB(マイ ドキュメントなどデータ関係は別パーティションへ移動、Vista は30〜50GBぐらい必要だとか)だけ作っておいて、後はWindows上でするのが楽かな。
- Windows
- 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.1.1 CD などにも入ってます。
- QTParted
-
同じくリサイズ可能なフリーで使えるツール。GUIで操作。KNOPPIX、Berry Linux の LiveCDなどにも入ってます。
- 市販製品
-
使ったことはありませんが...
- Acronis Disk Director Suite 10.0
- LB パーティションコマンダー10製品情報
- システムコマンダー8 製品情報
- Partition Manager 7.0 - 製品情報 / NetJapan
私は SystemSelector3 と Partition Magic 7.0 という今ではやや古いソフトを持ってます。機能や使いやすさはフリーのものに比べると段違いにいいと思います。分厚い説明書も付いてました。(このマニュアルがなかなか面白くて勉強になったり。)
■ トラブル/復旧
- 【ハウツー】FD2枚でパーティションを復旧!(1) - BG-Linuxのインストール (MYCOMジャーナル)
- Gpart と fdisk でパーティションテーブル復旧
- Partition Rescue mini HOWTO : 問題を解決する
- 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
-
- ライブ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はだめかも?loadlin.exe を使ったらUSB-FDでもブートできました。
以下はちょっと枯れ目ですけんど。
- HAL91
- モジュール追加可能(Gpartとか)。but USB-FDはマウントできない(IDE-FDかHDから追加する)
- モジュール組み込み・ルーティングテーブル作成、ifconfig 設定でネットワーク接続可能ですた。ftpコマンドなどが使えました。
- Partimage
- 本家版はウチでは起動しない...
- こっちならOK - 1fd-partimage(2chスレより)
- FD-Samba
- FAT32ドライブをでSambaサーバ化。but ネットワークモジュールの組み込みが...難しいかも。