기본 부팅 파티션을 변경하는 방법은 무엇입니까?

기본 부팅 파티션을 변경하는 방법은 무엇입니까?

노트북에 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바이트이며, 귀하의 경우 grub이 됩니다. 이 단계의 유일한 작업은 /boot가 포함된 드라이브에서 일반적으로 두 번째 단계를 찾아서 로드하는 것입니다. MBR에는 이러한 경로가 하드코딩되어 있으며 이를 변경하려면 MBR이 가리키도록 하려는 시스템(또는 시스템의 chroot)에서 MBR을 다시 설치해야 합니다 grub-install. 시스템을 부팅할 수 있으면 간단하지만 그렇지 않은 경우 시스템에 livecd 및 chroot를 사용해야 합니다. 지침을 참조하세요.여기이를 수행하는 방법에 대해.

그러나 귀하의 경우 antergos grub 구성에는 우분투 배포판이 포함되지 않으므로 추가하기 전까지는 부팅할 수 없습니다. 이것이 의도된 목표라면 기본적으로 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/mmcblkx.XXXX-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. 재시작

관련 정보