UEFI 및 레거시 BIOS를 위해 동시에 USB에 Kali 설치

UEFI 및 레거시 BIOS를 위해 동시에 USB에 Kali 설치

서문은 다음과 같습니다.

방금 Trekstor에서 만든 Wintron 10.1이라는 새 태블릿을 구입했습니다. 32GB SSD급 하드 드라이브와 함께 제공되며 Windows 8.1-Bing이 사전 설치되어 제공됩니다. 저는 몇 년 전에 Kali-Linux-Os를 실행하는 암호화된 썸 드라이브를 이미 가지고 있습니다. 이 kali는 내가 만들었을 때 일반적으로 kali에 efi에 대한 지원이 부족했기 때문에 uefi와 호환되지 않습니다. 그 이후의 모든 업데이트는 uefi를 전혀 고려하지 않았지만 정기적으로 사용하고 잘 유지하려고 노력하기 때문에 최첨단이어야 합니다. 이 썸 드라이브에서 부팅하는 것은 레거시 BIOS 시스템에서만 작동하며, 이 기능이 단순히 비활성화된 UEFI가 있는 시스템에서도 작동할 수 있습니다.

이것이 내 의도입니다:

레거시 BIOS 시스템 및 UEFI 시스템에 연결할 수 있도록 썸 드라이브에 설치된 kali를 수정하고 싶습니다. 레거시 시스템에서 지금처럼 간단히 부팅하면 됩니다.

이는 명확하지 않을 수 있습니다.

새 태블릿에는 32비트 UEFI 시스템이 있습니다. 이에 대해서는 나중에 언급하겠습니다.

내가 한 일은 다음과 같습니다.

  1. 내 썸 드라이브가 UEFI 시스템 부팅을 허용하는지 테스트했습니다. --> USB가 처음으로 사용되는 부팅 장치인 것처럼 보이지만 부팅되지 않습니다. "파일에서 시작" 대화 상자가 내장된 uefi 파일 브라우저를 사용하는데 파일을 감지할 수 없습니다(접미사가 .efi인 파일이 없기 때문에). --> 앞으로는 항상 브라우저에서 시작하기로 결정했습니다.
  2. 확인했는데 보안 부팅이 꺼졌다가 다시 시작되었지만 성공하지 못했습니다.
  3. 나는 온라인에서 나 자신에게 말한다.
  4. USB 드라이브에서 설치 프로세스에 들어가고 uefi 관련 기능에 익숙해지기 위해 다른 USB 스틱으로 재부팅했습니다(이 시간을 단축하려면 이 링크도 참조하세요)
    https://forums.kali.org/archive/index.php/t-271.html)
  5. 그래서 최신 kali-iso_64-bit를 다운로드하여 썸 드라이브에 간단한 iso로 덤프했습니다(dd if=this of=that)
  6. EFI 폴더를 만들고 EFI 폴더 안에 boot 폴더를 만들었습니다.
  7. UEFI BIOS가 32비트이므로 efi 파일을 선택했습니다. https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
  8. 그런 다음 4단계의 링크에 언급된 grub 스크립트를 만들었습니다.
  9. 재부팅하고 UEFI 파일 브라우저를 입력하고 올바른 efi 파일을 선택한 다음

짜잔:

최소한의 그럽 쉘에 떨어뜨렸습니다. 2.0.2(베타)와 유사합니다. 젠장 문제: linuxefi 또는 initdefi 명령을 실행하면 grub이 이를 인식하지 못한 채 프롬프트를 표시합니다.

"boot"를 실행한 후 항상 다음 메시지가 표시되기 때문에 linux /a_path_to/vmlinuz나 kernel /a_path_to/vmlinuz가 작동하지 않는 것 같습니다. 오류: 먼저 Grub에서 커널을 로드해야 합니다. (예, 저는 root=(hda0,1)을 했습니다.

커널 이미지를 찾을 수 없으면 grub이 이를 보고합니다.

음, ubuntu64-iso로 동일한 작업을 수행하고 bootXXX.efi를 32비트 버전으로 교체한 후 최소한의 grub-beta-shell에 들어가지 않고도 수행할 작업을 그래픽으로 선택할 수 있습니다.

내 질문은 다음과 같습니다.

  1. 일반적으로 썸 드라이브를 확장/수정하거나 UEFI 및 비 UEFI 시스템 모두로 부팅할 수 있는 썸 드라이브를 생성할 수 있습니까?
  2. kali-grub-boot-issue 문제 해결을 어디서 시작할 수 있나요? 이것이 어떤/누구의 그럽 쉘인지 알아야 합니다. bootia32.efi grub에 내장된 내용이나 kali의 /boot/grub에 있는 내용 등이 있을 수 있습니다.
  3. 전체 네트워크에 bootia32.efi가 하나만 있는 것처럼 보이는 이유는 무엇입니까? 32비트 UEFI를 사용할 가능성은 거의 없나요?
  4. 운영 체제의 비트가 사용할 EFI 파일의 비트를 정의하지 않으며 운영 체제의 비트가 uefi 시스템(및 .efi 파일)의 비트에 의존하지 않는지 확인하십시오.

답변1

Kali가 UEFI 시스템에서 제대로 작동하도록 성공적으로 설정했습니다. 나는 내 블로그에 내가 어떻게 했는지에 대한 기사를 썼습니다. 이 기사가 당신처럼 컴퓨터를 켤 수 없는 많은 사람들에게 도움이 되기를 바랍니다. Kali Linux는 UEFI에서 계속 실행됩니다.

기본적으로 다음이 필요합니다.

  1. /EFI/BOOT/USB 드라이브의 루트 디렉터리에 폴더를 만들고 그 안에 BOOTx64.EFI넣습니다 .grubx64.efi
  2. grub.cfg/boot/grub다음 콘텐츠 로 만듭니다.

    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    
    menuentry "Kali Live" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live username=root hostname=kali
     initrd /live/initrd.img
    }
    menuentry "Kali Failsafe" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal
     initrd /live/initrd.img
    }
    menuentry "Kali Live forensics" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali noswap noautomount
     initrd /live/initrd.img
    }
    menuentry "Kali Live persistence" {
     set gfxpayload=keep
     linux /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali persistence
     initrd /live/initrd.img
    }
    menuentry "Kali Live persistence encrypted" {
     set gfxpayload=keep
     linux /live/vmlinuz persistent=cryptsetup persistence-encryption=luks noconfig=sudo username=root hostname=kali persistence
     initrd /live/initrd.img
    }
    

내 블로그에서 필요한 기성 파일을 다운로드할 수 있습니다.

비록 이것을 테스트하지는 않았지만 설명된 프로세스 이후에도 isolinux 구성(Kali 라이브가 부팅에 사용하는)이 여전히 존재하기 때문에 이전 BIOS 시스템에서 작동할 것입니다.

관련 정보