이중 부팅 후 Grub에 Windows 8 옵션이 표시되지 않음 The util fdisk

그래서 우분투 12.04로 Windows 8 컴퓨터를 성공적으로 이중 부팅했습니다. 그러나 여전히 부팅 할 때로 드 할 OS를 선택하는 편리한 방법이 없습니다.

Ubuntu를 설치 한 후에도 컴퓨터는 여전히 Windows 8을 직접로드합니다. 그런 다음 grubx64.efi부트 로더의 화이트리스트에 추가 했습니다. 그러나 그 후에 내 컴퓨터는 GRUB의 그림자조차 나타나지 않고 Ubuntu를 직접로드합니다!

부팅 복구를 사용하고 paste.ubuntu URL ( paste.ubuntu.com/1326074)을 얻었습니다 . 부트 복구를 실행하고 grubx64.efi파일을 다시 흰색으로 표시하면 GRUB이 표시되지만 Windows 8 옵션은 없습니다!

마지막으로, 나는 달렸고 sudo fdisk -l나에게 이것을 주었다.

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6396389f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1465149167   732574583+  ee  GPT
Partition 1 does not start on physical sector boundary.

내 문제에 fdisk위 의 경고와 관련이 있다고 생각 하지만 어떻게 해야할지 모르겠습니다. 지금 진행하려면 어떻게합니까?

편집하다

etc/default/grub다음과 같습니다

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

또한, 단지 기록을 위해, 이것은 내가 듀얼 부트를 설치할 때 따라온 것 입니다. 11.10을 사용하는 튜토리얼에서는이 문제에 대해 언급하지 않습니다. 내가하지 말아야 할 것이 있습니까?



답변

첫째, fdisk -l출력은 문제가되지 않습니다. GUID 파티션 테이블 (GPT) 파티션 시스템 을 사용하여 디스크를 식별합니다 . 파티션을 보려면, 대신 같은 같은 GPT 지원 도구를 사용해야 gdisk하거나 parted보다는, fdiskGPT을 이해하지 않는다.

둘째, 적절한 항목을 추가 한 /etc/grub.d/40_custom다음을 수행하여 GRUB이 Windows를 체인로드하도록 할 수 있습니다 sudo update-grub. 항목은 다음과 같습니다.

