レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
  LILO, Linux Crash Rescue HOW-TO
  Al Dev (Alavoor Vasudevan)        alavoor@yahoo.com
  v6.0, 25 Dec 2000
  岡本 一幸 (kokamoto@itg.hitachi.co.jp), 浅田 倫裕
  (mic@p1.coralnet.or.jp)
  v6.1j, 2001年 3月 6日

  この文書は Linux システム障害からの回復について説明する。 Linux システ
  ム障害は次のような様々な現象を起こす。 LILO が破壊される。Linux がブー
  トに失敗する。Master Boot Record (MBR) が壊れる。Windows NT のような他
  の OS をインストールした場合、 LILO または MBR を消去してしまうため
  Linux がブートしなくなる。
  ______________________________________________________________________

  目次

  1. はじめに
     1.1 回復へのすばやい手順
     1.2 予防手段
     1.3 LILO の削除
     1.4 起こしがちな間違い

  2. 関連 URL
  3. この文書の他のファイル形式
  4. 著作権
  5. 翻訳履歴

  ______________________________________________________________________

  1.  はじめに

  事故は避けられぬもので、 Linux のシステム設定を行なっている時に事故が
  起これば、マスタブートレコード - master boot record (MBR) 若しくは
  LILO (Linux boot Loader) の破壊が起こるであろう。ハードディスクの障害
  のために linux がブートしなくなる場合もある。操作ミスによりハードディ
  スクのパーティションの再設定や、または Linux をインストールしたコン
  ピュータに Windows 98/NT のような他の OS を追加インストールした場合に
  は LILO が失敗するときもある。

  この文書は LILO または Linux について文書を沢山苦労して読まなくても良
  い様にすばやい回復のための考え方、秘訣と簡単な手引きを提供する。

  1.1.  回復へのすばやい手順

  LILO またはシステム障害からの回復は次の手順に従うこと。

  1. 場面 1: システムがブートしない -

     tomsrtbt フロッピー   を入手しなさい。
     tomsrtbt フロッピーからブート。 fdisk を使用してパーティションを探
     しなさい。ルートパーティションを次の手順で認識しなさい。

     【訳注: ここでパーティションテーブルが飛んでいることがわかったら、
     Partition Rescue mini HOW-TO の手順のほうを先に試したほうが良い。
     
     】調べたパーティション構成をもとに、エディターを使って /etc/fstab
     に問題のパーティションを書き足しなさい (たとえば、次のように書き足
     すことになる)。

     ___________________________________________________________________
     bash# fdisk /dev/hda
     bash# mkdir /test
     bash# mount /dev/hda1 /test
     bash# ls /test
     ルートパーティションならば、次のようになっているはずである。 -
     bin   fd    lib   mnt  proc  sbin  usr
     boot  dev   etc   home  lost+found  opt  root  tmp   var
     ___________________________________________________________________

  これがルートパーティションでない場合は、次のパーティション /dev/hda2
  を試しさい。次は hda3,  hda4,  hda5 等のようにルートパーティションが見
  つかるまで試しなさい。hda に見つからないなら hdb, hdc, hdd 等のように
  繰り返しなさい。 lilo の構成を新たに行なう毎に、同様に /usr, /var, や
  /boot パーティションについて行なう必要がある。

  今回の例題のルートパーティションは /dev/hda4 となっている。-

  ______________________________________________________________________
  bash# mkdir /hda4
  bash# mount /dev/hda4 /hda4
  bash# cat /hda4/etc/fstab
          fstab の出力を見て、次のようにパーティションをマウントしなさい。-
  bash# mount /dev/hda5 /hda4/boot
  bash# mount /dev/hda6 /hda4/usr
  bash# mount /dev/hda7 /hda4/var
  bash# mount /dev/hda8 /hda4/opt
  bash# mount /dev/hda9 /hda4/root
  bash# mount /dev/hda10 /hda4/home
  ______________________________________________________________________

  この場合は、fstab ファイルに hda5 はブート用、hda6 は usr、 hda7 は
  var、hda8 は opt、 hda9 は root、hda10 は home そして hda11 は win-
  dows95 のディレクトリとなっている。

  /hda4/etc/fstab でなく /etc/fstab を編集し 次のようにしなさい。-

  ______________________________________________________________________
          /dev/hda4  /hda4           ext2 defaults 1 1
          /dev/hda5  /hda4/boot      ext2 defaults 1 1
          /dev/hda6  /hda4/usr       ext2 defaults 1 1
          /dev/hda7  /hda4/var       ext2 defaults 1 1
          /dev/hda8  /hda4/opt       ext2 defaults 1 1
          /dev/hda9  /hda4/root      ext2 defaults 1 1
          /dev/hda10 /hda4/home      ext2 defaults 1 1
          /dev/hda11 /hda4/win95part vfat defaults 1 1

  ここでは hda4 が linux ルート パーティション、hda5 がブートパーティションで、
  hda11 は Windows 95 Vfat システムである。

  Bash# Mkdir /Hda4/Win95part
  Bash# Mount /Hda4/Win95part
          そして、fsck か e2fsck コマンドでシステムを修復する。
  Bash# Man Fsck
  Bash# Man E2fsck
  ______________________________________________________________________

  【訳注: たとえば、次のファイルに異常が無いかを調べ、Linuxが起動しない
  原因を探ってみると良い。 /hda4/sbin/init /hda4/etc/inittab
  /hda4/etc/rc.d/* 原因が見つかれば、復旧させるための措置をとれるはず。

  】

  2. 場面 2: LILO が動作しない場合 ..

     上記の 場面 1 を試してみても失敗する場合、次の手順を試行する。既に
     /hda4 がマウントされていて /etc/fstab ファイルもあるとする。

     【訳注: もちろん tomsrtbt フロッピーで起動してから】

     ___________________________________________________________________
     bash# mount -a
     bash# chroot /hda4 /sbin/lilo -q
     bash# man chroot
     bash# chroot /hda4 /sbin/lilo
     ___________________________________________________________________

  あるいは chroot の代わりに /sbin/lilo を直接実行しなさい。 "/sbin/lilo
  -r"は"chroot /sbin/lilo"と同じ働きをする。より便利であることと、エラー
  を見つけやすいため、lilo -r の代わりに chroot を使用することを強く勧め
  る。

  ______________________________________________________________________
  bash# man lilo
  bash# /sbin/lilo -r /hda4
  ______________________________________________________________________

  3. 場面 3: LILO が動作しない場合 ..

     場面 1 と 2 がうまく行かない場合、'mkbootdisk' で (インストール途中
     やそのディスクでブートして該当するパーティションを修復しなさい。
     mkbootdisk は mkbootdisk*.rpm パッケージに含まれているのでインス
     トールする必要がある。【訳注: ここでチェックすべきファイルは、
     /etc/lilo.conf /boot/vmlinuz /vmlinuz /boot/initrd* 等である。も
     し、問題があったならば修復しなさい。これらのファイルをいじった後
     は、/sbin/lilo を実行しておく必要があるだろう。】

  4. 場面 4:上記 場面 1, 2 と 3 を失敗してブートディスクも無い場合

     linux が動作しているほかのコンピュータがあれば、root でログインして
     次のように操作しなさい。-

     ___________________________________________________________________
     bash$ man mkbootdisk
     bash# cp /etc/lilo.conf /etc/lilo-original.conf
     ___________________________________________________________________

  /etc/lilo.conf を編集してルートパーティションの名前を '場面 1' で書い
  たようにして、空のフロッピーを挿入して次のようにしなさい。

  ______________________________________________________________________
  bash# mkbootdisk /dev/fd0
  ______________________________________________________________________

  mkbootdisk は mkbootdisk*.rpm パッケージに含まれているのでこのパッケー
  ジをインストールする必要がある。 /etc/lilo-original.conf を
  /etc/lilo.conf に戻したか確認して、

  ______________________________________________________________________
  bash# mv /etc/lilo-original.conf /etc/lilo.conf
  ______________________________________________________________________

  【訳注: このファイルの書き戻しを追加した。】このフロッピーを使用して '
  場面 3' へ移動しなさい。

  5. 場面 5: 恐らくここには来ない方が良い最悪の事態である。 1 から 4 ま
     での場面の殆どで起こりうる。上記、場面 1, 2, 3 と 4 に失敗したら

     ステップ 1: tomsrtbt でブートしパーティションをマウントしたらルート
     パーティションを他の空きのあるパーティションに次のコマンドでバック
     アップしなさい。

     ___________________________________________________________________
             /etc/fstab を編集して(次の例を自分のディスクレイアウトに置き換えて
             )から実行しなさい。
                     /dev/hda4  /hda4        ext2 defaults 1 1
                     /dev/hda11 /b1          vfat defaults 1 1
     bash$ mkdir /hda4; mount /hda4
     bash$ mkdir /b1; mount /b1
     bash$ cd /
     bash$ df
             /b1 にルートパーティションを tar できるだけの充分な空き容量があることを確認しなさい。
     bash$ tar cvf /b1/root-hda4.tar   /hda4
     ___________________________________________________________________

  ステップ 2: Linux の cdrom を挿入し、cdrom からリブートし redhat linux
  を /dev/hda4 にインストールしなさい(しかし ここでは余分なパッケージは
  一切インストールしないで、 root と boot パッケージと LILO マネージャだ
  けをインストールし、必要最小限のシステムとしなさい)。ハードディスクに
  は LILO もインストールされる。linux を再起動して root でログインし、次
  のコマンドを実行せよ。-

  ______________________________________________________________________
  bash$ man mkbootdisk
  bash# cp /etc/lilo.conf /etc/lilo-original.conf
  ______________________________________________________________________

  注意: lilo-original.conf から lilo.conf へ戻しておくことを忘れずに!!
  /etc/lilo.conf を編集しルートパーティションの名前を上記 '場面 1' で使
  用したものにして、空のフロッピーを挿入して次のコマンドを実行しなさ
  い。-

  ______________________________________________________________________
  bash# mv /etc/lilo-original.conf /etc/lilo.conf
  ______________________________________________________________________

  【訳注: ファイルの書き戻しを追加した。】

  ______________________________________________________________________
  bash# mkbootdisk /dev/fd0
  bash# cp /etc/lilo-original.conf /etc/lilo.conf
  ______________________________________________________________________

  【訳注: この lilo.conf の変更作業は必要ないような気がする。】問題のマ
  シンにこのフロッピーを用いてこのブートフロッピーをテストすると、この作
  業で上記のステップ 1 で行なった /b1/root-hda4.tar 上のすべてのファイル
  を回復できることが分かる。
  【訳注: ここでの原著者の意図は、hda4 に再インストールしたLinuxを消さず
  に元の環境を上書きでリストアすることだと思われる。この場合、/boot/*
  や/etc/lilo.conf は上書きしてはならない。訳者の考えだと、hda4 に再イン
  ストールしたLinuxを消してからリストアし、リストア後、/sbin/lilo の実行
  などliloの設定を行なったほうが良いような気がする。】

  1.2.  予防手段

  将来、起こりうる障害に対して次の予防手段を講じるべきである。

  o  時折そしてパーティション情報を変更した場合はいつでも、緊急ブート
     ディスクを作成しなければならない。空のフロッピーを挿入し次のコマン
     ドを実行しなさい。-

     ___________________________________________________________________
     bash$ man mkbootdisk
     mkbootdisk は mkbootdisk*.rpm パッケージに含まれているので、
     これをインストールする必要がある。
     bash$ mkbootdisk --help
     bash$ mkbootdisk --device /dev/fd0 2.2.12-20
     ___________________________________________________________________

  o  tomsrtbt ブートフロッピーは手元においておかなければならない。次のサ
     イトを見なさい。 

  o  Yard 緊急フロッピーとブートフロッピーを手元においておかなければなら
     ない。次のサイトを見なさい。 

  o  / (ルート) と /boot ディレクトリをバックアップしなさい。Tomsrtbt フ
     ロッピーでブートして次の作業を行ないなさい。【訳注: 原文では /root
     となっていたが / (ルート) のことと思われる。】

     ___________________________________________________________________
     bash# vi /etc/fstab
     これらの行を挿入しなさい。
                     /dev/hda1 /a1 vfat defaults 1 1
                     /dev/hdb1 /b1 vfat defaults 1 1
     この場合、hda1 は linux の root パーティションの '/' である。
     bash# cd /
     bash# tar cvf /b1/linux-root-partition-hda1.tar  a1
     bash# tar cvf /b1/linux-boot-partition-hda1.tar  a1/boot
     ___________________________________________________________________

  1.3.  LILO の削除

  MS DOS のコマンドプロンプトで DOS のコマンド (FDISK) により DOS のブー
  トローダでブートセクターを置きかえる事ができる。

  ______________________________________________________________________
          FDISK  /MBR
  ______________________________________________________________________

  ここで MBR とは "Master Boot Record" の略である。

  また linux の /usr/doc/lilo* にある LILO の文書を読めば LILO を削除す
  る他の方法がわかる。
  1.4.  起こしがちな間違い

  /etc/lilo.conf を変更した後では必ず lilo コマンドを実行しないと変更が
  実際に反映されない。初心者がおかす間違いで良く見られる。次のコマンドを
  実行しなさい。-

  ______________________________________________________________________
  bash# lilo -v -v -v
  ______________________________________________________________________

  2.  関連 URL

  次の URL は LILO, Linux の救助,障害復旧 に関連するものである。

  o  Mini Lilo HOWTO は  

  o  Mini Lilo HOWTO(日本語) は
     

  o  Bootdisk-HOWTO は  

  o  Bootdisk-HOWTO(日本語) は  

  o  Pre-made boot disks は  

  o  Pre-made boot disks(日本語) は
     

  o  Tomsrtbt boot floppy disk は  

  o  Yard rescue and boot floppy disk は
     

  o  BootPrompt-HOWTO は  

  o  BootPrompt-HOWTO(日本語) は
     

  o  Multiboot with LILO mini HOWTO は
     

  o  Linux+WinNT mini HOWTO は
     

  o  Linux+WinNT mini HOWTO(日本語) は
     

  o  Linux+WinNT++ mini HOWTO(日本語) は
     

  o  Linux goodies main site は  

  o  Linux goodies mirror site は  

  o  Vim color text editor for C++, C は
     

  3.  この文書の他のファイル形式

  この文書は 11 の異なる文書形式名称で公開してる。- DVI, Postscript,
  Latex, Adobe Acrobat PDF, LyX, GNU-info, HTML, RTF(Rich Text Format),
  Plain-text, Unix man pages, 単一 の HTML ファイル と SGML である。

  【訳注: この文書の和訳は、3種類のフォーマットで公開されている。それ
  は、HTML, Plain-text, SGMLである。なお、この章の記述には日本語環境に当
  てはまらないものも多く含まれるので、今後、URL 等については原文の記述の
  後に訳注として日本語の情報源を記し、文書のコンパイル方法、アプリケー
  ションの操作方法等については、日本語環境での情報だけを記す。】

  o  この HOWTO 文書を HTML, DVI, Postscript という形式を tar でまとめた
     ひとつのファイルか sgml 形式を入手できるところは次の場所である。-
     

     【訳注: JF の文書のプレインテキスト, HTML, SGML ファイルは tar.gz
     または tar.bz2 されたファイルとして、以下の場所で入手できる。
      】

  o  ただのテキスト(平文)はここ:
     

     【訳注: JF の文書のプレインテキスト及び HTML フォーマットのものは、
     以下の場所にある。  】

  o  フランス語、ドイツ語、スペイン語、中国語、日本語への翻訳はここ
      他の言語への翻訳のため
     のいかなる支援も歓迎する。

     文書は "SGML-Tools" と呼ばれるツールを使用して書かれており、次のと
     ころから入手可能である。-  文書のソースか
     らコンパイルするには次のコマンドで行なう。

  o  sgml2html LILO-crash-rescue-HOWTO.sgml     (html ファイルを生成する
     には)

  o  sgml2rtf  LILO-crash-rescue-HOWTO.sgml     (RTF ファイルを生成する
     には)

  o  sgml2latex LILO-crash-rescue-HOWTO.sgml    (latex ファイルを生成す
     るには)

  【訳注: 日本語版 SGML-TOOL は未だ十分に日本語化されていない。日本語版
  SGML-TOOL 1.0.9 で変換生成できる形式は html と text (latex) のみであ
  る。日本語版 SGML-TOOL 1.0.9 については JF Workshop Guidance: SGML 文
  書作成  を参照のこ
  と。

  なお、配布形式によっては日本語化された SGML ツールがパッケージとして収
  録されている場合もある。Vine Linux 2.0 には最新版ではないが sgml-
  tools-1.0.9_jp が含まれていて構築の必要は無かった。以下の動作確認は
  Vine Linux 2.0 で行ったものである。

  この文書のソースをコンパイルするには、以下のようにコマンドを実行すれば
  よい。

  o  sgml2txt -f -l ja -c nippon LILO-crash-rescue-HOWTO.sgml    (プレイ
     ンテキストファイルを生成する場合)

  o  sgml2html -l ja -c nippon LILO-crash-rescue-HOWTO.sgml     (HTML
     ファイルを生成する場合)

  o  sgml2latex -l ja -c nippon LILO-crash-rescue-HOWTO.sgml    (latex
     ファイルを生成する場合) 】

  LaTeX 文書を単に PDF ファイルに変換するには sgml2latex (と dvips) の
  Postscript 出力と Acrobat distill ( ) コマンド経
  由で変換する。手順は次の通り。

  ______________________________________________________________________
  bash$ man sgml2latex
  bash$ sgml2latex -l ja -c nippon filename.sgml
  bash$ platex filename.tex
  Enter file name: /usr/share/texmf/tex/latex/misc/linuxdoc-sgml.sty
  Enter file name: /usr/share/texmf/tex/latex/misc/qwertz.sty
  Enter file name: /usr/share/texmf/tex/latex/misc/null.sty
  bash$ platex filename.tex # 目次を生成するため再度latexコンパイル
  Enter file name: /usr/share/texmf/tex/latex/misc/linuxdoc-sgml.sty
  Enter file name: /usr/share/texmf/tex/latex/misc/qwertz.sty
  Enter file name: /usr/share/texmf/tex/latex/misc/null.sty
  bash$ man dvips
  bash$ dvips -o filename.ps filename.dvi
  bash$ distill filename.ps # 未確認 distillは無料ではない。
  bash$ man ghostscript
  bash$ man ps2pdf
  bash$ ps2jpdf input.ps output.pdf
  bash$ acroread output.pdf &
  ______________________________________________________________________

  若しくは、Ghostscript のコマンド ps2jpdf を使用する。 ps2jpdf は
  ps2pdf の日本語対応版である。 ps2jpdf は PostScript ファイルを
  Portable Document Format (PDF) に変換している Adobe の Acrobat Dis-
  tiller コマンドの殆どの機能を実現している。 ps2jpdf は 特別に "出力デ
  バイス" に pdfwrite を指定して Ghostscript を起動する小さなコマンドス
  クリプト (バッチファイル) である。ps2jpdf が使用する pdfwrite デバイス
  は Ghostscript をコンパイルするときの makefile に入れておく必要があ
  る。

  ps2jpdf を使うためには日本語化対応パッチを当ててコンパイルされている必
  要がある (Vine 2.0 の場合 gs510j55.tar.bz2 が当てられていた)。詳細は
  Ghostscript の構築についての文書を参照のこと。 (ghostscript-5.10vflib-
  jpdf を入手すること)。

  【訳注: Vine Linux 2.0では、Vine Plus の /cm_setup ディレクトリにAdobe
  Acrobat Reader セットアップ用パッケージがあり、これを用いればインス
  トールが容易になる。】

  【訳注: latexコンパイル途中のスタイルファイルのフルパス入力が面倒。ど
  なたかやり方を知らないでしょうか ?】

  この howto 文書は次のところにある -

  o  

     【訳注: JF による翻訳は以下の場所にある。】

  また、この文書は次のミラーサイトにもある -

  o  

  o  

  o  

  o  

     【訳注: 和訳のミラーサイトは以下の通りである。】

     o  

     o  

     o  

     o  

     o  

     o  

  o  ネットワーク的に最寄のミラーサイトは次の所にあるので
      近いサイトを選択して
     /LDP/HOWTO/LILO-crash-rescue-HOWTO.html というファイルのあるディレ
     クトリを選択のこと。

  dvi 形式でこの文書を見るには、xdvi プログラムを使用する。xdvi プログラ
  ムは Redhat Linux では tetex-xdvi*.rpm パッケージにあるためコントロー
  ルパネル | アプリケーション | 印刷 | TeX メニュー ボタンを押して探すこ
  とができる。 dvi 文書は次のコマンドで読める。【訳注: Vine Linux 2.0 な
  ら xdvik*.rpm パッケージの中にある。】

               xdvi -geometry 80x90 howto.dvi
               man xdvi

  マウスでウィンドウの大きさを変更することができる。操作するには、矢印
  キー, Page Up, Page Down キーを使う。上級者向けメニューとのトグルに
  は'x'を押す。

  【訳注: 訳者の環境では操作方法が原文と異なっていたので、訳者が確認した
  内容を記載した。】 postscript ファイルは 'gv' (ghostview) または
  'ghostscript' で読むことができる。 Vine Linux 2.0 では、 ghostscript
  プログラムは ghostscript*.rpm パッケージに、 gv プログラムは gv*.rpm
  パッケージに含まれている。このパッケージは gnorpm を起動すれば、
  Applications | Publishing の中にある。 gvプログラムは ghostscript より
  も遙かにユーザーフレンドリーである。 ghostscript と gv
  は、OS/2、Windows 98 や NT のような別のプラットフォームでも利用可能で
  ある。この文書をこれらのプラットフォームで見ることすらできる。

  【訳注: Vine Linux 2.0 以外の ghostscript で日本語が扱えるかどうかは未
  確認。】

  o   から Windows 95, OS/2 などすべての
     OS 対応の ghostscript を入手する。

  次のコマンドで postscript 文書を読める -

                       gv howto.ps
                       ghostscript howto.ps

  Netscape Navigator, Microsoft Internet explorer, Redhat Baron Web
  browser 等 10 種類以上の web ブラウザを使用して HTML 形式の文書を読め
  る。
  latex 文書は、latex の X Window System 用フロントエンドである LyX を
  使って読むことができる。

  【訳注: Vine Linux 2.0 では、lyxはVine Plusに含まれている。】

  【訳注 lyxについては、訳者のやり方が悪いのか、表示できないタグがいろい
  ろあった。】

  4.  著作権

  著作権ポリシーは LDP (Linux Documentation project) に従って GNU/GPL と
  する。 LDP は GNU/GPL プロジェクトである。追加要求事項は著作者の名前、
  電子メールアドレスとこの著作権表示をすべての文書に保持することとする。
  この文書を変更/追加する場合には、この文書のすべての著者に通知を願う。
  この文書に現れる商標名はそれぞれの所有者のものである。

  5.  翻訳履歴

  4.0j, 翻訳, 2000/12/06, 4.0 に追従, 翻訳者 岡本 一幸
  (kokamoto@itg.hitachi.co.jp), 翻訳/検証者 浅田 倫裕
  (mic@p1.coralnet.or.jp)

  5.0j, 翻訳, 2000/12/12, 5.0 に追従, 翻訳者 岡本 一幸
  (kokamoto@itg.hitachi.co.jp), 翻訳/検証者 浅田 倫裕
  (mic@p1.coralnet.or.jp)

  5.1j, 更新, 2000/12/15, 5.0j を校正, 校正協力者 千旦裕司 /
  ysenda@pop01.odn.ne.jp

  6.0j, 翻訳, 2001/2/22, 6.0 に追従, 翻訳者 岡本 一幸
  (kokamoto@itg.hitachi.co.jp), 翻訳/検証者 浅田 倫裕
  (mic@p1.coralnet.or.jp)

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/