web-dev-qa-db-ja.com

grubメニューの編集

表示されるGrubメニューを編集して、1行移動し、他の行を削​​除したいと思います。

Ubuntu7.10に付属のInspiron1420があります。新しいドライブが必要になったときに、元のOSであるWindows 7をインストールしたところ、10.04には独自のパーティションが必要だったようです。私はおそらく最初に何をしていたかを正確にチェックするべきでした(有名な最後の言葉)。

私がやりたいのは、7.10行を完全に削除して、そのパーティション内のすべてを吹き飛ばし、10.04の/ homeとして使用できるようにすることです。また、Windows 7の行を上から2番目に移動したいので、Windowsでの起動は、行を最後までたどるのではなく、2回のキーストロークですばやく実行できます。 Grub編集キーを押すと、不明確な指示が出てきました。これはブートローダーなので、あまりひどく台無しにしないほうがいいと思います。

だから、これを行うための最良の方法は何ですか?

3
David Thornley

短い答え: 7.10パーティションを削除し、必要に応じて/etc/grub.d/内のファイルを編集してから、Sudo update-grubを実行します。

長い答え: ブートメニューの編集モードは、通常、回復またはテストを目的とした一時的な編集を目的としています。オプションを永続的に変更するには、GrubをブートブロックにインストールしたOSで起動し、そこでGrub構成を変更する必要があります。

Ubuntu 10.04はデフォルトでGrub2を使用します。これにより、update-grubが実行されるたびにmenu.lstが削除され、grub.cfgが自動生成されます。変更が吹き飛ばされる可能性があるため、そのファイルを手動で編集することはしません(update-grubは、さまざまな更新、特にカーネルを処理する更新の後に自動的に実行されます)。

私が最初にすることは、7.10ではなく10.04パーティションのGrubを使用していることを確認することです。 10.04で起動し、Sudo update-grubを実行するだけで十分だと思います。正常に動作する場合は、正しいグラブを使用しています。そうでない場合は、何をする必要があるかを理解するために使用できるエラーメッセージが表示されます。

7.10エントリを削除するには、そのパーティションをワイプしてからSudo update-grubを実行するだけの簡単な場合があります。ほとんどのGrub2エントリは自動検出されるため、起動可能なカーネルが検出されなくなった場合、リストに表示されません。それでも問題が解決しない場合は、編集するファイルを/etc/grub.d/に保存し、7.10に固有のファイルまたはセクションを探して削除し(最初に編集/削除したファイルを必ずバックアップしてください)、Sudo update-grubを再実行します。何かを台無しにした場合は、バックアップしたファイルを元に戻してSudo update-grubを再実行することで修正できますが、なんとかして10.04エントリを吹き飛ばした場合は、リカバリディスクを起動する必要があります。

並べ替えは複雑です。/etc/grub.d/ファイル の順序と、それらのスクリプト内の順序から取得されます。 Windowsエントリは30_os-proberからのものであるため、名前を11_os-proberに変更して、10_linuxからのエントリの後に置くことができますが、2番目のエントリにはならず、更新で破損するかどうかはわかりません。

最初にWindowsエントリを、次にLinuxエントリ(ただしデフォルト)を使用してもかまわない場合は、代わりに40_custom01_customにコピーしてから、Windowsmenuentryセクションを/boot/grub/grub.cfgから逐語的にコピーしました。これにより、Windowsが最初のエントリとして配置され、次に/etc/default/grubを編集してGRUB_DEFAULT=1を配置し、2番目のエントリ(0から数えます)をデフォルトにします(10.04と仮定)。これにより、ブートメニューのWindowsエントリが複製され、30_os-proberから実行ビットを削除することで重複を排除できますが、後でos-proberからの自動プローブエントリが必要になった場合に備えて、そのままにしておくことをお勧めします。

6
Kowh
  1. Ubuntu 10.04に独自のGrub2を課すように指示します(grub-pc package)まだ起動していない場合は、起動します(インストールプログラムは7.04から既存のGrubを再利用している可能性があります)。それは同じくらい簡単かもしれません

    Sudo update-grub
    Sudo grub-install /dev/sda
    

    ただし、問題が発生した場合は https://help.ubuntu.com/community/Grub2 を確認してください。 7.04について何かを見ても心配しないでください。それは予想され、無害です。

  2. 7.04インストールを削除します。

  3. 実行update-grub10.04システムで再び。今回は、Ubuntu10.04とWindowsの起動のみを提供する必要があります。

  4. 通常のLinuxエントリとレスキューLinuxエントリの間にWindowsエントリを配置する簡単な方法は考えられません。しかし、あなたの状況では、Windowsエントリが最後になると思うので、次のコマンドで起動できます。 EndEnter

おそらくUbuntuのドキュメントを参照する必要があります

の例 menu.lst(Grub Legacyの場合)は、「grubmenu.lst」をグーグルで検索すると見つかります。これが 2番目の結果 です(最初の結果はGrub2に関するものです)。

0
phunehehe