기본 콘텐츠로 건너뛰기

UEFI Shell bcfg: Add & Remove Boot Entries (Fix OpenCore Boot Recovery)

Older motherboards and some UEFI firmware can't create boot entries automatically even when a bootloader exists on the EFI System Partition. When OpenCore won't boot without the USB stick, or its entry disappears from the BIOS boot list, you can add the NVRAM boot entry directly with the bcfg command from a standalone UEFI Shell.

Revised and updated as of 2026.
The core commands from the original post still hold, but I've added map -r to re-scan the filesystems, path verification, reordering boot entries, and pre-flight precautions. I also fixed the path separator that looked like a won sign on screen to the actual UEFI backslash (\).

When to use this method

  • The bootloader is on the EFI partition but doesn't appear in the BIOS boot list
  • Removing the OpenCore USB stops the internal disk from booting
  • You want to clean up duplicate Clover/OpenCore boot entries or change their order
  • The motherboard setup screen has no option to select an EFI file directly
Caution: bcfg directly modifies Boot#### and BootOrder in the firmware NVRAM. Deleting the Windows Boot Manager or the entry you currently boot from by mistake may require a recovery USB. It's safer to first photograph the output of bcfg boot dump -v.

OpenShell.efi vs. a standalone UEFI Shell

The OpenShell.efi you run from OpenCore's Tools is also a UEFI Shell, but it runs after OpenCore's drivers and NVRAM-related settings have already been applied. If your goal is to repair the firmware's actual boot entries, prefer the motherboard's built-in Shell, or a standalone UEFI Shell booted directly from EFI\BOOT\BOOTX64.EFI on a FAT32 USB.

Especially in setups that use OpenCore options like RequestBootVarRouting, the boot variables visible inside OpenCore may behave differently from the values the firmware manages directly. Rather than the old post's phrasing of "communicating with a virtual BIOS," it's more accurate to understand that working in a Shell before OpenCore intervenes makes the results easier to verify.

What you'll need

USBFormat as FAT32 and place the UEFI Shell executable at EFI\BOOT\BOOTX64.EFI
Bootloader pathA typical OpenCore default bootstrap is EFI\BOOT\BOOTx64.efi
Firmware settingsBoot the USB in UEFI mode. If the Shell file isn't signed, you may need to temporarily disable Secure Boot
Recovery prepPhotograph the existing boot list and keep a known-good bootable USB on hand

If your motherboard has a built-in UEFI Shell, you can use that feature without a separate USB. If bcfg isn't recognized in the Shell, that Shell build simply doesn't include the command, so you'll need to prepare a UEFI Shell that supports bcfg.

Adding an OpenCore boot entry with bcfg

  1. Refresh the filesystem mapping

    When the Shell starts, first re-scan the currently connected disks and partitions.

    map -r
    map

    Entries shown as FS0:, FS1: are filesystems the Shell can access. If you've reinserted the USB or changed the disk layout, always run map -r first.

  2. Find the EFI System Partition

    Switch to each filesystem and check whether it has an EFI folder.

    FS0:
    ls
    
    FS1:
    ls

    On a partition where OpenCore is installed, you'll usually see both EFI\BOOT and EFI\OC folders. Here we'll assume FS1: is the internal disk's EFI partition as an example.

  3. Verify the bootloader file actually exists
    ls FS1:\EFI\BOOT\BOOTx64.efi
    ls FS1:\EFI\OC\OpenCore.efi

    Don't register a guessed path — always confirm the file with ls. In OpenCore's official structure, BOOTx64.efi acts as the initial bootstrap and loads OpenCore.efi from the same EFI partition.

  4. Check the current boot list
    bcfg boot dump -v

    Adding -v makes it easy to see the device paths too. Before inserting a new entry at position 0, also check whether the same OpenCore entry already exists.

  5. Add the OpenCore entry
    bcfg boot add 0 FS1:\EFI\BOOT\BOOTx64.efi "OpenCore"

    0 means putting it at the very front of the BootOrder. If you want another OS to take priority, check the current list and use the appropriate position number. If you need a direct-launch configuration you can register FS1:\EFI\OC\OpenCore.efi, but for a typical install structure, using the default bootstrap path offers better compatibility.

  6. Confirm the result and exit
    bcfg boot dump -v
    exit

    After rebooting, check whether OpenCore appears in the BIOS boot list.

Deleting duplicates and changing the order

Remove an unneeded boot entry

bcfg boot dump -v
bcfg boot rm 3

