web-dev-qa-db-ja.com

Ubuntu 16.04で更新した後、私はGNU GRUBになり、そこで動かなくなったように見えます

私はまだこの問題を解決していませんが、質問を更新します。

Ubuntu 16.04で通常のアップデートを実行していましたが、突然GNU GRUB画面が表示されました。ターミナルからではなく、Ubuntuソフトウェアを介して更新していました。 64ビットAMDを実行していますが、このコンピューターにはUbuntuしかありません(デュアルブートはありません)。私が新しく購入したコンピューターは1歳未満です。 Lenovo Ideapad 510です。

日中は、今日も同じ問題を抱えているように見える少なくとも2人の他の人を見ました。

https://ubuntuforums.org/showthread.php?t=2384382

アップグレード後に起動できません

私はこれらの2つと同じ問題を抱えていると思いますが、確かではありません。 2番目のリンクの人は、システムを起動するソリューションを見つけたようですが、いくつかのエラーメッセージが表示されます。ただし、GNU GRUBは非常に複雑であると思われ、それについて学ぶためにどこから始めるべきかを知ることは困難です。言い換えれば、私は彼女が何をしたのか理解していない。

私はこれを見つけました:

https://www.linux.com/learn/how-rescue-non-booting-grub-2-Linux

GRUBの初心者向けの手順を提供しました。カーネルの場所(hd0,2)を見つけることができました。しかし、GRUBからブートするためのここの指示は、最終的に私を助けませんでした。 vmlinuzのバージョンとinitrdのバージョンは同じでなければなりません。しかし、私のコンピューターには多くの異なるバージョンのvmlinuzがあり、どれを選ぶべきかわかりません。そのため、上記のドキュメントには次のように記載されています。「一部のLinuxシステムでは、現在のカーネルとinitrdがルートファイルシステムのトップレベルにシンボリックリンクされています。」

grub> set root=(hd0,2) 
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot 

さて、私はこれを試しました。ターミナルはさまざまなスクリプト(?)で満たされていたので、最初は非常に期待していましたが、そのプロセスは次の奇妙な最後の数行で終了しました。

No init found. Try passing init=bootarg.
[    4.104041] usbcore: registered new interface driver usbhid
[    4.104831] usbhid: USB HID core driver
BusyBox v1.222.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in Shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) [   7.925590] random: nonblocking pool is initialized 

だから私がいる場所があります。誰かが私のために知恵を持っていますか?ハードウェア障害を除外することはできないと思いますが、私の考えでは、この問題は今朝の運命的なUbuntuアップデートから生じたものだと教えられています。

私の質問では、一部のテキストが太字になっています。それがなぜなのかわかりませんが、これが私の質問を読みにくくしてしまったことをおpoびします。

3
Kuns

私は自分の問題を解決したので、自分の質問に答えることにしました。

ここで説明する手順を少し変更することで、GRUBからコンピューターを起動できました。

https://www.linux.com/learn/how-rescue-non-booting-grub-2-Linux

GRUBプロンプトで、「ls」と入力して、すべてのパーティションのリストを取得しました。

リストは次のようになりました:(hd0)(hd0、gpt1)(hd0、gpt2)...

パーティションのリストを取得したら、「ls(hd0,1)/」と入力して、ブートメニューがそのパーティションにあるかどうかを判断しました。この時点で、「gpt」をドロップして、パーティションの番号をそのまま使用できることに注意してください。どのパーティションにブートディレクトリが含まれているかがわかるまで、すべてのパーティションに対してこれを行いました。

私にとっては、ブートメニューが(hd0,2)にあることが判明しました

そこで、「ls(hd0,2)/ boot」というコマンドを入力して、ブートディレクトリ内のファイルのリストを取得しました。

上記のリンクから理解できるように、この点で重要なファイルはvmlinuzというファイルとinitrd.imgというファイルです。ブートメニューの他のファイルの中でも、これら2つのファイルには異なるバージョンが存在するのが普通だと思います。いずれにせよ、私は両方の最新バージョンに注意しましたが、明らかに、vmlinuzとinitrdの両方が同じバージョン番号を持つことが重要です。

それに気づいた後、次のコマンドを入力しました。パーティション番号とバージョン番号は他の人とは異なる場合がありますが、前述のように、vmlinuzとinitrdのバージョン番号が同じであり、「sda」に続く番号がパーティション番号に対応していることが重要です。

grub> set root =(hd0,2)

grub> linux /boot/vmlinuz-4.4.0-89-generic root =/dev/sda2

grub> initrd /boot/initrd.img-4.4.0-89-generic

grub>ブート

そして、明らかなエラーメッセージなしで、起動したという意味で機能しました。再起動できるかどうかはわかりませんが、バックアップされていないすべてのファイルを外部ハードディスクにコピーする機会があります。さらに、おそらく新しいインストールDVDをダウンロードして作成します。 (元のインストールDVDを紛失しましたが、これは問題の一部でした)。そして、再起動を試みます。

そして、はい、私は二度と「Ubuntu Software」から更新しません!

4
Kuns

また、ubuntuソフトウェア->アップデートにも問題がありました。状況によってはGUIが失敗する可能性があるため、端末からシステムを更新する方が常に良いことを学びました。あなたの代わりに、「何か他のもの」オプションを使用して再インストールします

0
Ovidiu Androne