Skip to content

Instantly share code, notes, and snippets.

@hywol
Last active July 2, 2024 12:31
Show Gist options
  • Save hywol/dd1233fc50ef7e1e5570ad2df5de2980 to your computer and use it in GitHub Desktop.
Save hywol/dd1233fc50ef7e1e5570ad2df5de2980 to your computer and use it in GitHub Desktop.
GRUB 파티션 변경하기

HP 등 일부 노트북 제조사는 \EFI\Boot\Bootx64.efi 를 기준으로 부트로더를 불러오기도 하는데, 우분투 계열 배포판과 이를 기반으로 하는 배포판 설치 시 한 번이라도 Windows로 부팅하면 계속 Windows로 부팅된다.

참고로 \EFI\Boot\Bootx64.efi를 기준으로 부트로더를 불러오지 않는 메인보드나 일부 제조사의 노트북도 Windows의 기능 업데이트를 하면 리눅스 부트로더가 날아가는 현상이 있긴 하다.

우분투를 설치할 때 부트로더를 따로 지정할 수 있을 거 같지만, 개같은 ubiquity 및 23.04에 도입된 최신 인스톨러는 무조건 첫 파티션에 부트로더를 깔아놓는다. 그래서 부트로더 파티션을 직접 바꿔야 정상적인 우분투 부팅이 가능하다.

물론 \EFI\Boot\Bootx64.efi 를 리눅스 부트로더로 덮어씌워도 되지만, 이건 매우 위험한 방법이라 복잡하더라도 부트 파티션 분리를 해주는 게 가장 안전하다.

당연하겠지만 벽돌이 되는 걸 방지하기 위해 일부러 Windows로 부팅해준 뒤 GRUB 부트로더가 증발했는지 최종확인 후 진행해야 한다.

부트로더 이동 작업 과정

일단 모든 작업은 우분투 계열 배포판에서 진행한다.


sudo blkid | grep /dev/(장치 이름)

먼저 부트로더가 설치될 EFI 파티션의 UUID를 어딘가에 복붙해줘야 한다. 왜냐하면 이 UUID는 /etc/fstab 파일에 기록되어야 하기 때문이다.

sudo nano /etc/fstab

어딘가에 복붙해놓았다면 /etc/fstab 파일을 열어준다.

# /boot/efi was on /dev/(파티션) during installation
UUID=(파티션 UUID) /boot/efi		vfat	umask=0077	0	1

이제 UUID에는 새로운 파티션의 UUID를 입력해주면 된다.

sudo umount /boot/efi && sudo mount /boot/efi
sudo grub-install /dev/(par)

기존의 EFI 파티션의 마운트를 해제하고 새로운 EFI 파티션을 마운트해준 뒤 GRUB을 설치해준다.

sudo update-initramfs -u -k all
sudo update-grub

GRUB를 설치하였으면 initramfs를 업데이트해주고 GRUB 설정 파일 역시 업데이트해준다.

이 과정이 끝났으면 우분투 계열 배포판과 Windows를 번갈아가면서 부팅해보며 정상작동하는지 테스트한 후 가만히 쉬면 끝난다.

결과

HP 파빌리온 x360 11세대 i7 모델 기준 부팅 순서에 ubuntu와 Windows Boot Manager 둘 다 정상적으로 존재하고 부팅도 잘 된다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment