듀얼 부팅 Ubuntu 및 Windows 8. w8은 grub 쉘을 통해 시작되지만 메뉴에서는 시작되지 않습니다.

듀얼 부팅 Ubuntu 및 Windows 8. w8은 grub 쉘을 통해 시작되지만 메뉴에서는 시작되지 않습니다.

Ubuntu 12.10 및 Windows 8이 설치된 노트북이 있습니다. 시스템에 Windows 8을 먼저 설치한 다음 Ubuntu를 설치했습니다.

Ubuntu를 설치하는 동안 설치 프로그램은 기존 파티션이 있음을 인식했지만 해당 파티션에 있는 운영 체제를 확인하지 못했습니다. 여유 공간에 또 다른 ext4 파티션을 만들고 Ubuntu를 설치했습니다. 처음에는 grub이 Ubuntu용 항목만 추가했고 Ubuntu는 정상적으로 실행되었습니다.

이제 w8 설정을 Grub에 수동으로 입력하고 수정하고 싶습니다./etc/grub.d/40_custom:

#!/bin/bash
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 8" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    #set root='(hd0,gpt1)'
    search --fs_uuid --no-floppy --set=root --hint-bios=hd0,gpt2 --hint efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2
    chainloader /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
}

이 명령을 사용하여 찾은 검색 문자열(마지막에서 두 번째):sudo grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

이제 grub 구성을 업데이트하고 재부팅한 후 Windows 8 항목을 선택하면 다음과 같은 오류가 발생합니다.

error: unspecified search type
error: file '/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi' not found

Press any key to continue

그러나 우분투에서는 그렇게 한다면ls /boot/efi/EFI/Microsoft/Boot/b*

/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
/boot/efi/EFI/Microsoft/Boot/bootmgr.efi
/boot/efi/EFI/Microsoft/Boot/boot.stl

/boot/efi/EFI/Microsoft/Boot/bg-BG:
bootmgfw.efi.mui
bootmgr.efi.mui

이제 Windows 8 항목 편집을 누른 e다음 F2grub Shell을 입력하도록 선택하면 ls /boot/efi실행하려고 해도 실제로 파일이 표시되지 않습니다.

흥미롭게도 이 시점에서 이것을 입력하면 exitWindows 8이 시작됩니다.

fdisk -l인식하는지 알려주세요./dev/sda1 as GPT partition

Grub이 "메뉴에서 직접" 작동하도록 하려면 어떻게 해야 하는지 아이디어가 있나요?

답변1

구경하다다시 찾기이는 매우 유용하고 유연합니다(그리고하다ALT Linux에 UEFI 지원을 추가하는 동안 테스트에서 win8을 부팅했습니다.

이는 부트 로더가 아니라 부트 관리자이므로 WBM과 GRUB 중에서 선택할 수 있으며 둘 다 실제로 적절한 커널에 체인 로드할 수 있습니다.

답변2

검색 줄(끝 부분)에 시스템 장치의 UUID를 제공해야 합니다. 그리고 EFI를 사용하여 부팅했으므로 --bios 태그를 제거하십시오.

UUID를 찾으려면 다음 명령을 실행하십시오.

sudo grub-probe  --target=fs_UUID /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

답변3

문제는 루트를 "(hd0,gpt1)"로 설정했다는 것입니다. 저는 /boot/efigrub이 있는 곳(디렉토리)을 가정합니다.

그러므로 글쓰기는 존재하지 않을 가능성이 높은 글쓰기 /boot/efi/...에 해당합니다 ./boot/efi/boot/efi...

너는 /boot/efi/EFI/...로 바꿔야 해/EFI/...

답변4

현재 동일한 문제에 직면하고 있지만 grub 명령에 대해 잘못된 결과가 표시되는 이유를 알아낼 수 있습니다. 실제로 잘못된 .efi 파일 경로를 전달하고 있습니다.

여기에 두 개의 디스크가 있는데 grub은 이를 hd1과 hd2로 나열합니다. grub 명령을 사용하고 grub 화면에서 "c"를 누른 다음 ls를 실행하면 알아낼 수 있습니다.

여기에는 모든 gpt 파티션과 해당 디스크가 나열되어 있으며 두 디스크에 서로 다른 파티션이 있으므로 efi 파일의 위치를 ​​쉽게 식별한 다음 grub 항목의 위치를 ​​efi로 변경할 수 있습니다. 올바른 파티션은 파일이 있는 곳입니다.

체인 로더 경로는 마운트 지점이 없는 경로와 일치해야 합니다. Ubuntu에서 디스크 유틸리티를 사용하여 이를 확인할 수 있습니다!

이제 검색 유형이 지정되지 않았다는 오류가 발생하지만 부팅하면 문제 없이 Windows 로더가 실행됩니다.

grub을 종료할 때 Windows 로더가 클릭되는 이유에 대한 귀하의 질문에 대해서는 간단하다고 생각합니다. grub을 우회하면 마더보드 부팅 옵션에 다음 옵션으로 Windows uefi 로더가 있습니다.

관련 정보