ブートとハードディスクFAQ集(トラブル編)

2002/08/11
INDEX

 エラーメッセージ

  1. Invalid partition table
  2. Error loading operating system
  3. Missing operating system
  4. NTLDR is missing
  5. Invalid system disk
  6. 次のファイルが存在しないかまたは壊れているため、Windows2000を起動できませんでした:
    <windows 2000 root>\system32\ntoskrnl.exe.
    上記のファイルをインストールし直してください。
  7. コンピュータには既にオペレーティングシステムがインストールされています。このバージョンのセットアッププログラムではアップグレードできません。アップグレード版のWindowsXXを入手してください。メッセージSU0168

 Windowsのトラブル

  1. Windows9xをインストールしたら、(NTLDRによる)ブート選択画面がでなくなって、WindowsNT/2000が起動できなくなりました。
  2. マルチブート環境の(ハードディスクの)引越しをしたり、パーティションのサイズを変更したら、なぜかWindows9xの方が起動しなくなりました。
  3. Windows2000を使っているのに、私のパソコンにはboot.iniがありません。
  4. Windows98だけにしようと思って、NTLDRなどを削除しましたが、「NTLDR is missing」と出て、Windows98が起動しません。
  5. WindowsNTをハードディスクの先頭から2GB以降にインストールしたら起動しません。
  6. WindowsがインストールされたIDEハードディスクをプライマリマスターからスレーブに移して、新たにマスターにハードディスクを導入し、このハードディスクのMBRにブートローダを導入しましたが、スレーブのWindowsが起動しません。
  7. Windows9xのマルチ環境を作りたくて、複数のWindows9xをインストールしようとするとインストーラに拒否されてインストールできません。
  8. マルチブート構築のため、いろいろなことをしていたら、Windows2000にログインできなくなりました。厳密に言うとログインできるのですが、すぐにログアウトしてしまいます。
  9. Windows9xのFDISKで、拡張領域を消そうとしたら、「中に論理ドライブがあるから消せない」と言われ、その中の論理ドライブを消そうとすると、「論理ドライブなどないから消せない」という矛盾したことを言われて、一向にこの拡張領域の削除することができません。
  10. Windows9xのFDISKであるFAT32の論理領域を削除したら、その前にあったNTFSの論理領域が消えてしまいました。
  11. Windows2000などを削除したのですが、NTLDRのメニューから消えません。
  12. マルチブートにしたら、前のWindowsが起動しません。
  13. Linuxをインストールしたら、既存のWindowsが起動しなくなりました。
  14. マルチブートにしたら、前のWindowsを終了しても電源が切れなくなりました。
  15. ハードディスクを増設したら、既存のドライブレターが変わってしまいました。
  16. ハードディスクを増設したら、既存のWindowsが起動しくなりました。

 Linuxのトラブル

  1. 起動時に「LI」と表示して止まってしまいます。
  2. /etc/lilo.confを変更したのに、LILOの動作が変わりません。
  3. MBRに入れたLILOを消したいのですが。
  4. liloコマンドがエラーになってLILOを作成できません。
  5. 8GB以降にあるカーネルをロードできません。
  6. ハードディスクを増設したら、既存のLinuxが起動しなくなりました。
  7. Windowsインストールしたら、既存のLinuxが起動しなくなりました。

 パーティションのトラブル

  1. 誤ってパーティションを切りなおしてしまいました。
  2. 誤ってパーティションをフォーマットしてしまいました。
  3. パーティションのサイズが意図したサイズになりません。

