GRUBレスキュープロンプト、修理GRUB


30

最近、HDDのパーティションを再作成しましたが、システムのGRUBが破損しています。ブート時にGRUBレスキュープロンプトが表示され、正常にブートするには次の手順を実行する必要があります。

set root=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal
normal

(これらのステップは、こちらの別の投稿で見つかりました!)。

ブートごとにこれを繰り返すのは非常にうんざりです。GRUBを永続的に修正するにはどうすればよいですか?


1
2つの可能性:(1)ブート修復(2)Super Grub Rescue Disk参照:http
CentaurusA

1
ブートするための質問にリストされたステップは私のために働いた。ただし、Linuxのパーティションを正しく覚えておく必要があります。
TheCrazyProgrammer 14

1
他の人がupdate-grubを実行してからgrub-install / dev / sdaを実行することで問題が解決すると述べています。
TheCrazyProgrammer 14

参照カルティク: 『ファイルが見つかりません』のための答えaskubuntu.com/questions/443241/...
SAMIS

回答:


11

GRUBレスキューを修正するには、次の手順を実行します。

  • まず最初に、grubを修正してからOSを起動する必要があります。

    #to start OS-->
    error: unknown filesystem.
    Entering rescue mode...
    grub rescue>

    このようなエラーが最初に表示されたら、「Filesystem」がext2であるかどうかを確認する必要があります

    grub rescue> ls        # type 'ls' and hit enter to see drive partition.
    (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos4) ...   # you will see such things 

これが私たちのドライブです。どちらがext2かを確認する必要があります。

grub rescue>ls (hd0,msdos6)
error: disk 'hd,msdos6' not found.

「Filesystem is ext2」が表示されるまで、別のドライブを探します。

grub rescue>ls (hd0,msdos5)
error: disk 'hd,msdos5' not found.
grub rescue>ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2        # this is what we want

今パスを設定します

grub rescue>set boot=(hd0,msdos2)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal
  • Ubuntuで次のコマンドを実行してgrubを修正します。

    sudo grub-install /dev/sda
    sudo apt-get update
    # to update grub
    sudo apt-get upgrade

OSへのログイン後にgrubを更新する必要があることを確認してください


1
OPは自分のOSを起動する方法をすでに知っています。この答えはもっと簡潔かもしれません。
オタク長老

1
この答えは私にとって役に立ちました。私の問題は元の質問とまったく同じではなかったため、追加情報が役立ちました。
retroj

1
+1これは、KDE ​​Neonのインストールの失敗に関する問題によって修正されました。
ダレンルイス

エラー:ファイル '/boot/grub/i386-pc/normal.mod'が見つかりません
ブーシャン・ダマール

7

/を再update-grub構築するために実行してみます。grub.confgrub.cfg

を使用して試すこともできますがgrub-install、これは役に立たないと思います。

さらに読みたい場合は、まず実行しているバージョン(GRUB 1または2)を確認してください。

dpkg -l | grep grub

GRUB 2を使用している場合は、次のチュートリアルを使用できます。http//www.dedoimedo.com/computers/grub-2.html

もちろん、繊細なメカニズムであるブートプロセスについて話しているので、GRUBを慎重に扱う必要があります。


2
grub-install <correct-drive, i.e. /dev/sda>そしてupdate-grub2最後にUbuntu 15.04で私のためにやった
グレッグクラミダ

6

update-grub組み立てているようですが、MBR /ブートセクタを基本情報で更新grub.cfgするgrub-install(またはgrub-setup?)必要があります-どのパーティションでgrub.cfgファイルとこれらのモジュールを見つけるか


4

GRUBレスキュープロンプトが表示された場合、GRUBブートローダーは、に含まれているパーティションからモジュールを見つけることができません/boot/grub。この理由は、ドライブのMBRレコードに収まるコードが小さいため、その主な目的はブートローダーコードの残りを見つけてロードすることです。モジュールをロードすると、GRUBメニューを表示し、ブートプロセスの残りを処理できます。モジュールが見つからない場合、非常に限られたレスキュープロンプトが表示されます。

