質問: grubからosが起動しない。 grubからosが起動しない。 cent os上に入れたkvmで入れたwebサーバーが 昨日お試しで再起動したところ、再起動出来なくなってしまいました。 症状を出来るだけ書くので、どうやったら正しく起動できそうか、お知恵を貸していただけたら幸いです。 kvmで、自宅で実験するstaginsのwebサーバーと、本番稼働させている外からも見れるwebサーバーの2台を運用しています。 サーバーが重いので、何かしら変なプロセスでも動いているのかと考えなしに再起動をして移行、ウンともスンとも言わなくなったので、詳しく調べてみました。 そうすると、検証環境として使っているサーバーは動いているのですが 本番稼働しているサーバーは、os起動中に以下の様なメッセージが出てきてそこで停止をしてしまっていました。 press any key to continue... press any key to continue... press any key to continue... booting centos (2.6.32-358.2.1.el6.i686) in 0 seconds... 起動の最初からvirsh consoleコマンドで追っていくと、起動時に2つのcentosをgrubで選択を求めてきて(これは先代のサーバーが物理的に故障したときにいろいろやった名残です)そのあと、標準設定されているcentosがしないまま止まってしまっています。 2つ目のcentosを選択しても同じように起動しないまま止まってしまっています。 rebootコマンドを実行するまでは問題なく動いていたのでハードディスクの物理故障ではないのはほぼ断言できます。 そこそこ長期運用していたのでですがsshのポートは公開していないので、rootを取られて何かいじられた可能性も低いと思いますが、80番、443番は開けていたのでapacheの脆弱性を付かれた場合は分かりません。 grubは立ち上がっているけど、osの読み込みに関するログは1行も出ていないので、その間の何かかと思ってgrubのコンソールを叩いた結果以下の結果になりました。 何所のhddにあるか調べた所、(hd0,0)の様なのでそちらで設定しました grub> root (hd0, possible partitions are: partition num: 0, filesystem type is ext2fs, partition type 0x83 partition num: 1, filesystem type unknown, partition type 0x8e grub> root (hd0,0) kernelは新しい数字の方を設定してみました grub> kernel / possible files are: lost+found grub efi config-2.6.32-358.2.1.el6.i686 .vmlinu z-2.6.32-358.el6.i686.hmac system.map-2.6.32-358.el6.i686 config-2.6.32-358.el6 .i686 symvers-2.6.32-358.el6.i686.gz vmlinuz-2.6.32-358.el6.i686 initramfs-2.6. 32-358.el6.i686.img initramfs-2.6.32-358.2.1.el6.i686.img .vmlinuz-2.6.32-358.2 .1.el6.i686.hmac system.map-2.6.32-358.2.1.el6.i686 symvers-2.6.32-358.2.1.el6. i686.gz vmlinuz-2.6.32-358.2.1.el6.i686 grub> kernel /vmlinuz-2.6.32-358.2.1.el6.i686 そのあとsetupコマンドを実行 grub> setup (hd0) checking if "/boot/grub/stage1" exists... no checking if "/grub/stage1" exists... yes checking if "/grub/stage2" exists... yes checking if "/grub/e2fs_stage1_5" exists... yes running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded. succeeded running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub .conf"... succeeded done. 最後にbootをしてみたんですが、何も出力されないまま実行が止まってしまいました。 grub> boot grubのsetupコマンドの実行で出力された文から推測すると、ファイルシステムとファイルは生きているけど、起動に必要な情報が抜けていると推測しているのですが 正直grubに明るくないので自信がありません。 サーバー自体は古いのでdocker等で再構築してもいいのですが データベースの中のブログのログなどはなんとしても復活させたいのでここ2日頑張っていたのですが、どうも独力では難しそうです。 お力をお貸しいただけたら幸いです。
回答: 下記ではどうでしょうか。 grub> root (hd0,0) grub> kernel /vmlinuz-2.6.32-358.2.1.el6.i686 grub> initrd /initramfs-2.6.32-358.2.1.el6.i686.img grub> boot