デフォルトのブートパーティションを変更するには?

デフォルトのブートパーティションを変更するには?

ノートブックにAntergosをインストールし、Ubuntuをインストールしました。 Ubuntuは他のLinuxインストールがあることを検出し、Antergosをgrubメニューに追加しました。 grubは起動するたびにUbuntuパーティションからロードされます。他のgrubファイルをデフォルト値に設定するには?

私のパーティションは次のとおりです

  • Antergos ブートパーティション (ここから grub.cfg をロードしようとしています) - /dev/sda1
  • Antergosルートパーティション - /dev/sda2
  • Ubuntuパーティション(grubはここからロードされます) - /dev/sda6

答え1

既存のBIOSシステムでは、BIOSは起動するように設定されたディスクのマスターブートレコード(MBR)を見つけます。これはブートローダプロセスの最初のステップを含むディスクの最初の512バイトで、あなたの場合はグラブになります。このステップの唯一の作業は、/boot を含むドライブで通常、2 番目のステップを見つけてロードすることです。 MBRにはこれらのパスがハードコーディングされており、それを変更するにはMBRが指すようにするシステム(またはシステムのchroot)からMBRを再インストールする必要がありますgrub-install。システムを起動できる場合は簡単ですが、そうでない場合はシステムにlivecdとchrootを使用する必要があります。指示を参照してください。こここれを行う方法について。

ただし、あなたの場合、antergos grub設定にUbuntuディストリビューションは含まれていないため、追加するまで起動できません。これが目的の目標である場合は、デフォルトでantergosを起動するようにubuntu grub設定を構成することもできます。どちらのアプローチも許容され、達成しようとしている目標によって異なります。

答え2

grubをインストールするために使用されますgrub-install/dev/sdagrub/dev/sda1 @SHWの説明通りboot)フラグを有効または設定します。/dev/sda1fdiskparted

bootタグを削除する必要があります(または再/dev/sda6利用)。fdiskparted

答え3

UEFIシステム(以前のBIOSについてはわかりません):

  1. 次のコマンドを使用してefiパーティションを見つけ、対応するUUIDをメモします(数百Mbのパーティションでsudo lsblk -fある必要があります)。vfatこの例では、このパーティションをUUIDと見なします/dev/mmcblkxXXXX-XXXX

  2. /boot/efi/フォルダを作成し、コマンドを使用してEFIパーティションをマウントします。/boot/efi

    sudo mount /dev/mmcblkx /boot/efi
    
  3. 正しいEFIパーティションをインストールしたことを確認し、そのパーティションにフォルダが/boot/efi/EFIあること、およびそのEFIフォルダ内にシステムにインストールされているオペレーティングシステムがあることを確認してください。

    私の/boot/efi/EFIは次のようになります。

    user@user-mypc:~> sudo ls /boot/efi/EFI/
    BOOT  GRUB  linux  opensuse  ubuntu
    
  4. /boot/efiにマウントするEFIパーティションエントリを追加します/etc/fstab

    UUID=XXXX-XXXX /boot/efi vfat utf8 0 2
    
  5. 以下からGRUBをインストール

    sudo grub2-install --target=i386-efi --efi-directory=/boot/efi/ --bootloader-id=GRUB
    
  6. sudo update-bootloader --refresh

  7. sudo grub2-mkconfig -o /boot/grub/grub.cfg

  8. 再起動

関連情報