GRUBRescueの使用方法
画像クレジット: アグロバクター/ E + / GettyImages
WindowsとMacのユーザーにとって、起動は非常に簡単です。 コンピューターの電源を入れ、WindowsまたはOSXをロードすると、自分がしていることを実行できるようになります。 明らかに、物事はボンネットの下で起こっていますが、通常、それらが何であるかを知る必要はありません。 これは、WindowsやOSXと一緒にOSをインストールすることが多いLinuxユーザーには当てはまりません。また、コンピューターに複数のLinuxオペレーティングシステムをインストールしている場合もあります。 Linuxは ブートローダー と呼ばれる GRUB これらのオペレーティングシステムを管理および起動し、 GRUBレスキュー 問題が発生したときに修正します。
では、ブートローダーとは正確には何ですか?
コンピュータの電源を入れると、一連の手順が実行されます。 最初に行うことは、コンピューター上のチップに組み込まれたいくつかのコードを実行して、適切なハードウェアがすべて存在し、正常に機能していることを確認することです。 次に、通常はメインのハードドライブから始めて、コンピューターのドライブをチェックし、ブートローダーと呼ばれる小さなソフトウェアを探します。 ブートローダーの仕事は、オペレーティングシステムがインストールされている場所を追跡し、オペレーティングシステムを起動して実行することです。
今日のビデオ
シングルブートvs。 マルチブートブートローダー
WindowsとOSXの両方にブートローダーがありますが、通常、それぞれが1つのオペレーティングシステムしかロードしないため、これらの機能は単純です。 Linuxブートローダーは、複数のオペレーティングシステムを追跡し、ユーザーがいつでも選択したオペレーティングシステムをロードできる必要があるため、次のように説明されることもあります。 マルチブートブートローダー. それが名前の由来です。実際、これはの頭字語です。 GRと Unified Bootloader。 ブートメニューから選択した後、GRUBは、選択したオペレーティングシステムのカーネル(OSのコア部分)をロードします。
ほとんどは機能しますが、常に機能するとは限りません
通常、コンピュータは起動を開始し、画面のGRUBメニューで一時停止します。 何もしなければ、コンピュータはデフォルトとして選択したOS(通常はLinux)で起動します。 または、メニューの他のオペレーティングシステムから選択するか、必要に応じてメインOSの古いバージョンに戻すことができます。 ただし、メニューとOSが正しく読み込まれず、に追い出されることがあります。 GRUBレスキュー コマンド・プロンプト。 システムに問題があると思われ、それらを修正しようとする場合は、GRUBメニューからこのオプションを選択することもできます。
GRUBコマンドライン
GRUBコマンドラインは、Linuxでターミナルウィンドウを開いた場合、またはさらに言えば、 指図 Windowsメニューの[ファイル名を指定して実行]ボックスからコマンドを実行します。 これは基本的に、完全なLinuxコマンドラインインターフェイスの簡略版です。 Linuxツールとプログラムの完全なセットを自由に使用することはできませんが、システムで発生する可能性のある一般的な問題のいくつかを修正するためのオプションはたくさんあります。
GRUBバージョンについての簡単な説明
GRUBの問題が発生していて、解決策を探してインターネットをクロールしている場合は、見つけたアドバイスの日付に注意を払うことが重要です。 GRUBの元のバージョンは、10年以上開発されておらず、ほとんどが新しいバージョンに置き換えられています。 古いサイトでは、2つのバージョンを次のように参照しています。 GRUB と GRUB2、新しいサイトではGRUB2を単にGRUBと呼んでいますが、元のバージョンでは レガシーGRUB. レガシーGRUB向けのアドバイスは、現在のシステムでは機能しないことが多く、損傷を引き起こす可能性があります。 この記事では、Ubuntu 18.04 LTSでGRUB2を使用していることを前提としていますが、この情報は現在のバージョンのLinuxに適用されるはずです。
優先GRUBレスキュー修復
GRUBレスキューで使用できる数十のコマンドのそれぞれは複雑であり、それ自体の記事の長さの議論が必要です。 これは簡単に読むには少し多いので、その最も重要な使用法に焦点を当てましょう。システムを起動して実行し、GRUBで問題が発生した場合は修正します。
あなたのドライブは何と呼ばれていますか
GRUBとLinuxOS自体は、ハードドライブに異なる用語を使用しています。 Ubuntuおよびその他のバージョンのLinuxは、システムの最初のハードドライブを次のように参照します。 sda、2番目の sdb 等々。 GRUBレスキューでは、GRUBは最初の物理ハードドライブを次のように参照します hd0、2番目の hd1 等々。 それはすぐに重要になります。
GRUB手動ブート
次の手順に従って、ブートローダーが壊れ、Ubuntu(または選択した他のOS)がロードされない場合に、GRUBレスキューを使用してコンピューターを再起動します。 コンピュータが実行されたら、修正できることは他にもたくさんありますが、それらを実行する前に、まずコンピュータを動作させる必要があります。
- コマンドを入力します ls ハードドライブに含まれているパーティションを確認します。 最初に実際のハードドライブが(hd0)などとして表示され、その後に一連のハードドライブが表示されます。 関連する番号–(hd0、gpt1)、(hd0、gpt2)など–ハード上のパーティションを表します ドライブ。 複数のオペレーティングシステムを使用している場合は、それらが多数存在する可能性があります。
- 次のように入力して、Ubuntuが起動するシステムを特定します ls 繰り返しますが、パーティションを指定します。 パーティションのプレフィックスを含める必要はなく、番号だけを含める必要があるため、一般的なコマンドは次のようになります。 ls(hd0、3) 最初の2つのパーティションを確認し、現在3番目のパーティションを確認している場合。 bin /、boot /、dev /など/やusr /などのわかりやすいLinuxディレクトリが含まれているディレクトリが見つかるまで続けます。 それはあなたが起動する必要があるものです。
- ブートファイルがどこにあるかがわかったので、GRUBにシークレットを許可する必要があります。 上記の例のように、正しいパーティションが(hd0、3)の場合は、次のように入力します。 セットするroot =(hd0、3) GRUBコマンドラインでクリックします 入力.
- コンピュータを起動するために必要なファイルは、そのパーティションのboot /ディレクトリにあるので、入力を開始します linux / boot / vmlinuz コマンドプロンプトで。 Linuxカーネルのバージョンを識別する長い番号を使用して、vmlinuzファイルの正しいバージョンが自動的に入力されます。 を選択 タブ それを受け入れるための鍵。 押す前に 入力、rootコマンドをもう一度追加しますが、今回は言う代わりに root =(hd0、3) –これは最初のハードドライブの3番目のパーティションに対するGRUBの用語です–入力します root = / dev / sda3これは、Linux自体が同じパーティションを識別する方法です。
- タイプ initrd GRUBコマンドラインでもう一度クリックします タブ 提案を受け入れるためのキー–前のコマンドのカーネル番号と一致する必要があります–そして 入力.
- タイプ ブート システムを起動するためのプロンプトで。
プロンプトがGrubRescueと言った場合>
通常、この段階でのコマンドラインプロンプトは次のようになります。 グラブ>、しかし、あなたのシステムが本当に台無しになっているなら、それは言うかもしれません grubレスキュー> 代わりは。 これは、GRUBレスキューシェルの最低限のバージョンを使用していることを意味し、Tabキーを使用してコマンドを完了することはできません。 代わりに、それらの長いバージョン番号を手動で見つけて書き留める必要があります。 それらが同じパーティション上にあると仮定すると、次のようになります。
- タイプ ls(hd0、3)/ boot 画面上の情報を見てください。 あなたが探している2つのファイルはで始まるものです vmlinuz とで始まるもの initrd. それらを書き留めるか、携帯電話のカメラで画面のショットを撮って、数字ごとに注意深く参照できるようにします。
- ここで入力します ルートを設定=(hd0、3) を押して 入力. この時点で、grub>プロンプトが表示された場合にロードされたはずの2つのモジュールを手動でロードする必要があります。 これらは insmod コマンド、「モジュールのインストール」の略。
- タイプ insmod通常 を押して 入力. ここで入力します 正常 インストールしたモジュールを実行します。 最後に、 insmod linux を押して 入力、したがって、ブートファイルの指定に進むことができます。
- 同じように入力します Linux コマンドですが、今回は最初から最後まで手動で入力します。 全体を通して例として使用したのと同じパーティション上のUbuntu18.04システムの場合、次のようになります。 linux /boot/vmlinuz-4.15.0-44-generic もう一度フォローしてください root = / dev / sda3 押す前に 入力.
- 同じことを initrd コマンド、またあなたが書き留めた全体の数を使用します。 この例では、次のようになります。 initrd.img-4.15.0-44-generic。
- タイプ ブート を押して 入力 システムを起動します。
起動後のGRUBの再インストール
この時点でコンピュータは正常に起動し、通常どおりにログインできるはずです。 ただし、これは毎日使用したいプロセスではないため、優先度の1つはGRUBを適切に修正することです。 クリック アプリケーション ダッシュの下部にあるアイコンと入力 ターミナル 検索バーに。 ターミナルウィンドウが開いたら、次のように入力します update-grub を押して 入力. いくつかのことが起こり、それからあなたは言うメッセージを受け取るでしょう 終わり GRUBコマンドラインに戻ります。 タイプ grub-install / dev / sda、パーティションが最初の物理ドライブにあると仮定します。 これでGRUBが再インストールされ、再起動するとコンピュータが正常に起動するはずです。
この時点でおびえている場合
Linuxコミュニティは、一般的に、常に健全なDIYの姿勢を持っていますが、Linuxの世界に不慣れな場合、または単に 最小限の手間でコンピュータを復旧して実行したい場合は、これらの手動による修復が面倒になる可能性があります。 代わりに使用できる自動化されたツールがあり、GRUBとLinuxの実際の動作で手を汚す必要はありません。 ブート修復 例です。
代わりにBoot-Repairを使用する
ブート修復を使用するには、Ubuntuのインストールに使用したDVDまたはUSBドライブが必要です。 お持ちでない場合は、新しいコピーをダウンロードして書き込むのに十分な時間、動作するコンピューターを借りてください。 入手したら、必要に応じてOSをディスクドライブまたはUSBポートに挿入し、コンピュータを再起動します。 を押して起動メニュー画面に入る必要がある場合があります ESC また F2 コンピュータが起動するときに、ハードドライブから起動する前に、DVDドライブまたはUSBドライブを確認するように指示します。 それが終わったら、 Ubuntuをお試しください ディスクのブートメニューから。
Boot-Repairのダウンロードとインストール
ディスクまたはUSBを使用すると、低速ですが完全に機能するUbuntuデスクトップに移動します。このデスクトップでは、コンピューターで通常行うすべてのことを実行できます。 ブート修復プログラムはパーソナルパッケージアーカイブ(PPA)として維持されるため、最初に行う必要があるのは、コンピューターのソフトウェアソースとして適切なPPAを追加することです。
- ターミナルウィンドウを開き、次のように入力します sudo add-apt-repository ppa:yannubuntu / boot-repair.
- 次に、次のように入力します sudo apt update.
- 最後に、 sudo apt install boot-repair プログラムをインストールします。
ブート修復の実行
実際のブート修復ユーティリティを実行するには、次のように入力します。 ブート修復 同じターミナルウィンドウで。 Boot-repairは、システムをスキャンしてGRUBおよびブート関連の問題を探し、ダイアログボックスをポップアップします。 ボックスから、手動設定をいじくり回すか、選択するかを選択できます 推奨される修理 ブート修復で最も一般的な問題を自動的に修正します。 完了すると、通常、修復が完了したことが通知され、クリックして、実行されたすべてのことを説明するログファイルを読み取ることができるリンクが表示されます。 終了するには、コンピュータを再起動し、プロンプトが表示されたら起動ディスクを取り出して、正常に起動するまで待ちます。