
数日前、Centos 7 のインストールが突然動作しなくなりました。
週末の間、コンピューターの電源を入れたままにしていました。出かける前は何も問題がありませんでした。戻ってきたとき、モニターとコンピューターの電源はまだ入っていましたが、画面は真っ黒でした (ただし、電源は入っていたため、オフではありませんでした)。問題は解決するだろうと思い、再起動しました。Dell の起動画面が表示されましたが、その後は... 同じ問題で、GRUB ブート ローダーがありません。真っ黒です。
Dell の組み込みハードウェア診断ツールを実行したところ、CPU、GPU、RAM、HDD はすべて正常でした。したがって、そこに問題がある可能性は低いです。週末か何かに停電して問題が発生したに違いないと思いました。このサイトに従って、インストールを修復するために、rufus を使用して CentOS-7-x86_64-DVD-2003.iso を 32GB USB スティックにコピーしました。https://www.thegeekdiary.com/centos-rhel-7-how-to-reinstall-grub2-from-rescue-mode/。
実行df -h
状態:
/dev/sda2/ mounted on /boot
/dev/sda1/ mounted on /boot/efi
sda2 はレガシー/BIOS 用、sda1 は UEFI 用だと思います。
最初はレガシー モード (USB は BIOS と UEFI 用に構成されていました) でインストールしようとしました。次の結果にgrub2-install /dev/sda2
なりました:
install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory
grub2-install /dev/sda1
わかりました。UEFI を使う必要があるかもしれないと思いました。そこで再起動して、もう一度試してみました。次の結果が出ました。
インストール: エラー: /usr/lib/grub/x86_x64-pc/modinfo.sh が存在しません。--target または --directory を指定してください
そこで私は「明らかにmodinfo.shはそこではない」と思い、それを探そうとしました。答え、 またはこの答えうまくいきましたが、modinfo.sh がまだ見つかりませんでした。そこで、次のように入力しました:
find / -name modinfo.sh
数分後...何もありませんでした。どうやらこのファイルは私のコンピュータに存在しないようです。困惑しました。usr/lib/grub フォルダを確認しました。何もありませんでした。空でしたls -lrt = total 0
。
そこで、最終的な選択肢として yum を使用することにしました。
yum reinstall grub2-efi grub2-efi-modules shim
ただし、これには大きな問題が 1 つあります。私のコンピュータは職場のプロキシの背後にありますが、証明書はコンピュータ上に設定しています。しかし、ネットワークに「ログイン」できる唯一の方法は、Firefox を開いて、アクセスするためのプロンプトにユーザー名とパスワードを入力することのようです。コマンド ラインからこれを有効にする方法がわかりませんが、以前に何らかの方法でプロンプトが表示されたことがあると思います。「ログイン」しないと、インターネットにアクセスできません。したがって、再インストールでインターネットにアクセスしようとすると、予想どおり失敗し、「could not resolve host: mirror.genesisadaptive.com; unknown error
」などのメッセージが表示され、すべてのミラーが失敗します。
どうやら行き詰まっているようです。この取り付けを外す方法はありますか?
答え1
ステップ1: 実行する
find / -name modinfo.sh
ファイルが存在するかどうかを確認します。
ステップ 2: ファイルが存在する場合は、その親フォルダーを見つけて、そのすべてのコンテンツをシステムがエラーで指定したフォルダーにコピーします (例: ...
/usr/lib/grub/x86
)ステップ3: 実行
grub2-install