grubコマンドラインからオペレーティングシステムを起動する

自宅のコンピューターには、Windows 7とLinux(Arch)の2つのオペレーティングシステムがあります。 さらに、2番目は比較的最近登場しました。 そして、新しい(私にとって)OSに関する特別な知識はありませんでした。 それでも、私はシステムをインストールし、自分用に比較的構成しました。 熱意とプログラマーの好奇心が私を圧倒したので、慣れとして、私はさまざまな種類のパッケージを実験し始めました。 残念ながら、常に詳細を読むとは限りません。

Grubを再配置するか、 Grub2にアップグレードすることにしました 。 (Linuxの精神でパッケージの最新バージョンを保持するのが慣習であるという意見を聞きました... Grub2はここで変更についてよく書かれています 。)

まあ、「ハスティ」インストールの結果、システムはロードを停止しました。 キャッチできるのは、コマンドラインプロンプトだけです。



grub>









Tabキーを押すと、可能なコマンドのリストが表示されなくなります。 これらはLinuxコマンドラインよりも大幅に小さくなっていますが、システムを起動するには十分です。 ここで grubについて読んだ後 Windowsを起動することにしましたが、ここでも自信があります。 これを行うには、OSローダーの場所を指定し、制御を渡す必要がありました。



grub> root (hd0,2) [ . , ]







記録(hd0,2)は、ドライブ番号0(マスター)、パーティション番号2を意味します。

これは、デバイス/ dev / sda2に対応しています(私の場合)。 ディストリビューションに応じて、/ dev / hd2、または他のものを使用できます。 デバイスの番号付けは順番に行われ、(hd0,1)または/ dev / sda1で始まります。

次に入力します:



grub> chainloader +1 [ "+" . hainloader - . NTLDR]

grub> boot








NTLDRは、Windowsブートローダーです。

システムがロードを開始し、これにより結果が得られたため、さらに掘り下げることができます(結局のところ、現在はWindowsが研究対象ではありません)。

再起動してもう一度入力してください。



grub> root (hd0,6)

grub> linux /boot/vmlinuz26 root=/dev/sda6 [ linux- (/boot/vmlinuz26) (root=/dev/sda6)]








ここでは、rootコマンド(hd0,6)とroot = / dev / sda6パラメーターを区別する必要があります。 最初はパーティションをランタイムにマウントします。 2番目は、起動可能なOSのルートがどこにあるかを示しています。 私の場合、カーネルとルートは同じパーティションにありましたが、そうではないかもしれません。



grub> initrd /boot/kernel26.img [ initrd-]

grub> boot








それが私を助けてくれました。役に立たないことを望みます。役に立たなければ助けになります。

ところで、ルートを誤って指定すると、ブートプロセスが失敗し、次のようなプロンプトが表示されます。

[ramfs /]#





ダイヤルできます:

[ramfs /]# ls /dev





デバイスのリストを参照してください(突然私のように忘れた場合)。

gurb2のインストールに関する私の問題は、インストール中にgrubメニューファイル(通常は/boot/grub/menu.lstにあります)を消去しましたが、新しいファイルを作成しなかったことです。 構成ファイルを作成するには、grub-mkconfigを実行する必要がありました。

GRUB設定を失った場合、コマンドの違いは最小限になります。





UPD: grubとgrub2からの起動の違いについて書いた。 おかげでbliznezz



All Articles