systemd-boot를 사용한 삼중 부팅: Windows 부팅 관리자 없이 Windows 10 및 11을 직접 부팅하는 방법은 무엇입니까?

systemd-boot를 사용한 삼중 부팅: Windows 부팅 관리자 없이 Windows 10 및 11을 직접 부팅하는 방법은 무엇입니까?

최근에 Arch Linux 외에도 집에 있는 PC에 Windows 11을 설치했는데 아내가 시험이 끝날 때까지 전환할 준비가 되어 있지 않았기 때문에 일단 Windows 10을 그대로 유지하여 부팅 상황이 매우 복잡해졌습니다.

  1. 시작 시 수동으로 선택된 항목이 없으면 systemd 부팅 관리자는 3초 동안 기다립니다(Windows 10의 경우 기본값). Arch Linux를 선택하면 모든 것이 정상이고 부팅되지만 Windows를 선택하면 다음과 같습니다.
  2. Windows 11을 부팅한 다음 Windows 10 및 11을 표시하지만 Arch Linux(그렇지 않으면 기본적으로 작동함)를 표시하는 Windows 부팅 관리자를 표시하고 30초를 기다린 다음 마지막으로 부팅한 항목을 부팅합니다. Windows 11을 선택하면 Windows 11이 시작되지만 Windows 10을 선택하면 다음과 같습니다.
  3. 다시 재부팅되고 시스템 부팅 관리자가 다시 표시됩니다. 이제 Windows 10을 선택하면 마침내 시작됩니다.

내 목표는 시스템 부팅 메뉴에 다음 3개 항목만 포함시키는 것입니다. 어떻게 이를 달성할 수 있습니까?

  1. 아키텍처Linux
  2. 윈도우 10(기본값)
  3. 윈도우 11

Windows 옵션을 선택하면 바로 실행됩니다. /boot/efi/Microsoft/Boot폴더를 둘러봤는데 .efi파일 은 bootmgfw.efibootmgr.efi.

$ bootctl 목록

Boot Loader Entries:
        title: Arch Linux
           id: arch.conf
       source: /boot/loader/entries/arch.conf
        linux: /vmlinuz-linux-ck-skylake
       initrd: /intel-ucode.img
               /initramfs-linux-ck-skylake.img
      options: root=/dev/nvme0n1p5 rw nvidia-drm.modeset=1 systemd.unified_cgroup_hierarchy=false

        title: MemTest86
           id: memtest86-efi.conf
       source: /boot/loader/entries/memtest86-efi.conf

        title: Windows 10 (default)
           id: windows.conf
       source: /boot/loader/entries/windows.conf

        title: Windows Boot Manager
           id: auto-windows
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

        title: Reboot Into Firmware Interface
           id: auto-reboot-to-firmware-setup
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

/boot/loader/loader.conf

timeout 3
console-mode max
default windows.conf

/boot/loader/entries/windows.conf

title   Windows 10
efi /EFI/Microsoft/Boot/bootmgfw.efi 

답변1

편집하다:아이디어 - 그럽을 숨기고 특정 키를 누를 때만 활성화

더 많은 옵션을 제공하는 which grub2대신 which를 사용하는 것이 좋습니다 . 이 해결 방법은 길게 누르기 전까지는 "linux" 부팅 관리자( ) systemd-boot를 표시하지 않습니다 (둘 중 적합한 것을 시도해야 함).grub2ESCF4SHIFT

다음에서 다음을 구성하십시오 /etc/default/grub.

GRUB_TIMEOUT=3(기본 옵션이 선택되기까지의 시간(초))

GRUB_TIMEOUT_STYLE=hidden

'GRUB_TIMEOUT_STYLE'

이 옵션이 설정되지 않거나 "menu"로 설정된 경우 GRUB는 메뉴를 표시한 다음 기본 항목을 시작하기 전에 "GRUB_TIMEOUT"에 설정된 시간 초과가 만료될 때까지 기다립니다. 키를 누르면 시간 초과가 중단됩니다.

이 옵션이 Countdown 또는 Hidden으로 설정된 경우 GRUB는 메뉴를 표시하기 전에 GRUB_TIMEOUT에 설정된 시간 초과가 만료될 때까지 기다립니다. 이 때 ESC나 F4를 누르거나 SHIFT를 누르면 메뉴가 나타나며 입력을 기다립니다. 메뉴 항목과 관련된 단축키를 누르면 관련 메뉴 항목이 즉시 실행됩니다. 이러한 조건 중 하나가 발생하기 전에 시간 초과가 만료되면 기본 항목이 시작됩니다. "카운트다운"의 경우 남은 시간을 나타내는 선이 표시됩니다.

때로는 옵션이 제대로 작동하도록 하려면 /etc/grub.d/30_os_prober옵션을 편집하고 변경 해야 한다는 사실을 발견했습니다 .quick_boot="1"quick_boot="0"

update-grub마지막으로 구성을 업데이트하려면 실행해야 합니다 .

관련 정보