- PR -

grubについて

1
投稿者投稿内容
あくやん
会議室デビュー日: 2005/01/31
投稿数: 8
投稿日時: 2005-02-01 19:23
RedHat Enterprise Linux ES (V.3)にてdumpコマンドを使用し、フルバックアップを取得しました。そのバックアップテープを使用し、リストアを行い、再起動したところ、grubのコマンドラインの画面が表示されました。通常はグラフィカルな画面がですのですが、ここまでは通常のリストアでは問題ないのでしょうか?
バックアップを取得した際にローカルPCに/etc/grub.confをコピーしておいたのですが、grubのコマンドラインにて/etc/grub.confに記載されていた内容を打ち込みbootコマンドを実行したところ、正常に起動しません。(またgrubのコマンドラインが表示されます。)
リストアは以下のように行いました。
1.CDからレスキューモードで起動。(その際、ネットワークの設定はしていません。)
  また、SYSIMAGEをマウントしていません。
2.パーティションのフォーマット(mke2fs -j -L LABEL=/boot /dev/sda1)
                (mke2fs -j -L LABEL=/ /dev/sda2)
3.仮のディスクにマウント(mount -w /dev/sda1 /work/boot)
(mount -w /dev/sda2 /work/root)
4.リストアを実行(cd /work/root ; restore rbf 64 /dev/nst0)
(mt fsf ; cd /work/boot ; restore rbf 64 /dev/nst0)

5.再起動し、再度レスキューモードで起動
6.SYSIMAGEをマウント
7.ルートを変更(chroot /mnt/sysimage)
8.grubの設定(grub-install --root-directory=/boot /dev/sda)
9.chrootを解除し、再起動

上記のリストア方法に誤りがあるのでしょうか?
grubのコマンドラインでは以下の情報を入力しました。
 ・splashimage=(hd0,0)/grub/splach.xpm.gz
 ・password <パスワード>
 ・kernel /vmlinuz-2.4.21-15.ELsmp ro root=/dev/sda2
 ・kernel /vmlinuz-2.4.21-15.ELsmp ro root=LABEL=/
 ・initrd /initrd-2.4.21-15.ELsmp.img
上記を入力後、bootと入力したところ、再起動されましたが、再度grubのコマンドラインが表示されます。/etc/grub.confには他に入力するような値がありません。
システムを正常に起動させるにはどうしたらよいのでしょうか?
ご教示ください。宜しくお願いします。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-02-01 19:41
通常、 /etc/grub.conf は、ただのシンボリックリンクですので、本体の
/boot/grub/grub.conf を中心に考えるべきではないでしょうか?

又、初回インストール時に /boot/grub 配下に stage1 と stage2 という
ブートセクタのイメージとカーネル・ブートに必要な情報が詰まった
ファイルがあるんで、こいつら必須ファイルも前回と全く同じファイルシステム・
ディレクトリ位置に置いてやる必要があるのではないでしょうか?

後、前回と違ったファイルシステムに対応するパーティション番号やと上手く
いかんでしょう。
あくやん
会議室デビュー日: 2005/01/31
投稿数: 8
投稿日時: 2005-02-01 19:49
返答ありがとうございます。

再度OSを再インストールし、ご指摘のあった以下のファイルを確認してみようと思います。
 ・/boot/grub/grub.conf
 ・/boot/grub/stage1
 ・/boot/grub/stage2

今回は、パーティションの切り直しは行っておらず、各ファイルシステムをフォーマットし、リストアを行いました。このような場合もファイルシステムに対応するパーティション番号は変更されてしまうのでしょうか?
私はLinux初心者なのでわからないことが多く、皆様の知恵をお貸しください。
宜しくお願いいたします。
hatchy
会議室デビュー日: 2005/02/08
投稿数: 2
投稿日時: 2005-02-08 10:39
http://www.itmedia.co.jp/help/tips/linux/l0556.html
↑のことを考えると
grub-install --root-directory=/boot /dev/sda
というのは/dev/sda1に/bootがあった場合のような気がする。
上記リンクのように
grub-install --root-directory=/ /dev/sda
ならうまくいくのでは?
理由はたぶん/dev/sda1上は/がシステムでmountされたときの/bootなわけだからだと思います。
1

スキルアップ/キャリアアップ(JOB@IT)