클라우드 VM(Azure)에서 Grub을 수정하는 방법

클라우드 VM(Azure)에서 Grub을 수정하는 방법

이 작업을 수행하는 데 약간의 문제가 발생 do-release-upgrade하여 grub 부팅이 종료되었습니다.

온라인에서 이 문제를 해결하는 방법에 대한 단계를 찾을 수 없기 때문에 아래에서 내 의견을 통해 답변해 드리겠습니다.

답변1

먼저 설치하세요VM-수리 확장파란색을 위해. 다른 클라우드 공급자를 사용하는 경우 이러한 단계를 수동으로 수행해야 합니다(OS 디스크를 보조 가상 머신에 연결).

az extension add -n vm-repair

그런 다음 "손상된" OS 디스크를 데이터 디스크로 마운트하여 복구 가상 머신을 생성합니다(가상 머신이 중지되었는지 확인).

az vm repair create -g MyResourceGroup -n myVM \ 
  --repair-username USERNAME --repair-password PASSWORD \
  --verbose --associate-public-ip --distro ubuntu20

myVM은 업데이트를 적용하려는 가상 머신의 이름입니다. 배포판이 동일한 grub 버전을 지원하는 경우 정확히 일치할 필요는 없습니다.

복구 가상 머신을 만든 후 해당 공용 IP를 찾습니다(또는 직렬 콘솔을 통해 연결).

ssh -o 'UserKnownHostsFile /dev/null' USERNAME@PUBLIC-IP

연결 후:

sudo -s
mkdir /p2

# mount the disk to repair, see `lsblk`
# (on Azure this is usually sdc1)
mount /dev/sdc1 /p2

# now mount the efi to boot
mount /dev/sdc15 /p2/boot/efi

# prep for chroot
for i in /dev /dev/pts /proc /sys /run; do mount -B $i /p2$i; done

# chroot into the mounted disk
chroot /p2

# install grub
grub-install /dev/sdc --boot-directory=/boot

당신이 끝나면

az vm repair restore -g MyResourceGroup -n MyVM --verbose

이제 원래 가상 머신을 다시 시작할 수 있습니다.

관련 정보