• 모닥위키모닥위키
  • 모닥위키
위키
  • 임의열람
  • 주간인기
  • 목록
  • 시리즈
    AAAdddvvveeerrrtttiiissseeemmmeeennntttAdvertisement

    © 2025 modak.wiki All rights reserved.

      듀얼부팅 EFI 부트 파티션 복구

      Linux grub 듀얼부트에서 Windows 11 부팅 매니저를 복구한 작업기록입니다.

      컴퓨터/IT작업기록
      lu

      luasenvy (luasenvy)

      CC BY-SA 4.0 국제규약

      개요

      GNU/Linux Debian 13을 메인 운영체제로 윈도우즈 11을 듀얼부팅 설정하여 함께 사용하고 있었다. 부팅 매니저는 grub을 사용하고 있는데 디스크를 2개로 나누어 각 운영체제를 설치하고 리눅스 디스크의 EFI 부팅 파티션에 설정하여 사용하고 있었다. 최근 데비안 13버전으로 디스크 포맷을 진행하면서 EFI 관련 설정이 모두 제거되어 윈도우즈 디스크로 부팅할 수 없는 현상이 발생하여 복구를 진행하였다.

      파티션

      파티션

      nvme 디스크 두개로 나누어 관리중이다. vfat 형식으로 된 파티션이 부트 파티션으로 리눅스 설치시 포맷을 진행하면서 윈도우즈 부트 파일이 사라진 것이 원인이다. nvme1n1 디스크의 각 파티션들은 예약, 주, 복구 파티션으로 부팅과 관련된 파티션은 존재하지 않는다.

      윈도우즈 EFI 부트 복구

      ntfs 볼륨을 마운트하여 파일시스템내에 위치한 EFI 부트 파일들을 복사하고 디스크 UUID를 지정하는 등의 작업을 진행해봤지만 정상적으로 작동하지 않았다. 가장 확실한 방법은 윈도우즈 설치 USB를 만들어 부트 파일을 복원하는 것이었다.

      윈도우즈 설치 화면에서 CLI 접속

      설치 USB를 만든 후 윈도우즈 설치 화면으로 진입하여 Shift + F10을 입력하면 CLI 입력 화면이 표시된다. 이곳에서 디스크를 확인하고 파티셔닝을 진행할 수 있다.

      예제EFI 파티션
      diskpart 예제

      diskpart 예제

      EFI 파티션

      EFI 파티션

      CMD
      diskpart
      list disk
      select disk X
      list part
      select part Y
      assign letter=S
      exit
      

      CLI에 접속하면 diskpart를 사용할 수 있다. 용량을 확인하여 윈도우즈가 설치된 디스크와 리눅스가 설치된 디스크를 구분할 수 있었는데 동일한 용량을 사용하고 있다면 다른 방법을 사용해야 한다. 'EFI가 위치하는 파티션을 찾아 선택'해야 한다. 나의 EFI 파티션은 2번 디스크의 1번 파티션이다. 파티션을 선택한 후에 assign letter=S 명령으로 S 레이블과 연결한다.

      준비가 끝났다면 bcdboot /v C:\Windows /s S: /f UEFI 명령을 입력하여 윈도우즈 부트 파일 복구를 진행할 수 있다. 듀얼부팅 설정시에 부트 파티션을 양쪽 디스크 모두 만들어 두었다면 이 글을 보고 있을 필요가 없겠지만 동일한 현상으로 인해 복구를 진행하고 있다면 이 명령은 실패할 수 있다.

      복구 실패

      복구 실패

      옵션 /v를 넣어 자세한 실패 이유를 확인할 수 있는데 C 볼륨 레이블에서 복사할 부트파일의 경로를 찾을 수 없기 때문에 발생한 오류임을 확인할 수 있었다.

      볼륨 목록

      볼륨 목록

      diskpart 프로그램에서 list volume 명령을 실행하면 어떤 볼륨들이 연결되어 있는지 확인할 수 있다. C 레이블로 연결된 볼륨이 ssd_storage라는 외장디스크이기 때문에 발생한 오류였다. 아마도 ntfs 형식으로 마운트된 디스크를 자동으로 연결하기 때문에 발생한 문제로 보인다. 이럴때에는 연결 되어있는 C 볼륨 레이블을 제거하고 윈도우즈가 설치되어있는 주 디스크를 연결해야한다.

      CMD
      diskpart
      select volume 0
      remove letter=C
      select volume 3
      assign letter=C
      exit
      bcdboot /v C:\Windows /s S: /f UEFI
      

      레이블 C와 연결된 볼륨을 선택하여 제거한다. 파일 시스템 유형과 용량 등을 확인하여 윈도우즈가 설치되어 있는 정확한 볼륨을 선택하고 C 레이블과 연결한 후 다시 복구명령을 진행하면 된다. 정상적으로 복구가 완료되면 설치 화면을 나가도 좋다.

      os-prober 활성화

      /etc/default/grub
      GRUB_DISABLE_OS_PROBER=false
      

      부트 파일 복구를 완료하였으면 다시 리눅스로 들어와 Grub 정보를 갱신해야 한다. 재설치와 같은 작업으로 인한 복구라면 /etc/default/grub 정보도 초기화 되어있을 것이다. 파일에 주석처리된 GRUB_DISABLE_OS_PROBER=false 부분을 다시 활성화 시켜주고 sudo update-grub 명령을 실행한다.

      grub 갱신

      Update Boot Manager
      sudo os-prober
      sudo update-grub
      

      grub 옵션을 변경한 후에 재부팅하면 자동으로 다른 디스크에 있는 부팅 매니저 설정을 진행하는 sudo os-prober 명령을 사용할 수 있다. 해당 명령을 실행하면 grub이 갱신된다. sudo update-grub을 한 번 더 실행하여 명확히 해주고 재부팅을 진행하면 grub 화면에서 윈도우즈 부팅을 선택할 수 있다.

      초판: 2025. 10. 06. 10:09:14

      © 2025 이 문서는 "CC BY-SA 4.0 국제규약" 라이선스로 배포 되었습니다. 모든 권리는 저자에게 있습니다.

      듀얼부팅 EFI 부트 파티션 복구

      개요
      윈도우즈 EFI 부트 복구
      윈도우즈 설치 화면에서 CLI 접속
      os-prober 활성화
      grub 갱신