エラーメッセージ

 どんなトラブルにおいても、その時に表示されるエラーメッセージは、問題解決に非常に重要な情報となる。そもそもプログラム作者は問題解決のためにエラーメッセージを表示するように作っているのだから。

 ここではトラブル時のエラーメッセージにスポットを当てて、その原因及び解決方法について解説していきたいと思う。これらのエラーメッセージに関する解説は、いずれも、ある程度PC/AT互換機のブートシーケンスについての知識がないと理解しにくいかもしれない。ブートの仕組みは最低限併せて、読んでおいてほしい。

  1. Invalid partition table
     
    このエラーメッセージは、MBRにあるIBM、MSオリジナルのブートストラップローダが出力する。表示の通りパーティションテーブルが無効なのだが、具体的にはアクティブ領域(アクティブフラグが0x80の領域)が複数あったり、アクティブフラグに無効な値(0x80か0x00以外)があった場合に出力される。



    通常の操作では、複数の基本領域がアクティブになることはないと思うが、何からの事故でこのようなことになる場合があるかもしれない。またLinuxのfdiskプログラムでは、そのような設定をしてしまうことも可能だ。アクティブ領域の修正は、FDISKプログラムや、MBMの区画エディタなどで修正しよう。

    一方、アクティブフラグ0x80(アクティブ)0x00(非アクティブ)以外の値があるというトラブルは、より起こりにくいことだと思う。イレギュラーなことができるfdiskプログラムでもそんな値を入力できてしまうものはないだろう。何らかの事故でそうなってしまったと考えられる。そうだとすると他の値も破壊されていると考えられるので、このトラブルの場合はパーティションのきり直しを余儀なくされることが多いだろう。
     
     
    因みにアクティブパーティションが一つも無かったらどうなるのだろうか。その場合IBMオリジナルブートストラップローダが、INT18Hという割り込み要求を発行する。この割り込み要求を受けたBIOSがどのような行動をとるかは、その搭載BIOS次第だ。INT18Hは、ROM Basicへのエントリポイントに行くという説明がある。何かキーボードに関係ある割り込み要求のようだが、私にはよくわからない。確かに私のマシンのうち一台は「ROM Basic....」と表示して止まりましたが、大抵は単なるリブート要求がでるだけのようだ。
     
  2. Error loading operating sysytem
     
    このエラーメッセージもMBRのブートストラップローダが出力するものだ。パーティションテーブルは正しく、唯一の基本領域がアクティブになっており、そのアクティブ基本領域の先頭セクター(ブートセクター)をロードしようとしたが、セクターをロードできなかった場合に出力される。
     
    これは何らかの事故でパーティションテーブルのセクターアドレスが破壊されたか、おかしなアドレスを指しているか、様々な理由が考えられるのだが、対処法としては、通常このエラーが出てしまった場合、パーティションのきり直しをする他ない場合が殆どだ。
     
    尚、Windows2000が作るブートストラップローダは、後述する「Missing operating system」が出力される場面でも、このエラーメッセージが出ます。きっとバグだと思う。
     
     
  3. Missing operating system
     
    このエラーメッセージもMBRのブートストラップローダが出力する。直訳すると「OSが無い」という意味なのは、どなたでも分かると思うが、上記2つのエラーメッセージが出力されるロジックよりももう少し進んだ段階だ。
     
    パーティションテーブルは正しく、唯一の基本領域がアクティブになっており、そのアクティブ基本領域のブートセクターのロードも成功したが、そのブートセクターが無効だった場合に出力する。ブートセクターが無効というのは、セクターの最終2バイトのマジックナンバー0xAA55になっていない場合だ。

    直接の原因は上記だが、通常は変な領域がアクティブになっているなどで、全くおかしな場所をブートセクターとして読んでしまっている場合が多いだろう。
     

     
    上図のように本来第1基本領域を読めば正しくWindows2000が起動するにも関わらず、なぜかデータがない第2基本領域がアクティブになっているため、その領域の先頭セクターを読んでしまって、ブートセクターがおかしい、つまりOSが無いとほざいている訳だ。
     
    また、意図しないハードディスクを読んでしまっているかもしれない。実際のどのハードディスクのMBRがBIOSからロードされ、そのMBRのパーティションテーブルにおいて、正しい領域がアクティブになっているか確認しよう。
     
     
  4. NTLDR is missing
     
    これは、NTのブートセクターのNT-IPLが出力するエラーメッセージだ。文字通り、NTLDRが見つからないというものだ。これも何らかの原因でNTLDRが無くなってしまったというよりは、やはり意図しない領域がMBRからロードされている場合が多いだろう。
     

     
    上図の場合、基本領域1がアクティブなら、何の問題もなくWindows2000が起動するにも関わらず、データ領域であって、NTLDRなど存在しない基本領域2がアクティブになっているために、基本領域2のブートセクターがロードされ、その領域からNTLDRを探そうとしたためこのエラーとなるというのが、殆どの場合だろう。

    また、NTLDRによるマルチブートの削除時などに、起こるかもしれない。その詳細はデュアルブート環境の削除を参照してほしい。
     
    このエラーメッセージの場合も、意図しないハードディスクが読まれているという可能性もある。やはりどのハードディスクからブートされているか、そのハードディスクのパーティションは正しいかを確認する必要がある。もし領域が正しい場合は、本当にNTLDRが無いか確認してほしい。
     
  5. Invalid system disk
     

    このメッセージは、「NTLDR is missing」の、DOS-IPL版といえるものだ。DOS-IPLがIO.SYSなどを見つけることができない場合に出力する。こちらもやはり意図しない領域がMBRからロードされている場合が殆どだと考えられる。


     
    もしロード領域は正しく、本当にIO.SYSなどがないなら、sysコマンドで復活されることができる。
     
     
  6. 次のファイルが存在しないかまたは壊れているため、Windows2000を起動できませんでした:
    <windows 2000 root>\system32\ntoskrnl.exe.
    上記のファイルをインストールし直してください。

     
    このメッセージはWindows2000において、NTLDRでNTエントリを選択した時に、そのNTエントリが存在しないときに起こる。もう少し具体的に言うと以下のようになる。
     

     
    NTLDRの選択メニューでNTエントリを選んだ場合、その情報を元にntdetect.com(その名の通りNTを見つける(detectする)プログラム)が、Windows2000の最もコアなプログラムであるntoskrnl.exeを探す。このプログラムはWindows2000のシステムディレクトリ(通常はWINNTディレクトリ)の下のsystem32ディレクトリの下にある。しかしエントリ情報が指す場所には、これが無かったと言っているのが、このエラーメッセージだ。
     
    この場合も、指した先のデータが無くなってしまっているというよりは、そもそも指す先が悪い、つまり選んだエントリが悪い、もっと言えば、Boot.iniの記述が悪い場合が殆どだ。上図のトラブル例の場合、boot.iniは以下のような記述になっていると考えられる。

    [誤ったboot.iniの内容]
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINNTSV="Microsoft Windows 2000 Server" /fastdetect

    このboot.iniでWindows2000 Professionalを選択すると、2番目のパーティション(図では基本領域2)のシステムディレクトリからntoskrnl.exeを探す訳だが、実際に基本領域2にはそんなディレクトリはない訳だ。システムディレクトリは1番目のパーティションにある。正しくはboot.iniが以下のような記述になっていなければならない。

    [正しいboot.iniの内容]
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINNTSV="Microsoft Windows 2000 Server" /fastdetect

    もっともこれもboot.iniが間違っているというよりは、パーティション構成が変わったのにboot.iniを更新しなかったために起こる場合が殆どだろう。boot.iniが間違っていると言われるのは、boot.iniにとって心外だろうね。

    この問題が起こりうる場合の詳細についてはboot.iniの記述を参照してほしい。


    さて、原因が分かったとして、問題の対処法だが、もし構成の方に誤りがあるなら、それを修復する。構成が正しく、boot.iniの記述が誤りなら、これを修正すれば良い訳だ。

    しかし、そもそもWindowsが起動しないのに、果たしてboot.iniを直せるかという問題に直面する場合もあるだろう。もし他に起動可能なOSがあり、そのOSからboot.iniが見えるなら、勿論問題はないだろう。起動しなくなったOSがそのパソコン上、唯一のOSであるか、または他に起動可能がOSがあるが、そのOSからはboot.iniが見えない場合、非常に困ったことになる。この時に一体どんな対処法があるのだろうか。

    boot.iniの存在するパーティションがFATでフォーマットされているなら、Windows9xの起動ディスクで立ち上げて、修正することが可能だ。editコマンドで編集してほしい。ただしboot.iniは通常そのままでは見れないはずなので、attribコマンドで属性を変更して、見えるようにする。

    [boot.iniの属性の変更]
    C:\> attrib -S -H -R c:\boot.ini
     
    editコマンドは実際やってみれば、分かると思う。

    問題はパーティションがNTFSだった場合だ。もやは上記の手は勿論使えない。この場合は、Windows2000の修復セットアップの「スタートアップの検査を行います。やり方の詳細は、こちらを参照してほしい。説明している主題は違うが、読めば大体分かるはずだ。一発ではうまくいかない場合があるので、そんなときは、何度か試みるか、「高速修復」などもトライしてみてほしい。

    修復ディスクがないなどで、修復セットアップも実行できない場合は、もう他にWindows2000が動いているマシンに当該ハードディスクを接続して直す他ないだろう。もしそのようなマシンも無く、それをもっている知り合いもいないなら、私に連絡してほしい。直して差し上げよう。
     

  7. コンピュータには既にオペレーティングシステムがインストールされています。このバージョンのセットアッププログラムではアップグレードできません。アップグレード版のWindowsXXを入手してください。メッセージSU0168

    これはアップグレード版でないWindowsメディアで、既存のWindowsがある状態で、別にWindowsをインストールしようとする時に出るメッセージだ。やろうとしていることによって、対処法が違うので、こちらを参照してほしい。

