manekineko倉金家ホームページ

趣味の部屋/サーバー構築メモ その4

CentOS7 アップデートで起動しなくなる

2020年8月9日
2020年7月末、アップデートがありいつものように# yum updateを実行したらものの見事に起動しなくなってしまった。幸いにも同じ現象で起動しなくなり早速対処法をアップしてくださった方がいて、おかげて回復することができました。ありがとうございます。
こんなことはもうないとは思いますが念の為記録しておきます。


見事に起動しなくなる。
7月末、Centos7サーバーのyumさんよりアップデートのお知らせメールがきた。
いつものように
# yum update したが、その中にgrub2があった。
grub2というのはCentOS7サーバーの起動に使っているブートローダーで、ずっと昔アップデートで起動しなくなった記憶が一瞬頭をよぎったが、そのままアップデートをやってしまった。
(一週間ほど待って問題なさそうかネットで調べてからやればよかった。)

そして再起動すると、起動メニューがでない。
BIOSからWindows10は起動できるが、CentOSはBIOSからも起動できない。ブートローダーが完全におかしくなっており、重症。

しかし幸いなことに去年の末にサーバーはヘテムルのレンタルサーバーに移動、今はこのCentOS7のサーバーはバックアップやテストサーバーも兼ねてふだん使いのパソコンとして使用しており、動かなくても格段の支障はない。

他のことで忙しいこともありしばらく放置。そのうち対処法がネットに上がってくるだろう。

対処法が見つかった?
一週間以上たってネットで調べてみるとやはり同じ現象で起動しなくなり、対処法を見つけて公開してくださっているサイトを見つけた。
https://4thsight.xyz/20175
なんともありがたいことだ。

さっそくやってみると細かいところは少しちがうが基本的にこのやりかたで対処ができた。
やったことは以下のとおり。

CentOS7インストールディスクをレスキューモードで起動する。
このとき chroot /mnt/sysimage でもとのシステムにつながるオプション(Continue)を選んでおく。

上記サイトの情報ではインターネット接続の設定は接続情報のセットからやればよいようだったが、私の場合はその前の接続デバイスの登録からやらなくてはならなかった。おそらくルーターのセットとのからみで起動時にどこまで自動的にセットされるかが異なるのであろう。

# nmcli device でデバイス名を確認。私の場合は"eno1"を使う。
eno1を接続デバイスとして登録する。
# nmcli connection add type ethernet ifname eno1 con-name eno1

接続情報をセットする。値はルーターとの整合で。
# nmcli connection modify eno1 ipv4.method manual ipv4.addresses "192.168.0.70/24 192.168.0.1" ... 使ったレスキューディスクのnmcliのバージョンが古いと見えてipv4.gatewayは使えなかった。

nameserverを登録。ただしchrootのあと再度やらなくてはならなかったのでここでやるのは意味があったのかよくわからない。
# echo "nameserver 192.168.0.1" >/etc/resolv.conf ...ルーターのdns機能を使用。

# nmcli connection up eno1 ... 接続。

元の(起動しなくなった)システムに切り換える。
# chroot /mnt/sysimage

ここでyumを試してみたらミラーサイトにつながらなかったので調べたらnameserverを再セットしなくてはならないようだ。... 私の場合nameserverは自分でリゾルバを建ててそれを使っていた。
# echo "nameserver 192.168.0.1" >/etc/resolv.conf

ひとまず不具合パッケージをダウングレード。
# yum downgrade shim\* grub2\* mokutil
うまくダウングレードできたようだ。再起動をかけたら無事起動。よかったよかった。

変更した/etc/resolv.confなどを元に戻し、だめだったgrub2等は不具合を修正したパッケージになっているようなのでアップデート。もしかするといったんダウングレードせずに直にアップデートしてもよかったのかもしれない。
# yum update
grub2はじめその他いろいろアップデートされた。

... OK! めでたしめでたし。

4thsight.xyzさん、ありがとうございました。



追記:その後OSをLinuxMintに(2022年2月)
その後しばらく単なるデスクトップパソコンとして使っていたが、CentOSは残念ながらデスクトップパソコンとしては使い勝手はあまりよくない。もっともとサーバー用というメインの使用ターゲットのちがいによるものなので当然か。

どうもUBUNTU系の方がよさそうだ。
UBUNTU系もいろいろ試したが LinuxMintがとても使いやすいことがわかった。

で、LinuxMint Xfceをインストールして今は使っている。ふだん使いのパソコンとしてはとても使いやすい。
しいて言えば欠点は、設定などでrootでの作業がしにくいこと。いちいちsudoしなくてはならない。

20年間VineLinuxやCentOSでは直接rootで作業をし続けてきて特に問題はなかったしとてもやりやすかったが、今ははやらないらしい。