Debian GNU/Linux でのブータブル・リカバー CD の作り方.

Debian GNU/Linux でのブータブル・リカバー CD の作り方を紹介する. CD に自分の計算機の / (ルート)以下の情報を全て焼いておき, その CD からブートもできるようにしておく. そうすることで万が一ハードディスクがクラッシュしたとしても, その CD を入れて起動することで元の環境が簡単に復活できる. OS をインストール, 環境設定, ソフトウェアの追加といった作業を 省略することができる.

作業手順

  1. 準備
  2. 計算機のファイルシステム構成
  3. バックアップファイルの作成
  4. resc1440.bin の編集
  5. CD イメージの作成
  6. リカバー CD を起動後の作業

  1. 準備
  2. 計算機のファイルシステム構成
  3. Filesystem         1024-blocks  Used Available Capacity Mounted on
    /dev/hda2            1484386  924100   483576     66%   /
    /dev/hda3            4222295 1643301  2360510     41%   /home
    /dev/hda1            2096160  464064  1632096     22%   /windows
    
    今回は /dev/hda2 以下のリカバーを目的とする(/home/ 以下は無視する).

  4. バックアップファイルの作成
  5. バックアップ・ファイルを作成する. 
    今回は root.boot(dev/hda3 内に存在) というファイルに / 以下のイメージ(/dev/hda1)を書き込む. 
    
    dump コマンドはパーティション単位でバックアップ・ファイルを作成するので, 
     /dev/hda2 のイメージを /dev/hda2 内のファイルに書き出すことはできない. 
    
    バックアップはシングルユーザーモードで行うのが望ましい. 
    
    # dump -0u -s 100000 -f /home/sugiyama/work/epnetfan/root/root.boot /
    
            -s オプションで書き込める量を調節(適当な値を入力). 
            デフォルトは 2300 feet (1 feet = 42 MB) 
           
    	このとき, 出来上がったイメージの大きさは 39260160 byte だった.
    	CD の容量(640 MB)を超えないように注意. 
    
    CD の容量を超えてしまった場合は gzip を用いて圧縮をかける. 
    
    # gzip /home/sugiyama/work/epnetfan/root/root.boot 
    
    

  6. resc1440.bin の編集
  7. loopback デバイスを使って, イメージファイル(resc1440.bin)をファイルシステムとしてマウントする. resc1440.bin 中の linux を /boot/vmlinuz で置き換える. # mount -o loop /home/sugiyama/recover/resc1440.bin /mnt # cp /boot/vmlinuz-2.2.12 /mnt/linux # umount /mnt

  8. CD のイメージの作成
  9. mkisofs を使って CD イメージを作成する. ここでは /home/sugiyama/recover/ 以下に必要なファイルを揃え, それらを CD イメージに変換した. 少なくとも以下のファイルは必要 resc1440.bin restore(スタティックリンクになっているものを用意) gzip(/bin/gzip をコピー) root.boot(dump したイメージ) # cd /home/sugiyama/recover/ # mkisofs -b resc1440.bin -c boot.cat -R -o rcd.img ./ オプション: -b ブートイメージ (ブートフロッピーのイメージを指定) -c カタログ (ブートイメージに対するカタログファイルの指定, mkisofs が自動生成) -R (RockRidge 形式に対応したファイル情報を CD イメージファイルに付加) -o ファイルネーム (イメージファイルの出力先) これにより, rcd.img という CD イメージが作成された. これを CD-R を使って CD に焼けば良い.

  10. リカバー CD を起動後の作業
  11. リカバー CD で起動し, 以下のことを行う. 1. 色の設定, 2. キーボードの設定, 3. ハードディスクのパーティション分け 4. ハードディスクのマウント その後, メニューから "exec shell" を選択し, シェルを起動する. 尚, この時のファイルシステムは /dev/ram0 / /dev/hda2 /target となっている(パーティション /dev/hda2 のみマウントした). リカバー CD をマウントする # mount /dev/cdrom /mnt dump されたイメージを /target 以下に展開する. 1 時間くらい, ひたすら待つ. # mkdir /target/temp # cd /target/ # /mnt/gzip -c -d /mnt/root.boot.gz | /mnt/restore -r -f - -T /mnt/temp 以下のファイルを復旧マシンの環境にあわせて編集する /target/etc/fstab /target/etc/mtab /target/etc/lilo.conf 最後に lilo を実行する # lilo -r /target

履歴: 2000/03/10 杉山耕一朗