델 인스피론 5559를 사용하고 있습니다. 현재 Windows 10이 내장된 UEFI 모드로 부팅됩니다. Kali Linux와 Windows 10 간에 이중 부팅이 필요합니다. 나는 온라인에서 많은 튜토리얼을 따랐지만 모두 다릅니다.
Kali Linux와 Windows를 듀얼 부팅하는 방법을 알려줄 수 있는 사람이 있나요? USB로 부팅하여 Kali를 설치했습니다. 하지만 내 문제는 GRUB 로더가 설치되어 있지만 Windows 또는 Linux를 선택할지 묻지 않는다는 것입니다. Windows 10 부트 로더는 기본적으로 실행됩니다.
Windows에서 간단한 BCD를 사용하여 Linux를 추가하려고 하면 다음이 표시됩니다.
EFI boot loader Detected--- Easy BCD has detected that your machine is currently booting in EFI mode. Due to limitations set by Microsoft, many of easy BCD multi booting features cannot be used in EFi mode and have been disabled.
답변1
문제가 발생할 수 있는 상황은 여러 가지가 있습니다.
1.) Kali 설치 프로그램은 UEFI 버전 대신 GRUB의 레거시 BIOS/MBR 스타일 버전을 설치할 수 있습니다. 펌웨어가 레거시 BIOS 스타일 부팅보다 UEFI 스타일 부팅을 선호하는 경우 이 부트로더는 전혀 효과가 없습니다. 펌웨어에서 Windows UEFI 부트로더가 있음을 확인한 후에는 단순히 레거시 마스터 부트 레코드를 로드하지 않기 때문입니다.
2.) Kali 설치 프로그램은 GRUB의 UEFI 버전을 설치했을 수 있지만 shim.efi
보안 부팅에 필요한 버전은 설치하지 않았을 수 있습니다. 시스템의 UEFI 펌웨어의 보안 부팅 구현은 활성화된 경우 필요한 보안 부팅 서명이 없는 모든 부트 로더를 자동으로 우회할 수 있습니다. 보안 부팅이 활성화되었습니다.
(다른 UEFI 구현에서는 보안 부팅이 활성화되어 있고 보안 부팅 서명이 없거나 유효하지 않은 부트로더가 발생하는 경우 끔찍한 보안 오류 메시지가 출력됩니다. 이렇게 하면 적어도 이 상황을 해결하기가 더 쉬워집니다.)
3.) Kali 설치 프로그램이 보안 부팅을 지원하는 UEFI 부트로더를 성공적으로 설치했지만 펌웨어 NVRAM에 등록하지 못했을 수 있습니다. 또는 펌웨어 구현은 표준 Windows 부팅 로더의 부팅 파일 이름만 허용할 수 있습니다. 이는 펌웨어 버그로 간주됩니다.
이러한 조건을 식별하는 첫 번째 단계는 시스템을 Windows 10으로 부팅하고 명령 프롬프트를 실행하는 것입니다.관리자로서, bcdedit /enum firmware
명령을 사용하십시오. 그러면 NVRAM에 등록된 부팅 옵션과 BootOrder 설정이 나열됩니다. 출력에 Kali에 대한 언급이 없으면 지금은 문제 #2를 배제할 수 있습니다. 확실히 적어도 문제 #1 또는 #3이 있는 것입니다.
문제 2가 발생할 수 있는 경우 보안 부팅을 비활성화하거나 보안 부팅 마스터 키(PK) 변수를 삭제하여 해결할 수 있습니다. 일반적으로(항상 그런 것은 아님) UEFI BIOS 설정은 이러한 작업 중 하나 또는 둘 다를 수행하는 방법을 제공합니다.
다음 단계에는 라이브 USB에서 Kali(또는 다른 Linux)를 부팅하고 이를 사용하여 HDD의 Kali 설치에 액세스하는 작업이 포함됩니다. HDD에 Linux 파티션을 마운트한 후 해당 디렉터리로 이동하여 <mountpoint>/usr/lib/grub
해당 디렉터리의 내용을 나열합니다. 라는 하위 디렉터리가 있으면 x86_64-efi
UEFI 버전의 GRUB가 설치되어 있고 문제 #1이 확실히 제거된 것입니다.
반면에 이름이 하위 디렉터리인 경우 i386-pc
GRUB의 레거시 BIOS/MBR 버전이 설치되어 있으므로 문제 #1이 확인됩니다. 이 문제를 해결하려면 HDD 기반 설치를 루트로 바꾸고 패키지 관리 도구를 사용하여 grub-pc
및 grub-pc-bin
패키지를 grub-efi-amd64[-signed]
각각 grub-efi-amd64-bin
. (보안 부팅을 비활성화할 수 없는 경우 첫 번째 패키지(사용 가능한 경우)와 해당 shim
패키지의 서명된 버전을 구하십시오.)
문제 #3이 발생하면 efibootmgr
Kali Live USB의 명령을 사용하여 문제를 해결할 수 있습니다. 하지만 Live USB가 부팅 가능한 경우에만 가능합니다.UEFI 기본 스타일. Live USB가 레거시 BIOS/MBR 스타일로 부팅되는 경우 레거시 호환성 펌웨어 코드는 명령에 필요한 인터페이스를 숨깁니다 efibootmgr
.
Windows 측에서 문제 #3을 해결하기 위한 대체 도구:
EasyUEFI
예전에 같은 제조사 이름을 가진 프로그램이 있었습니다EasyBCD
. 완전 무료 버전의 프로그램으로도 충분합니다. 안타깝게도 현재는 무료 평가판만 제공됩니다.BOOTICE
분명히 그 일을 하는 중국 개발자가 호출한 프로그램이 있는 것 같습니다 . 아직 테스트하지 않았습니다.- Windows 10의 기본 명령을 사용하면 새로운 UEFI 부트로더를 등록할 수 있을 것으로 생각
bcdedit
하지만 프로세스가 다소 어색해 아직 테스트해 보지 않았습니다. mountvol X: /S
Windows에서 관리자로 EFI 시스템 파티션에 액세스 할 수 있습니다 . 완료되면 Hide ESP를 다시 사용하세요mountvol X: /D
.
답변2
Windows 10이 설치된 기존 하드 드라이브에 Linux용 Kali(또는 모든 배포판)를 설치하려고 하시나요?
그렇지 않고 Linux가 다른 하드 드라이브에 있는 경우 가장 쉬운 방법은 부팅하기 전에 F12를 눌러 UEFI 부팅 메뉴에 액세스하는 것입니다. 이는 GRUB2 메뉴가 아닙니다. 이 시점에서 EFI 부팅 메뉴(BIOS 메뉴나 GRUB2 메뉴 아님)를 사용하면 부팅할 부팅 파티션에서 .efi 파일을 선택할 수 있습니다. 이런식으로 듀얼부팅이 가능합니다.
노트북인 Dell Inspiron이 있다면 모든 작업을 수행하는 데 드라이브 하나만 있으면 될 것입니다. 보고서에 따르면 Windows 10은 시작/다시 시작 시 Windows 10 부팅 파티션에 설치된 모든 부팅 로더를 복구/제거합니다. https://ubuntuforums.org/showthread.php?t=2294337
F2를 눌러 SETUP을 입력하고 BOOT 메뉴로 들어가면 어떤 .efi 부팅 파일을 선택할 수 있는 메뉴 옵션이 표시됩니다. 노트북에는 드라이브가 1개만 있으므로 Windows 10을 부팅하는 선택 사항이 하나만 나타납니다. 그러나 예를 들어 각각 자체 부팅 파티션이 있는 4개의 하드 드라이브를 보유하는 타워 컴퓨터가 있는 경우 EFI 부팅 메뉴라는 4가지 선택 사항이 있습니다.
나는 Windows 10이 Microsoft이고 부팅 메뉴/파티션을 잘 공유하지 않기 때문에 당신이 해야 할 일은 마더보드 EFI 메뉴가 자동으로 OEM Windows 10 부팅 파티션이 아닌 다른 부팅 파티션을 선택하도록 해야 한다고 생각합니다. GRUB2가 존재합니다. 그런 일이 발생하면 Grub2는 Windows 10 부트 로더보다 앞서고 GRUB2의 메뉴에서 부팅할 Windows 10 파티션 또는 Linux 파티션을 선택할 수 있는 선택권을 제공합니다. 이렇게 하면 Windows 10은 간섭 없이 자체 파티션에 있는 자체 부팅 관리자만 볼 수 있습니다. 적어도 Windows 7에서는 Windows 부팅 파티션을 수정하는 것이 더 관대합니다. Windows 10의 출현과 보안 부팅 사고 방식으로 모든 것이 끝났다고 생각합니다.
따라서 Dell OEM win10 하드 드라이브에 Windows 파티션과 완전히 분리된 새 파티션을 생성하고 여기에 GRUB2를 설치하려고 합니다. 예를 들어 파티션 #4일 수 있습니다.
GRUB2를 부팅하기 위해 마더보드 펌웨어/EFI가 디스크의 파티션 #4(파티션 #1 대신)를 가리키도록 하는 것이 가능한지 궁금합니다. 나는 GRUB2보다 ELILO를 선호하며 항상 부팅 파티션을 디스크의 파티션 #1로 유지해 왔습니다. 하지만 가능하다면 Windows 10 또는 Linux 부팅을 위한 2가지 메뉴 옵션을 제공하도록 GRUB2를 구성하세요.