Windowsのトラブル

 ここでは、Windowsにまつわる典型的なトラブルについて説明する。エラーメッセージの項とダブルものもある。

  1. Windows9xをインストールしたら、(NTLDRによる)ブート選択画面がでなくなって、WindowsNT/2000が起動できなくなりました。
     
    これはWindows9xのインストーラによって、ブートセクターDOS-IPLのものに変えられてしまったために起きている。基本的にWindows初級編を読めば、原因の詳細と対処法が分かると思うが、スポットとしてはインストールの順序が直接この問題について説明している。
     
    もし、Windows9xインストール時にCドライブをフォーマットしてしまったら、少し話しが面倒になるので、Cドライブをフォーマットしてしまった場合も加えて読んでほしい。
     
     
  2. マルチブート環境の(ハードディスクの)引越しをしたり、パーティションのサイズを変更したら、なぜかWindows9xの方が起動しなくなりました。

    とりあえず、環境変更時の注意を参照してほしい。原因としては、結構難しいものだが、対処法は分かるはずだ。
     
     
  3. Windows2000を使っているのに、私のパソコンにはboot.iniがありません。

    まあ、トラブルというほどではないのだが、初心者が最初にはまることだろう。こちらを読んでほしい。
     
     
  4. Windows98だけにしようと思って、NTLDRなどを削除しましたが、「NTLDR is missing」と出て、Windows98が起動しません。

    デュアルブート環境の削除を参照してほしい。
     
     
  5. WindowsNTをハードディスクの先頭から2GB以降にインストールしたら起動しません。

    ブートコード領界を参照してほしい。
     
     
  6. WindowsがインストールされたIDEハードディスクをプライマリマスターからスレーブに移して、新たにマスターにハードディスクを導入し、このハードディスクのMBRにブートローダを導入しましたが、スレーブのWindowsが起動しません。

    第2ハードディスクからの起動を参照してほしい。
     
     
  7. Windows9xのマルチ環境を作りたくて、複数のWindows9xをインストールしようとするとインストーラに拒否されてインストールできません。

    Windows9xのマルチ環境は基本的に他のパーティションを隠しつつ行なわねばならない。詳細はWindows9x同士のマルチブートを参照してほしい。しかしMulti-FAT環境の構築などのため、既存パーティションを隠すことができない場合は、Multi-FAT環境の構築を参照してほしい。
     
     
  8. マルチブート構築のため、いろいろなことをしていたら、Windows2000にログインできなくなりました。厳密に言うとログインできるのですが、すぐにログアウトしてしまいます。

    これはWindows2000の致命的なバグによる問題だ。こちらを参照してほしい。
     
     
  9. Windows9xのFDISKで、拡張領域を消そうとしたら、「中に論理ドライブがあるから消せない」と言われ、その中の論理ドライブを消そうとすると、「論理ドライブなどないから消せない」という矛盾したことを言われて、一向にこの拡張領域の削除することができません。
     
    これはWindows9xのFDISKのちょっと困った仕様だ。この問題の原因と解決方法はこちらを参照してほしい。
     
     
  10. Windows9xのFDISKであるFAT32の論理領域を削除したら、その前にあったNTFSの論理領域が消えてしまいました。

    FDISKのバグだ。ただしMicrosoftはこの問題を認識しているが、仕様としているようにで直すつもりはないようだ。詳細は論理 MS-DOS 領域の削除時の注意を参照してほしい。
     
     
  11. Windows2000などを削除したのですが、NTLDRのメニューから消えません。
     
    NTLDRのメニューは、Cドライブにあるboot.iniというファイルによって表示されている。通常手動でWindows NT/2000/XPを削除しただけでは、このboot.iniの内容まで変更されないので、メニューが残ってしまう。このファイルはテキストファイルなので、メモ帳やお好きなエディタで自分で書き換えてほしい。詳細はNTLDRによるWindowsNTのマルチブートをどうぞ。
     
     
  12. マルチブートにしたら、前のWindowsが起動しません。
     
    マルチブート環境を正しく構築すれば、既存のWindowsが起動しなくなることはないはずだ。大抵は新たなOSの追加にあたり、パーティションを作成すると思うが、この作成方法に問題があり、既存OSのドライブレターに影響を与えたことが原因である可能性がある。
     
    またWindows2000のように既存のNTFSパーティションを新しいバージョンのものにしてしまってWindowsNTの古いSPのものが起動できなくなるといった場合もある。
     
    ブートローダによっては起動するOSとは違うパーティションを隠しパーティションにする場合があるが、そのままパーティションが隠しの状態で起動してしまっているとか。
     
    いずれにしてもパーティション、ファイルシステムがらみが圧倒的に多いと思う。どういうパーティション構成なのか、どういうOSがインストールされているのか、どのようにインストールしたのかがトラブルの原因を知る極めて重要な手がかりになるので、それらを明確にしてブートとハードディスク掲示板に質問してほしい。
     
     
  13. Linuxをインストールしたら、既存のWindowsが起動しなくなりました。
     
    これも上記と同じで通常はそのようなことはないはずだ。
     
    よくあるのが、LILOMBRにインストールしてWindowsの起動ができなくなったというものだ。LILOを適切に設定すればいいのだが、インストール時によくわからず、設定しなかったためにLinuxしか起動しなくなってしまう場合が多いだろう。
     
    どのように設定すべきかは、パーティション構成などによるが、ブートローダの仕様をよく理解して、その上で設定する他ない。LILOGNU GRUBを読んでほしい。
     
     
  14. マルチブートにしたら、前のWindowsを終了しても電源が切れなくなりました。
     
    これもたまに耳にするが、論理的にはあり得ない話だとは思っている。なぜかOSのインストールによってBIOSの挙動が変わり、このようなことが起こるようだ。大抵はBIOSの設定をし直すと治るようなのだが、詳細は私も分かっていない。
     
     
  15. ハードディスクを増設したら、既存のドライブレターが変わってしまいました。
     
    たぶん増設したハードディスクに基本領域があったからだろう。Windowsのドライブレターが振られる基本ルールでは、接続されたハードディスクの基本領域から順に振られる。詳しくはドライブレターを参照してほしい。
     
    対処法としては、増設したハードディスクには拡張領域(論理領域)しか作らないようにすることしかないだろう。
     
     
  16. ハードディスクを増設したら、既存のWindowsが起動しくなりました。
     
    これは主に前述の問題と同じでドライブレターが変わってしまったことに起因すると思われる。やはりドライブレターを参考に増設によってドライブレターが変わってしまっていないか確認してほしい。
     
    またハードディスクの増設にあたり、既存のハードディスクの接続方法を変えたりした場合、基本的にそのハードディスク上で以前まで起動していたWindowsは起動しなくなると思ってもらっていいだろう。BIOSで認識するハードディスクの順序が変化してしまうので、多くの場合トラブルとなる。基本的には既存のハードディスクの接続方法は変更しないようにしなければいけない。
     
    ただしOSによるが、ハードディスクの接続方法を変えれば、起動できる場合や起動できるようにすることも可能だ。詳細は第2ハードディスク以降からの起動を参照してほしい。
     
     