menuentry "Windows 8" {
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

세부 사항은 설치에 따라 다를 수 있습니다.

셋째, rEFInd가보기 흉한 것으로 생각 되면 rEFInd 문서에 설명 대로 언제든지 다른 rEFInd 테마를 시도하거나 나만의 테마를 작성할 수 있습니다 . 또는 텍스트 모드 부트 로더를 선호하는 경우에서 textonly옵션을 설정할 수 있습니다 refind.conf. gummiboot 로 전환하여 비슷한 목적을 달성 할 수 있습니다 .

넷째, rEFInd가 주기적으로 오류를보고하는 경우 오류를 기록하거나 디지털 카메라로 화면을 촬영하여 나에게보고하십시오. (나는 rEFInd의 관리자입니다.) 아무도보고하지 않으면 버그를 고칠 수 없습니다. 또는 rEFInd에서 버그가 아닌 경우 메시지가 문제를 해결하는 방법에 대한 힌트를 제공 할 수 있습니다.

마지막으로 GRUB을 사용하지 않고 rEFInd (또는 gummiboot)를 통해 Linux를 부팅 할 수 있습니다. 다른 EFI 부트 로더가 필요합니다. 개인적으로 선호하는 것은 Linux 커널의 EFI 스텁 로더입니다. 그러나 이것은 3.3.0 이상 커널에서만 사용할 수 있습니다. Ubuntu 12.04는 3.2.0 커널과 함께 제공되므로 Ubuntu 12.04 용으로 사전 빌드 된 3.3.0을 찾거나 (그런데 들리는 링크는 없습니다) 빌드해야합니다. 소스 코드에서 자신의. (적절한 커널과 함께 제공되는 Ubuntu 12.10을 설치할 수도 있지만 아마도 LTS 릴리스를 원할 것이므로 최적이 아닐 수도 있습니다.) Linux 부팅에 대한 rEFInd 설명서 페이지를 참조하십시오.설정 방법에 대한 자세한 내용은 ELILO 또는 GRUB Legacy를 사용할 수도 있습니다. 단순히 지연에 반대하는 경우 GRUB 2 시간 초과 값을 줄이고 기본적으로 메뉴가 표시되지 않도록 설정할 수 있습니다.


답변

CD를 사용하여 우분투로 부팅은
“우분투 시도”를 선택하여
인터넷에 연결,
사용하여 터미널 창을 열고을 CtrlAltt다음 실행 :boot-repair

부팅 복구가 없으면 다음을 설치하십시오.

sudo add-apt-repository ppa:yannubuntu/boot-repair &&
sudo apt-get update &&
sudo apt-get install -y boot-repair &&
boot-repair

권장 수리를 클릭하십시오. 나타날 새 URL을 종이에 쓰십시오. PC를 재부팅하면 Ubuntu와 Windows에 모두 액세스 할 수있는 GRUB 메뉴가 나타납니다. 문제가 있으면 새 URL을 표시하십시오.


답변

두 가지 모두 /EFI/Microsoft/Boot/bootmgfw.efi할 것입니다. 그러나에 대한 올바른 설정을 얻기 위해 지옥처럼 해킹했습니다 set root='(hd0,gpt1)'. 아시면 매우 간단합니다

GRUB 시작시 : 프롬프트 c
에서 명령 ls을 누르십시오 .
(hd0, gpt1) 등과 같은 하드 디스크의 파티션 목록을 얻습니다. (hd0, gpt1)을
입력 ls하고 다른 것을 시도하십시오.
레이블을보고 EFI라고 표시되어 있으면 히트 한 것을 알 수 있습니다.

경고 : Ubuntu 설치 방법에 따라 EFI로 레이블이 지정된 파티션이 더있을 수 있습니다. 그들 모두를 시도하십시오.


답변

실행 해보십시오 sudo update-grub. 희망적으로 Windows 8을 자동으로 인식하고 GRUB에 추가하고 메뉴를 다시 구성해야합니다.

실패하면 /etc/default/grub여기에서 파일을 공유하십시오 . 살펴 보겠습니다.


답변

/etc/grub.d/30_windows이것을 포함 하는 파일을 만들어보십시오 .

#! /bin/bash
cat << EOF
menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
EOF

그런 다음 실행 sudo update-grub하고 재부팅하십시오.

전체 튜토리얼


답변

  1. super Grub을 다운로드하고 지시를 따르십시오. 나는 그것없이 집을 떠나지 않습니다. 그럽 메뉴가 표시되지 않을 때 매우 유용합니다.

  2. 당신은 CD에로드하고 부팅해야합니다. 함께 제공되는 지침을 따르십시오.

  3. 창을 수정하는 데에도 사용할 수 있습니다. Windows 8로만 부팅 할 수 있으므로 Linux 수정 프로그램을 선택하려고합니다.

이것과 함께 놀아하지만 지시 사항을 읽으십시오. 잠시 후 전문가처럼 느껴질 것입니다. RS


답변

내 궁극적 인 해결 방법

(* Tom이 작동하지 않고 NikTh의 링크가 너무 복잡하기 때문에 귀찮게 해 주셔서 감사합니다!)

rEFInd를 설치 하십시오 .


누군가가 가능한 결점과 그에 대한 수정 사항을 지적하거나 내 문제를 해결할 때까지 내 자신의 대답을 받아들이고 있습니다 (불행히도 “Windows 8을 GRUB에 쉽게 넣는 방법 ?”

( 편집 8/6/17 : 나는 궁극적으로 rEFInd를 사용 하여이 문제를 해결했습니다 (위의 허용 된 답변 참조).

완벽한 솔루션과는 달리 rEFInd를 사용하는 것은 매우 해킹 작업처럼 보입니다. 하나, 그것은 추악한 (죄송한 rEFInd) 보이고 특정 .efi ({ext2_x64, hfs_x64, iso9660_x64, reiserfs_x64} .efi)에서 액세스가 거부되었다고 말하지만 중요하지는 않지만 버튼으로 사라집니다. 프레스*. 마지막으로 Ubuntu efi를 선택하면 GRUB이 여전히로드되지 않습니다. GRUB은 적어도 여러 커널 버전을 유지하지 않아도되므로 완전히 불필요한 단계입니다.

요약해서 말하자면…

장점 : 내 시스템은 이제 UEFI 사전 이중 부팅처럼 작동합니다. 단점 : 못생긴 것처럼 보이고 부팅 시간이 길어집니다.

*이 rEFInd는 install.shUbuntu 파티션을 통해 설치되었습니다 . rEFInd (Windows를 통한 설정)에 대한 이전 경험에는이 문제가 없었습니다.