Windows 10とDebianをインストールし、最近はLinux Mintをインストールしました。 GRUB は Debian によって最初にインストールされます。
- 私が知る限り、GRUB設定を「制御」するディストリビューションはシステムに1つだけです(私の場合はDebian)。
- 私のテストによると、これは正しいようです。公開すると、Mintの下では何も変更されず、Mintにも変更されません
grub-update
。ただし、Debianで公開すると、GRUBメニュー(およびMintエントリ)のすべてのエントリが最新の状態になります。GRUB_CMDLINE_LINUX_DEFAULT
/etc/default/grub
grub-update
結局、MintとWindowsだけを維持したかったので、MintにGRUB設定を「制御」させる方法を検索しました。
Mintで実行すると操作が実行されるように見えますが、grub-install
エラーはなく、Mintで行った変更は/etc/default/grub
適用されません。私はまだGRUBにDebianの背景を持っています。
デバイスが指定されておらgrub-install
ず、UEFIシステムにあり、すべてのOSパーティションがブートパーティションを含むディスクにあります。
源泉:
https://www.gnu.org/software/grub/manual/grub/grub.html#Installing-GRUB-using-grub_002dinstall
https://forums.linuxmint.com/viewtopic.php?t=98972
https://itsfoss.com/update-grub/
私は何を逃したことがありませんか?また、各LinuxインストールがGRUBのアップデートをどの程度担当しているかをどのように知ることができるのか疑問に思います。
答え1
システムは UEFI なので、ファームウェアの起動順序で Debian の GRUB が Mint の GRUB より先に来るために発生する可能性が高くなります。
efibootmgr -v
ルートとして実行してこれを確認できます。このBootCurrent
行は、システムの起動に最も最近使用されたブートローダを識別し、システムの起動時に設定されたBootOrder
さまざまな起動オプションが試行される順序を指定し、数字のある行BootNNNN
はN
実際の起動オプションです。
起動オプションを並べ替えるには、カンマ区切りの4桁の起動オプションのリストを必要な順序でefibootmgr -o XXXX,YYYY,ZZZZ...
使用します。XXXX,YYYY,ZZZZ...
ファームウェアエラーを回避するための最も安全な方法は、BootOrder
元の設定で同じブートオプションをすべて維持し、順序を変更することです。
または、BIOSブート設定に行き、「Ubuntu」または「Mint」とマークされたブートオプションを「debian」というオプションの前に移動する必要があります。これにより、上記とまったく同じ効果が得られますefibootmgr -o ...
。
起動順序でMintのGRUBが最初にある場合は、GRUBメニューにMintの背景が表示され、MintのGRUBが現在作業を行っていることを示します。その後、Windowsを起動できることを確認し、Debianパーティションを削除する準備が整いました。
Debian を削除した後は、Remove its boot options を使用してブートオプションも削除する必要がありますefibootmgr -B -b XXXX
。ここで、XXXX は Debian の起動オプション番号です。また、ESPパーティションからDebianブートローダディレクトリを削除する必要があります。通常実行してくださいsudo rm -r /boot/efi/debian
。