したがって、パーティションを再分割した場合、表示されているものはまったく正常であり、ブートローダーがブートモジュールを含むパーティションへの参照を壊してしまいます。

手動で起動できるため、最も簡単な修正方法は、MBRでブートローダーを手動で起動して再インストールし、パーティションへの正しい参照を取得することです。その方法は次のとおりです。

sudo grub-install /dev/sda

これは、ブートすることを前提としています/dev/sda(ほとんどの場合、そうでない場合は、正しいドライブに交換してください)。

このソリューションは、を使用するよりもはるかに簡単boot-repairですが、よくわからない場合は、これがより適している可能性があります。


1
何が起こっているかをわかりやすい言葉で説明するための+1。
モノタスカー14

2

最も簡単な方法は次のとおりです。

sudo apt-get purge grub-pc grub-pc-bin

次に:

sudo apt-get install grub-pc grub-pc-bin

2
これはうまくいく可能性のある大まかなアプローチですが、ブートローダーを再インストールしてパーティションへの参照を更新する方が簡単です(パーティションの再分割によって壊れました)。
bcbc

1

GRUBの救出に失敗した究極の事件を解決:問題を:1. I386-PC ****ノーマルモードが動作しないことが判明していない CPが動作していない 作業search.fileません。すべては、Ubuntu 18.04でも動作する次のコマンドで解決できます。ステップ1:ディレクトリを含むルートフォルダを見つけます。

ls

たとえば、ルートフォルダーが(hd0、gpt4)にある場合、次のように入力します。

これは見た目です

ls (hd0, 4)/

いくつかのファイルまたはフォルダーが表示されます。

私のルートファイルは(hd0、gpt4)にあります

運がよければ、次の手順を実行します。

set root=(hd0, 4)
set prefix=(hd0, 4)/boot/grub/
insmode normal
normal

運が良ければ、それはあなたの問題を解決します。1386-pcフォルダが見つからないなどの問題が発生する場合があります。その場合、grubフォルダーの場所を確認する必要があります。次のような問題がある場合:

boot / grub / i386-pc / normal.modが見つかりません

この場合、grub2フォルダーを見つける必要があります。grub2があり、そのフォルダー内にi386-pcフォルダーがある場合があります。次に、入力する必要があります

prefix=(hd0, 4)/grub2/

それが動作します。grub2がなく、i386-pcフォルダーが見つからなかった場合は、次を実行します。

grub rescue>set root=(hd0, 4)
grub rescue>set prefix=(hd0, 4)/usr/lib/grub
grub rescue>insmode normal
grub rescue>normal

このコマンドを実行すると、grubレスキューモードはgrubメニューに移動します。これで、linuxコマンドを実行できます。

Linuxコマンド

grub>set root =(hd0, 4)
grub>set prefix= (hd0, 4)/boot
grub>insmaod linux
grub>linux vmlinuz.....-generic
grub>intrd (hd0, 4)/boot/...-generic
grub>boot

リカバリモードになります。そこから、いくつかの利用可能な回復オプションから選択できます。解決しない場合は、ubuntu 18.04などのubuntu osをダウンロードする必要があります。次のリンクからダウンロードできます 。ubuntulink

起動可能なドライブを作成し、そのライブディスクでコンピューターを開きます。それはあなたの文書を傷つけません。その方法に関するビデオを参照してください。ここで、i386-pcフォルダーを見つける必要があります。になります

rootContainingDirectory-usr-lib-grub

i386-pcをboot / grub /フォルダーにコピーします。次のコマンドを入力して、そのタイプを克服する許可の問題がある可能性があります。

sudo nautilus

そのディレクトリを右クリックして、所有者をubuntuライブセッションユーザーに変更します

ビデオに従ってください:許可の変更

boot / grubフォルダに貼り付けた後、再起動してusbドライブを削除します。今回は最初のコマンドセットを使用しますが、動作します。cpコマンドが機能している場合は、grubメニューからも実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.