After rm, use the position number you confirmed in the list printed first. Don't just see a variable named Boot0003 and blindly type rm 3 — go by the order that the current bcfg boot dump shows.

Change the boot order

bcfg boot mv 3 0

This moves the entry at position 3 to position 0, i.e. to the front. You can adjust the order with mv without deleting and recreating it.

When it disappears again after registering

  • The firmware may fail to save NVRAM boot variables, or it may remove an invalid entry on every boot.
  • A CMOS reset, a BIOS update, or another OS's bootloader recovery can change the BootOrder.
  • In that case, keeping the removable-media default path EFI\BOOT\BOOTx64.efi helps the firmware find the file even without a separate NVRAM entry.
  • For OpenCore, it's good to also check the official docs' LauncherOption and the install structure.

Quick command summary

map -r
FS1:
ls FS1:\EFI\BOOT\BOOTx64.efi
bcfg boot dump -v
bcfg boot add 0 FS1:\EFI\BOOT\BOOTx64.efi "OpenCore"
bcfg boot dump -v
exit
Two things matter most.
First, don't treat a number like FS1: as a fixed value — verify the actual EFI partition every time. Second, always keep a verbose list before any deletion. Following just these two greatly reduces the risk of touching the wrong disk or the Windows Boot Manager.

Official references

댓글

이 블로그의 인기 게시물

스노우쿨링 장소로 유명한 마우이 카팔루아 비치 (Kapalua Beach)

마우이 북쪽에 카팔루아 비치라고 유명한 스노우 쿨링 장소가 있습니다. 주차장은 카팔루아 비치를 따라 트레일 코스가 있는데 비치 이용자 및 트레일러를 위한 무료 주차장이 있습니다.  아침 9시 이전에 가면 주차장이 널널 합니다. 주차장은 점심 시간대쯤 되니 만차가 되네요. 주차장을 통해 화장실쪽으로 걸어들어오면 해변을 만날 수 있습니다. 화장실 앞에 짠물을 헹궈내는 샤워기가 있고 해변 앞에도 있습니다. 해변쪽 보다 화장실 앞에 있는게 수압이 더 쎄더군요 숙소가 이 근처라서 아침일찍 산책길에 들렸더니 너무 이른 아침이라서 그런지 사람이 별로 없네요. 시간이 지나면 사람들이 갑자기 많아집니다. 파도가 약간 있습니다. 저 파도치는데는 물고기가 없습니다. 깊숙히 들어가야 합니다. 아침 밥을 먹고 아이들을 데리고 이곳에 다시 왔습니다. 숙소에서 비치타월을 들고 10여분 정도 걸어 왔습니다. 물고기가 별로 없어서 아 여기가 왜 마우이 최고의 스노우 쿨링 장소 일까 하고 후회 하고 있는데 저 돌 가까이 가봅니다. 우와 물고기가 돌사이에 제법 많네요 그러나 약간 파도가 있어서 돌에 너무 가까이 가면 부딪힐 위험이 있습니다. 스노우 쿨링 좋은 장비를 마련하지 못해서 특히 구명쪼기가 없어서 깊숙히 못 들어가봤는데 저는 약간의 수영실력으로 구명조끼 없이 물안경 하나로 깊숙히 헤염쳐서 사람들이 몰려있는 바다 깊숙히 들어가 봅니다. 물고기가 제법 많습니다. 특히 뼈만 있는 투명한 물고기는 인상적이네요. 아이들을 데리고 그나마 발이 조금 닿는 돌 옆 가까이 가서 겨우 물고기를 보여줍니다. 구명 조끼도 없이 아이들 발이 닿지 않아 불안 불안 하면서 옆에서 계속 아이가 관찰 할 수 있도록 보호 해줍니다. 구명조끼등 스노우 쿨링 장비가 있었으면 훨씬 좋았을텐데 조금 아쉬웠습니다. 해변을 따라 트레일 코스에 대한 안내입니다. 이곳엔 고급 리조트들도 많으니 구경 삼아 트레일 하는것도 좋을 것 같습...

샌프란시스코 길로이 아울렛 Gilroy Outlet