Linuxのトラブル

 ここでは、Windowsとのマルチブートの他、Linuxにまつわる様々なトラブルについて、その原因と対処法を解説する。
 

  1. 起動時に「LI」と表示して止まってしまいます。
     
    これがLinuxブート系のトラブルで最も多いものだろう。LILOの動作原理を理解すると、このトラブルが多いのが納得できるのだが、如何せん上記表示だけでは、初心者は途方に暮れるだろう。原因も結構いろいろあって、その分対処法も様々だが、まずはLILOが『LI』で止まる訳を参照してほしい。
    しかしこのトラブルの原因追求には、LILOの動作原理の理解は不可欠になる場合が多いので、このサイトのLinux系のページはできれば一通り読んでほしい。

  2. /etc/lilo.confを変更したのに、LILOの動作が変わりません。
     
    LILOは、/etc/lilo.conf を見て、動的に動作しない。/etc/lilo.conf を変更したときは必ずマップインストーラ(/sbin/liloコマンド)を実行して、実体たるLILOを更新してほしい。

  3. MBRに入れたLILOを消したいのですが。
     
    DOSのfdisk /mbrがいいだろう。Windows2000の回復コンソールのfixmbrでも可能だ。Windows2000が入っている場合は、こちらの方がベターだろう。一応LILOには「lilo -u」というアンインストールコマンドがあるが、バックアップしたMBRを戻す(パーティションテーブルは除く)だけなので、バックアップした時期によって、思うようにアンインストールできない場合があり、あまり信用してはいけない。
     
    因みに、「MBRからLILOを消す」という表現は正しくない。MBRを空にしたら、結局何も起動できなくなってしまう。LILOを消すのではなく、通常PC/AT互換機の場合、MBRに書かれているIBM、MSオリジナルのブートストラップローダに書き戻すというのが、正しい表現、理解になる。このあたりのことはブートの仕組みブートストラップローダの詳細を読めば、よく理解できると思う。

     
  4. liloコマンドがエラーになってLILOを作成できません。

    まずマップインストーラの警告とエラーを参照して、エラーメッセージの概要を理解してほしい。ここの説明で十分に理解できない場合は、このサイトのLinuxのページを熟読するほかないだろう。
     
     
  5. 8GB以降にあるカーネルをロードできません。

    LILOのバージョン22以降を利用するか、21-3以降LBA32オプションを利用するか(詳細はグローバルセクションを参照してほしい)、GRUBを利用して起動してほしい。
     
     
  6. ハードディスクを増設したら、既存のLinuxが起動しなくなりました。
     
    通常ハードディスクの増設でこのようなことは起こらないはずだが、ハードディスクの増設にあたり、既存のハードディスクの接続方法を変えたりした場合、基本的にそのハードディスク上で以前まで起動していたLinuxは起動しなくなると思ってもらっていいだろう。この場合、ハードディスクやパーティションのデバイスファイル名(/dev/hda1など)が変わってしまうことになるが、Linuxはシステム上に現在のデバイスファイル名を持っているので、それとの整合性が崩れて、起動不能になる。既存のハードディスクの接続方法は変更しないようにしなければいけない。
     
    また既存のハードディスクの接続方法はそのままでも、新規ハードディスクの接続方法によっては、BIOSで認識するハードディスクの順序が変化してしまって、LILOなどでは起動できなくなる。この場合はブートディスクなどで起動して、LILOを再構築するか、GRUBのような柔軟なブートローダを利用するのがいいだろう。
     
     
  7. Windowsをインストールしたら、既存のLinuxが起動しなくなりました。
     
    WindowsのインストールそのものでLinuxが起動不能になることは、まず考えられない。WindowsからはLinuxのパーティションは見えないので、ここに何か害を及ぼすことは通常考えられないからだ。
     
    大抵はWindowsをインストールするにあたり、作成したパーティションによって起きていると考えられる。パーティションの作成方法によっては、既存のLinuxのパーティションのデバイスファイル名が変わってしまう場合があるだろう。例えばLinuxが第3基本領域(デバイスファイル名/dev/hda3)だったのに、Windowsをインストールするにあたり第1基本領域と第2基本領域を消して、ひとつのパーティションを作ってしまったために、Linuxの領域が第2基本領域(デバイスファイル名/dev/hda2)になって、起動できなくなるのだ。
     
    パーティション構成の再構築は既存Linuxのパーティションのデバイスファイル名が変わらないように注意して行う必要がある。マルチブートの仕方(Linux初級編)は全部、マルチブートの仕方(Linux中級編)をざっとでいいので読んでみてほしい。
     

