GRUB이 Windows를 감지하지 못합니다


66

마침내 두 번째 드라이브에 Ubuntu를 설치했습니다. 컴퓨터를 시작할 때 GRUB은 Windows 7이 아닌 Ubuntu 부팅 만 제공합니다. GRUB 에서 Ubuntu와 Windows 중 하나를 선택하려면 어떻게해야합니까?

시작할 때 부팅 메뉴로 F12를 누르고 Windows Boot ManagerWindows 7로 부팅 하도록 선택 합니다.


나는 명령을 실행 sudo fdisk -l했으며 여기에 로그가 있습니다 ( http://pastebin.com/Cgv1igHc ).

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


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0xc3ffc3ff

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

부팅 정보 URL을 지정하십시오 . 도움이되는 관련 정보를 제공합니다.
LovinBuntu

답변:


100
  1. 우분투를 부팅하고 Windows 파티션을 마운트하십시오 (노틸러스에서 디스크를 열기 만하면됩니다)

  2. 명령 행 ( Ctrl+ Alt+ t) 에서 다음을 실행하십시오 .

    sudo os-prober
    
  3. Windows 설치가 발견되면 다음을 실행할 수 있습니다.

    sudo update-grub
    

2 단계는 사용자 편의를위한 것입니다. Windows 7 파티션을 마운트 한 다음 실행할 수 update-grub있습니다.

관련 질문


2 개의 Windows 설치가있는 2 개의 파티션이 있는데 다른 파티션에서만 설치를 감지하지만 새로 설치된 Windows (SSD에서는)는 감지하지 못합니다! 심지어 ... 아이디어?
Philippe Gachoud

감사. os-prober가 1 단계를 필요로하는 것에 흥미가 있습니다.
타원형 뷰

mount -t ntfs-3g -o ro /dev/sda4 /media/windows창 파티션을 마운트
Yuvaraj Loganathan

완전한! 트릭은 두 명령을 않았다 실행
Aryeh Beitz

일했다! 감사합니다!
DigaoParceiro

10

os-prober위 의 방법으로 문제가 해결되지 않으면 사용자 지정 그럽 메뉴 항목을 추가하십시오. 여기에 문서화되어 있습니다 .

처음 두 단계는을 찾는 것 <UUID>입니다.

  1. 실행 lsblk하여 행 이름을 찾으십시오./boot/efi

출력 예 (여기서 답은 sda2 임) :

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   477G  0 disk 
├─sda1        8:1    0   450M  0 part 
├─sda2        8:2    0   100M  0 part /boot/efi
├─sda3        8:3    0    16M  0 part 
├─sda4        8:4    0    47G  0 part /windows
├─sda5        8:5    0 425,6G  0 part /
└─sda6        8:6    0   3,7G  0 part [SWAP]
mmcblk0     179:0    0  14,9G  0 disk 
└─mmcblk0p1 179:1    0  14,9G  0 part
  1. 이전 단계의 답변이 sudo blkid /dev/sdaX어디 있는지 실행하십시오 ( 필자의 경우) .sdaXsda2

출력 예 (여기에서 답은 58E4-427D 임) :

/dev/sda2: UUID="58E4-427D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b81727be-ba90-5f8c-ab98-d3ec67778b7d"
  1. 파일 끝에 다음을 추가하십시오 /etc/grub.d/40_custom.
menuentry "Windows 7" {  
     insmod ntfs  
     set root='(hd0,1)'  
     search --no-floppy --fs-uuid --set <UUID>
     chainloader +1  
}
  1. 실행 sudo update-grub하고 재부팅하십시오.

다른 답변의 모든 세부 사항에 대해 @Christopher Markieta에게 감사드립니다. 사용자 지정 항목의 세부 사항이 다르
더라도이

9

Windows 10을 실행 한 다음 이중 부팅을 시도했습니다. Ubuntu가 설치되면 GRUB 로더에 Win 10이 표시되지 않았습니다. 나는 다음을 시도했다-

우선, Win10에서 보안 부팅을 비활성화했습니다. 그런 다음 우분투에서 아래 명령을 실행하십시오.

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

꽤 잘 운동했습니다. 그 후 GRUB에서 Windows와 Ubuntu를 모두 찾을 수있었습니다.


이 PPA가 여전히 존재합니까? 나는 그것을 추가 할 수 없습니다 그리고 그것은 우분투 18.04 부팅 디스크에서 존재하지 않는 주장
jocull

404 Not Found데비안 에서 오류가 발생했습니다
winklerrr

5

Boot-Repair 단계에 따라 비슷한 문제를 해결했습니다.

부팅 복구 설치

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

"Recommended repair"를 누르고 제안 된대로 명령을 터미널에 넣습니다.

Grub이 종료가 잘못되어 창을 인식하지 못하고 문제를 해결했다고 생각합니다.


3

이전에 RAID를 설치 한 경우 문제가 발생할 수 있습니다. 필자의 경우 2010 년에 데스크톱을 구축하고 스트라이프 RAID로 1.5TB 2 개를 설치했습니다. 사용자 gracemercy54는 여기서 이것이 이전 RAID 구성의 메타 데이터 위에 남아 있다고 언급합니다.

원래 Hermes의 단계를 시도했을 때 "RAID 세트의 장치 수가 잘못되었습니다"라는 오류가 발생했습니다. 따라서 이런 일이 발생하면 터미널을 열고 다음을 실행하십시오.

   sudo dmraid -rE
   sudo os-prober
   sudo update-grub

그것은 나를 위해 이것을 고쳤다.


나는 또한 내 공습으로 인한 것 같아요. 그러나 sudo dmraid -rE나를 위해 작동하지 않습니다. 마지막으로 AHCIBIOS 임시 sudo update-grub로 전환 한 다음 우분투로 부팅하고 실행 한 다음 RAID ON다시 전환 하여이를 수행했습니다 .
realhu

1
경고 : 여전히 RAID 어레이를 사용중인 경우 RAID 어레이가 손상됩니다.
Christopher Markieta

3

다른 컴퓨터의 실제 예제에서 복사하여 내 레코드를 게시하는 것과 약간 다른 방법입니다.

다음에 추가하십시오 /etc/grub.d/40_custom.

menuentry "Windows 10" {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set <boot_efi_uuid>
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

파티션 <boot_efi_uuid>의 UUID는 어디에 있습니까 /boot/efi? 이것을 찾으려면 :

$ lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT                                                  
sda                 8:0    0 119.2G  0 disk
└─md126             9:126  0 357.7G  0 raid0
  ├─md126p1       259:0    0   499M  0 md
  ├─md126p2       259:1    0   100M  0 md    /boot/efi                                                   
$ sudo blkid | grep md126p2 # Replace with your device
/dev/md126p2: UUID=<boot_efi_uuid>

물론 파일을 저장 한 후 다음을 실행하십시오.

sudo update-grub

다시 부팅하면 이제 Windows를 성공적으로 시작할 수 있습니다.


2

Windows 10에서도 같은 문제가있었습니다. WIN10으로 듀얼 부팅하기 위해 랩톱에 Linux Mint 18.1 Cinnamon 64 비트를 설치했습니다. 설치 후 GRUB은 Linux 부팅 만 제공했지만 Windows는 제공하지 않았습니다.

grub 메뉴에서 누락 된 Windows 10 용 비디오 솔루션Update / Repair 후 포럼 스레드 Grub이 Win10을 인식하지 못했지만 불행히도 나에게 도움이되지 않았 으므로이 두 가지 조합을 사용하여 문제를 해결했습니다.

터미널을 열고 다음 명령을 따르고 40_custom이라는 파일을여십시오.

sudo gedit /etc/grub.d/40_custom

파일 끝에 다음 행을 추가 한 후 저장하고 종료하십시오.

menuentry "Windows 10" {
   set root='{hd0,1}'
   chainloader + 1
}

파일을 저장 한 후 다음 명령으로 GRUB을 업데이트하십시오 :

sudo update-grub

그런 다음 컴퓨터를 다시 시작하여 작동하는지 확인하십시오.

이것이 다른 사람들에게도 효과가 있기를 바랍니다!


이 답변은 정확하지만 2015 년 5 월 29 일 제출 된 답변의 사본 인 것으로 생각합니다.
Charles Green

1

나는 같은 문제가 있었고 그것을 알아내는 데 2 ​​일을 보냈다. 그러나 오늘 나는 아침 에이 갑작스런 아이디어를 얻었고 잘 작동했습니다.

bios / uefi 설정을 검토해야합니다. 제 경우에는 Uefi를 먼저 부팅시켜야했습니다. 그렇지 않으면 우분투에서 창을 감지 할 수 없었습니다. 내가 설정해야 할 것은 우분투> Windows 부팅 관리자> DISK1> DISK2> DISK3이었습니다. DISK1> ubuntu> Windows 부팅 관리자> DISK3을 설치했습니다.

하나는 hdd에 하나는 ssd에 2 개의 우분투 설치를했습니다. 분명히 ssd 설치가 어떤 이유로 UEFI로 표시되지 않았지만 더 빠른 디스크 부팅을 원했습니다.

부팅 순서가 시스템 감지시 그럽에 영향을 줄 것으로 기대하지 않았습니다. 따라서 그것을 검토 할 가치가 있습니다.


1

위와 같은 문제가 있었고 해결책은 다음과 같이 수동 입력을 추가하는 것입니다.

menuentry "WINDOWS10 (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/sda,msdos1)'
    search --no-floppy --fs-uuid --set=root 688EB92384B85968
    drivemap -s (hd0) ${root}
    chainloader +1
}

위의 UUID (688E ...)는를 통해 부팅 Windows 디스크에서 가져 왔습니다 blkid /dev/sdb1.

주의 : 추가 라인

set root='(/dev/sda,msdos1)'

참조하는 sda우분투 아래 표시되는 /dev/sdb에도 실제로는 SATA 버스 동안에 첫번째 디스크 인 /dev/sda제 루트로 장착 드라이브 사실이다 /.

아마도 grub 스크립트가 제대로 작동하지 않을 수 있습니다. 디스크의 물리적 순서를 변경할 시간이 없었지만 문제를 해결하는 데 도움이 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.