샌프란시스코 여행때 길로이 아울렛을 한국 분들은 참 많이 들리시죠. 미국 브랜드 옷을 싸게 살수 있는것 같습니다. 그러고 보면 이런 현상이 벌어지는 이유가 한국 백화점에서 미국 브랜드 옷을 2배나 가까이 비싸게 팔고 있다는 점입니다. 심한경우 3배나 비싸죠... 반성 해야 합니다. 길로이 아울렛은 샌프란시스코에서 101번 고속도로를 타고 한참 내려가야 합니다. 2시간쯤 내려가야 할껍니다. 고속도로 근처에 있어서 찾기는 쉬울꺼예요. 샌프란시스코는 약간 가을날씨 같은데 길로이까지 내려오면 낮에 오면 햇볕이 뜨거워 완전 여름입니다. 길로이 아울렛은 아래 제가 블로그에 썼듯이 하와이 와이켈레 아울렛과 같은 운영회사 인가 봅니다. http://comhack.blogspot.kr/2018/02/blog-post_18.html http://www.premiumoutlets.com  여기서 회원을 가입하고 쿠폰북을 출력하시거나 회원을 증빙하는 바우처 같은거 출력해가서 Information Center 로 가셔서 쿠폰북을 교환하는 것이 할인율이 좋죠 하와이 와이켈레와 마찬가지로 가성비는 코치가 좋습니다. 그리고 크록스도 좋습니다. 제가 갔을땐 Buy one, get one free 행사를 했습니다. (예전 블로그에서도 썼듯이 1+1 은 콩글리쉬 입니다. 1+1 = 2 입니다. ㅠㅠ) 크록스에서 아이들 슬리퍼 한켤레 샀는데 하나 더 가져오라고 합니다. 그런데 두개 신발중 비싼 신발 가격으로 계산이 되니 아울렛에서 Buy one, get one free 행사에서 가장 좋은 팁은 비슷한 가격대 신발이나 옷을 골라오는게 좋습니다. (직원이 계산시 설명해줘요 친절하게~ 비슷한 가격으로 가지고 오시는게 좋다고 ^^) 크록스 사이즈는 미국 단위로 암호같아서 우리나라 센치 단위로는 잘 모를꺼예요 미리 알고 가면 좋아요  https://www.crocs.co.kr/size-charts/fit-guide.html 저는 미리 정보를 좀 알고가...

하와이 로컬 슈퍼마켓 푸드랜드 팜스 (Foodland Farms) 연구

빅아일랜드 코나 지역에서 힐튼 와이콜리아 빌리지 호텔에 묵었지만 호텔에 딸려있는 레스토랑은 줄도 길고 너무 비싸고 맛도 없다는것을 금방 알게 됩니다. 특히 팁 세금 까지 합하면 아이들과 도니 &토니스 피자에서 피자 한판 먹는데 7만원이 넘어요. 저는 비용 때문에 호텔에 있는 고급 레스토랑을 자주 가진 않았는데 몇군데 가본결과 가성비는 별루 였던것 같습니다. 맛도 없는데 다른 블로그에서 왜 자랑질 하는지 모르겠어요 ㅠㅠ 뷰는 분위기 있고 좋았던것 같습니다. 코나지방이면 코나 공항 근처까지 가서 코스트코 피자가 10달라 선이니 코스트코 피자사오는게 이게 더 맛있고 양도 풍부합니다. (코스트코 피자 정도는 코스트코 회원 안들어도 살수 있어요. ) 연구도중 하와이 로컬 슈퍼마켓 Foodland Farms 를 알게 됩니다. 코나 힐튼에서 차로 15분거리입니다. 미국에서 슈퍼마켓이 15분 거리에 있다는것은 행운이죠... 빅 아일랜드는 뭐든 엄청 멀어요 Foodland Farms 가 좋은 점은 한국 입맛에 맞는 도시락을 팝니다. 가격도 괜찮습니다. 가끔 멀리 호텔을 나와서 점심 피크닉할때 도시락가져가면 피크닉테이블에서 맛있게 먹을수 있습니다. 팁도 필요 없어요 ^^ 미국은 회원제 슈퍼마켓이 많습니다. 대표적으로 코스트코죠 그런데 연회비를 받네요 코스트코 연회비는 한국이 제일 쌉니다. 푸드랜드도 회원제이긴한데 회원을 들지 않아도 구매 가능합니다. 회비도 없어요 자주 가실꺼면 회원을 들고 maikai card를 만드는게 할인율 측면에서 좋을것 같습니다. https://www.foodland.com/maikai-card 아래와 같이 생겼고 카운터나 사무실가서 만들어 달라고 하면 바로 만들어 줍니다. 바로 사용 가능합니다. 앱도 있어서 앱의 바코드를 제시하면 되는데 한국 앱스토에서는 다운로드가 안되네요. Maikai 카드를 만들면 기본적인 여러가지 품목에 회원 할인을 해주고 (아마도 푸드랜드 도시락이나 여기서 만드는 음식들은 ...