あるパーティションにubuntu 16.04をインストールし、別のパーティションにubuntu 16.10をインストールしたマシンがあります。/boot/efiをマウントする200mのパーティションがあります。
基本的に、16.04を使用し、16.04までにインストールしたgrubを使用します。
時々16.10になってカーネルを更新します。ただし、16.04のgrubを入力せずに更新することはできません。そのため、新しいカーネルを起動するには、16.10でgrub-installを実行する必要があります。その後、16.04に戻ると、update-grubとgrub-installを実行しますが、これはばかげていると思います。
16.04のGRUBを入力せずに更新するにはどうすればよいですか?
Grub構成ファイルを更新したり、/ bootとして別のパーティションを使用したりすることはできますか?この種の操作は危険ですか?
特定のカーネルではなく、パーティションを直接起動できます。 Debianベース(他のディストリビューションについてはわかりません)は、最新のカーネルと2番目に新しいリンクに/にリンクを追加します。そのため、最新のカーネルへのリンクを起動します。 os-proberをオフにし、ドライブとパーティションのブートスタンザを40_customにコピーします。
現在のgrub.cfgをバックアップしてから、40_customを編集します
Sudo cp -a /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
Sudo nano /etc/grub.d/40_custom
このようなエントリを40_customに追加し、(hd1,1)&sdb1の代わりにドライブとパーティションを使用します:
menuentry "Install on sdb1" {
set root=(hd1,1)
linux /vmlinuz root=/dev/sdb1 ro quiet splash
initrd /initrd.img
}
Grubを編集してos-proberをオフにします。
Sudo nano /etc/default/grub
この行をgrubに追加して、エントリを追加してgrubを更新しないようにします。
GRUB_DISABLE_OS_PROBER=true
そして、すべての変更でgrubを更新します。
Sudo update-grub
古い同様のエントリには、UUIDバージョンもあります。
SBドライブにインストールされたUbuntuをブートするためのGRUB2メニューエントリを追加する方法?
詳細:方法:メンテナンスフリーのカスタマイズされたGRUB2画面を作成する-Cavsfan
https://help.ubuntu.com/community/MaintenanceFreeCustomGrub2Screen
GRUBの基本的な制限について説明しました。Ubuntu(またはGRUBをサポートする他のOS)内でのみ生成可能な構成ファイルに依存しています。通常、GRUBを制御するOS /ディストリビューション内でSudo update-grub
を実行することで問題を解決できます。場合によっては(おそらくあなたのものではない)、これが失敗する可能性のある問題が存在する可能性があり、その場合はさらに厄介なフープジャンピングが必要になります。
いくつかの代替アプローチがあります。
もちろん私は偏見がありますが、今のところ、私が経験している問題を回避する最善の方法はrEFIndです。 OTOH、rEFIndはまだ公式のUbuntuパッケージではありません(将来的にはそうなるはずですが、現在はDebianのテスト中ですので、最終的にはUbuntuに入れるべきです)。セキュアブートを使用する場合は、追加のフープジャンピングも必要です。
さて... GRUBは、Sudo update-grub
コマンドを実行しないと、新しいカーネルがインストールされたことを知ることができますか?したがって、これは避けられませんが、GRUBの再インストールは明示的に行う必要はありません-GRUBメニューの高度なブートオプションから新しいカーネルをブートすることを選択できます。ただし、使用しているメインオペレーティングシステムにGRUBを再インストールすると、ブートメニューの最初のレベルから他のシステムを直接起動できるため、より便利になります。残念ながら、このデュアルブートセットアップを処理する他のオプションはありません...