どうぞ注意深くやってください。これから行う説明は、最近何かをインストールし たなら、それをあきらめて、以前のシステムに戻してしまいますから。 選択をしなくてはいけません。
fdisk -l の結果が手元にある場合
それで十分です。
fdisk は小さいですが、とてもよくできたプログラムです。別の種類の fdisk もありますが、私はシンプルなものをお勧めします(もちろん、Linux の fdisk です。ほかの OS の fdisk はお勧めしません)。
訳注:fdisk プログラムには同じ機能を持ったものが複数あります。 cfdisk、sfdisk があります。 Linux を使っているなら man fdisk,cfdisk,sfdisk で確認してみてください。
fdisk は w (書き込みコマンド)を入力してリターンキーを入れるまではディス クには何も書き込みません。間違いを恐れるなら、安全に終了するために、q を入力するか、Ctrl C を使ってください。
新しいパーティションテーブルを書きこんで Linux を再起動します。もしか したらいつものように起動してこないかもしれません。lilo が壊れてしまっ たなら、起動ディスクを使うか、CD (``インストールしたパーティションから 起動する''を選択します)から起動する必要があります。
lilo で起動するなら、root でログインして、``lilo''を入力し、 お好みのブートローダを再インストールするためにリターンキーを入れます。
Linux がすべてそこにあるはずです。テストしましょう。問題がないなら、 windows もちゃんと起動するか試しておきましょう。もしうまくいかないなら、 セクターの読み取りで生のセクターを読むことで、もしかすると Linux から あなたのデータを読めるかもしれません(ほとんどないかもしれませんが)。ディ スクのセクターにあなたのデータがあるのを確認したら、dd を使ってファイ ルにそれをコピーします。こういうことはテキストデータだけにしておくほう がよいでしょうが。これを復旧するのは、この mini-HOWTO の範囲ではありま せんのであしからず。
先に述べた方法が使えない時、たとえば、fdisk の結果を書いた紙がない、あ るいは古いマシンなので動かないなら、この方法でやりましょう。
まず、ディスクに書きこまない( fdisk をする以外に)限りはデータを消すこ とはできませんから、ブロックごとに試してみることができます。つまり、パー ティションの開始番号を知っている必要があるということです。153 がうまく いかないというなら、154 を試します。以下同様。
訳注:fdisk でパーティションを作成する時、作成するパーティションについ て先頭シリンダの番号を入力します。さらに、パーティションの容量は + 記 号に続けて容量と単位を入力、またはそのパーティションの最終シリンダ番号 を直接入力することで指定できます。
やっかいなことになりますが、Linux パーティションのだいたいのサイズを覚 えているなら、うまくやれるでしょう。
ネットにアクセスできるか、gpart を持っているならよい方法があります。
``gpart 、 PC-type ハードディスクパーティションを推測する''については、 gpart のオンラインマニュアルの最初の行に書いてあります。
``gpart はハードディスク上にあるパーティションを推測してみるものです。 基本パーティションテーブルが失われていたり、上書きされてしまっている、 あるいは、壊されてしまっていると、ディスク上にまだパーティションが存在 するにもかかわらず、オペレーティングシステムはそれにアクセスできなくなっ てしまいます。''この gpart がまさにわれわれが必要としていたものです。
gpart はまだβ版ですが、とてもよくできたツールです。
問題は次のようなことです。どのパーティションの最初のブロックも特徴的な データを持っており、新たに上書きされない限りそのデータを消すことができ ません。このため、たいていの``パーティションにある最初のブロック''は以前 のままでディスク上に残っており、gpart はどこがよい部分であるかをうまく 推測できるよう最善を尽してくれます。実際のところ、gpart がディスクを上 書きすることはありませんから、納得いくまで試してみましょう。
これは hdb に見えた gpart の結果です。
root@charles:/home/jdd > gpart /dev/hdb
Begin scan...
Possible partition(Linux ext2), size(1200Mb), offset(0Mb)
Possible partition(Windows NTFS), size(1200Mb), offset(1200Mb)
Possible partition(Linux ext2), size(1004Mb), offset(2402Mb)
Possible partition(Windows NTFS), size(1600Mb), offset(4102Mb)
End scan.
Checking partitions...
* Warning: partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX) ends beyond disk end .
Partition(Linux ext2 filesystem): primary
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
Partition(Linux ext2 filesystem): primary
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary
Ok.
Guessed primary partition table:
Primary partition(1)
type: 131(0x83)(Linux ext2 filesystem)
size: 1200mb #s(2457880) s(63-2457942)
chs: (0/1/1)-(152/254/61)d (0/1/1)-(152/254/61)r
Primary partition(2)
type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
size: 1200mb #s(2457880) s(2457944-4915823)
chs: (152/254/63)-(305/253/60)d (152/254/63)-(305/253/60)r
Primary partition(3)
type: 131(0x83)(Linux ext2 filesystem)
size: 1004mb #s(2056256) s(4919781-6976036)
chs: (306/61/49)-(434/60/47)d (306/61/49)-(434/60/47)r
Primary partition(4)
type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
ご覧の通り、基本パーティションは修復できていますが、 拡張パーティションの修復にはまだやるべきことが残っています。
訳注:gpart-0.1b のgpart README も参照してください。 現在のところ、gpart は基本パーティションの修復には有効ですが、 論理パーティションの修復には、まだ改良されるべきことが残っています。
Windows 2000(これは恐ろしい体験だった!) をインストールしようとしたと きに作られた DOS パーティションは、``Windows NTFS''とラベルされています。 ``invalid''(よくない)のは、実際のところ拡張パーティションです。
この結果をもとに fdisk を使うことで、パーティションテーブルを再生する ことができます。(もとのパーティションテーブルがすでに失われてしまって いるのであれば、この作業によって失われるものはもうなにも無いのだという ことを覚えておいてください)。
訳注:gpart は Gpart is a small tool which tries to guess what partitions are on a PC type harddisk in case the primary partition table was damaged. 2000年7月現在の最新版は gpart-0.1f.tar.gz http://home.pages.de/~michab/gpart/ http://sunsite.unc.edu/pub/Linux/system/filesystems などで入手できます。
パーティションマジックは商用の製品で、それほどお安くはないので使ってい る人は少ないですが(フランスでは約 100 ドルほど)、あちこちで高い評価を 得ています。しかし、私は使用していませんので、よくわかりません。パーティ ションの修復も含めて、パーティションに何かをすることができると言われて います。
Ralf 氏のオリジナルの partition-rescue mini HOWTO はパーティションマジッ クを使用するのを前提にしています。あなたが Linux パーティション上に貴 重なデータを置いているが、Linux には初心者であるならこれを使うのはよい 解決方法であると思います。しかし、パーティションマジックにはつい最近出 た新しいバージョンがあるので、マニュアルを読むことをお勧めしたいと思い ます。