Windows 10과 동일한 하드 드라이브에 openSUSE Leap 15를 설치했지만 여유 공간을 할당했습니다. 듀얼 부팅 옵션을 기대했지만 Windows 10 프로젝트가 GRUB 메뉴에 전혀 표시되지 않습니다. 모든 파티션(Windows EFI 시스템 파티션 포함)이 여전히 존재합니다. 하지만 Windows 시작을 복원하는 방법을 모르겠습니다. openSUSE를 잃지 않고 Windows를 다시 시작하는 방법은 무엇입니까?
현재 하드디스크 상태는 다음과 같습니다.
Device: /dev/sda
Size: 232.89 GiB
Encrypted: No
Device Path: pci-0000:00:1f.2-ata-1
Device ID 1: ata-Samsung_SSD_850_EVO_250GB_S21NNXAG700322J
Device ID 2: scsi-0ATA_Samsung_SSD_850_S21NNXAG700322J
Device ID 3: scsi-1ATA_Samsung_SSD_850_EVO_250GB_S21NNXAG700322J
Device ID 4: scsi-35002538d4028bcda
Device ID 5: scsi-SATA_Samsung_SSD_850_S21NNXAG700322J
Device ID 6: wwn-0x5002538d4028bcda
그리고 사진:
답변1
현재 설치된 GRUB 패키지의 이름을 확인하십시오. 그러한 항목이 포함되어 있거나 grub2-i386-pc
디렉터리가 /boot/grub2/i386-pc
존재하는 경우 실수로 레거시 BIOS 모드에서 SuSE 설치 프로그램을 시작한 것이므로 이전 BIOS 버전의 GRUB 부트 로더가 설치되어 자연스럽게 최신 UEFI로 부팅된 항목이 부팅되지 않습니다. 운영 체제 솔루션.
이 문제를 해결하려면:
먼저 UEFI 모드에서 시스템을 Linux로 부팅하고 OpenSUSE 설치에 액세스하는 방법을 알아보세요. openSUSE 설치 미디어는 다음 위치에 있습니다.구조 시스템모드 또는 LiveCD/USB가 이에 적합할 수 있습니다.다음은 openSUSE 문서의 지침에 대한 링크입니다.
를 실행하여 실제로 UEFI 모드에 있는지 확인하십시오 efibootmgr -v
. 응답하면 EFI variables are not supported on this system
UEFI 모드에서는 부팅할 수 없지만 레거시 BIOS 모드에서는 부팅됩니다. (레거시 BIOS 모드로 부팅하면 EFI NVRAM 변수에 액세스하는 데 사용되는 메커니즘인 UEFI 런타임 서비스가 비활성화됩니다.)
레거시 BIOS보다 UEFI 부팅을 선호하도록 UEFI BIOS 설정을 변경하거나 레거시 호환성을 완전히 비활성화해야 할 수도 있습니다(CSM = 호환성 지원 모듈이라고도 함). 이 시점의 실제 프로세스는 하드웨어 및 UEFI BIOS에 따라 다릅니다. 하드웨어 설명서를 참조하세요.
UEFI 모드에서 시스템을 성공적으로 부팅하고 openSUSE 설치에 액세스하면,제거하다현재 GRUB 부트 로더 패키지. 그런 다음 EFI 시스템 파티션을 /boot/efi
GRUB2로 마운트하고 완전히 다시 설치하십시오. 패키지 관리에서 GRUB2 하드웨어 관련 패키지의 실제 버전을 선택하라는 메시지가 표시되면 grub2-x86_64-efi
대신 를 선택하세요 grub2-i386-pc
.
일반적으로 GRUB를 완전히 다시 설치하면 이 도구를 사용하여 EFI NVRAM 변수를 자동으로 업데이트하는 스크립트가 포함됩니다 efibootmgr
. 를 사용하면 efibootmgr -v
UEFI BIOS 설정에서 사용할 수 있는 것과 유사한 부팅 옵션 목록이 표시됩니다. GRUB의 UEFI 버전을 (재)설치한 후 목록에는 grubx64.efi
EFI 시스템 파티션의 부트 로더 파일 위치를 지정하는 OpenSUSE에 대한 새 항목이 포함되어야 합니다. 어떤 이유로든 이런 일이 발생하지 않으면 다음과 같은 명령을 사용하여 수동으로 만들 수 있습니다.
efibootmgr -c -d /dev/sda -L "openSUSE" -l '\EFI\opensuse\grubx64.efi'
이 efibootmgr -d
옵션은 파티션 자체가 아닌 EFI 시스템 파티션을 포함하는 전체 디스크 장치를 지정합니다.
EFI 시스템 파티션은 Windows에만 고유한 것이 아닙니다. UEFI 시스템에서는 설치된 모든 운영 체제가 기본 부트 로더를 여기에 배치해야 합니다. 부트로더 간의 충돌을 피하기 위한 표준화된 디렉토리 패턴도 있습니다. 모든 공급업체는 부트로더를 \EFI\<vendor name>\
디렉토리에 배치해야 하며 openSUSE와 Microsoft는 이를 준수합니다.
답변2
발견된 것과 유사한 솔루션을 시도해 볼 수 있습니다.여기.
- SUSE로 부팅하고 Windows 파티션을 마운트합니다.
셸에서 실행:
sudo os-prober
Windows가 발견되면 다음을 실행합니다.
grub2-mkconfig -o /boot/grub2/grub.cfg