パーティションのトラブル
  1. 誤ってパーティションを切りなおしてしまいました。
     
    パーティションを切りなおしてしまった直後ならデータが助かることがある。基本領域の切りなおしなら、まずはもう一度同じようにパーティションを切れば助かるだろう。
     
    ただし論理領域の切りなおしの場合、データ破壊が起きている可能性がある。ただこれはどこでどうデータが破壊が起きているかは、ちょっとやそっとで分かるものではないので、データの内容については諦めた方が賢明だろう。
     
    もし以前のパーティション構成が分からず、もう戻すことができない場合、サルベージツールなど復元する他ない。
     
    このあたりの理由などを知りたい方はパーティションとその切り方を熟読してほしい。
     
     
  2. 誤ってパーティションをフォーマットしてしまいました。
     
    こちらの場合は、さすがにデータはもう戻ってこないと考えた方がいいだね。クイックフォーマットなら前述のサルベージツールで殆どのデータが回復できると思うが、通常のフォーマットだと非常に難しいだろう。諦めてほしい。
     
     
  3. パーティションのサイズが意図したサイズになりません。
     
    ちょっとしたサイズの違いなら、これはパーティションがシリンダー境界で必ず作成されるために起こる現象だ。詳しい背景などを知りたい方はLBA時代のCHSあたりを参照してほしい。
     
    大きくサイズが違う場合は、何らかの不具合だね、分からない。
     

目次へ