Linux 부트로더가 2개인데 Linux 운영 체제가 1개만 설치되어 있는데 이상한 일이 일어나고 있습니다.

Linux 부트로더가 2개인데 Linux 운영 체제가 1개만 설치되어 있는데 이상한 일이 일어나고 있습니다.

Kali 2017.3(아이러니하게도 현재는 동일한 Debian 커널 버전) 4.14.0 86_64를 설치하여 Linux Parrot Security 3.9 커널 버전 4.14.0 86_64를 다시 설치했습니다.

이제 평소와 같이 수동으로 하드 드라이브를 완전히 분할했습니다. 파티션 크기는 /dev/sda1-boot 512M, /dev/sda2-swap 8G, /dev/sda3-/root-25G, /dev/sda4 /home-rest 입니다.

하드 드라이브가 2개 있고 Linux가 올바른 순서로 먼저 부팅되며 F11을 누르지 않는 한 Linux 하드 드라이브는 첫 번째 SATA 케이블 슬롯에 있고 두 번째 SATA 케이블 슬롯에는 별도의 Windows 하드 드라이브가 있습니다. 나는 동일한 하드 드라이브에서 Windows와 Linux를 동시에 부팅하는 것을 좋아하지 않습니다.

일반적으로 부팅할 때 부팅 옵션을 위해 F11을 누르면 두 HDD가 모두 표시되고 이에 따라 선택합니다. 게임에는 Windows를 사용하고 그 밖의 모든 작업에는 Linux를 사용합니다.

하지만 이제 F11을 누르면 이전 Kali가 여전히 첫 번째 옵션입니다. /dev/sda3 Windows가 두 번째 부팅 옵션으로 표시되지만(1년 넘게 이 설정을 사용했기 때문에) Parrot도 /dev/로 표시됩니다. sda3 (덮어써야 하는 Kali와 동일) /dev/sda3/Parrot을 선택할 수 있으며 제대로 작동합니다. Windows는 잘 작동하지만 /dev/sda3/Kali(덮어써야 함)를 선택하면 grub 오류로 부팅되고 grub saving> 프롬프트가 나타납니다.

마지막으로 제가 항상 사용해오던 방식은 F11을 누르고 Windows HDD를 선택하지 않으면 Linux가 부팅되는 것인데, 이 Grub 오류 Grub Rescue>가 발생하고 마지막 Kali의 Grub이 삭제되지 않는 것 같아서 항상 지금 F11을 누르세요. 그렇다고 Kali와 동일한 커널을 기반으로 구축된 새로운 Parrot OS를 사용할 수 없다는 말은 아닙니다. 저는 데비안 9가 저장소 업데이트에 대한 다른 접근 방식이라고 생각합니다. 훌륭하게 작동합니다. 시스템이 최대한 정확하기를 바랍니다.

어떻게 해야 합니까? 나는 /dev/sda3에 실제 배포판을 갖는 것과 충돌하는 것 같은데 다른 사람은 그렇게 생각하지만 그렇지 않습니까?

답변1

F11을 누르면 BIOS 부팅 메뉴에 액세스하는 것처럼 들립니다. Windows, Parrot 또는 Kali와 같은 운영 체제 이름이 포함된 경우 UEFI 스타일 부팅을 사용하고 있을 수 있습니다.

이것이 사실이라면 Kali 잔재를 제거하는 가장 쉬운 방법은 efibootmgrLinux에서 이 도구를 사용하는 것입니다.

UEFI 스타일 부팅에서는 부트로더에 관한 세 가지 사항이 NVRAM(= BIOS 설정이 저장되는 곳)에 저장됩니다.

  • 특정 운영 체제용 UEFI 부트로더가 포함된 파티션의 UUID(일반적으로 ESP 또는 (U)EFI 시스템 파티션이라고 하는 작은 FAT32 파티션입니다)
  • 이 운영 체제의 부트 로더 파일 이름
  • 운영 체제를 설명하는 이름

특정 운영 체제의 부트 로더를 완전히 제거하고 해당 운영 체제가 소유한 모든 파티션을 덮어쓰더라도 정보는 여전히 NVRAM에 남아 있습니다. 일부 UEFI 펌웨어는 UEFI BIOS 설정 메뉴를 통해 오래된 부팅 설정을 제거하는 방법을 제공하지만, 안타깝게도 이 옵션이 없는 일부 UEFI 펌웨어 버전이 시중에 나와 있습니다.

UEFI 시스템에서 실행하면 efibootmgr -v현재 NVRAM에 저장된 UEFI 부팅 설정 목록이 표시됩니다. 이 BootCurrent값은 시스템을 부팅하는 데 가장 최근에 사용된 부팅 옵션을 식별합니다. 일반적으로 0으로 설정되는 값이 있습니다 Timeout. 그러면 펌웨어가 구성된 다양한 부팅 옵션을 시도하는 순서를 식별하는 목록이 있습니다 BootOrder. 각 부팅 옵션은 0000, 0001, 0002 등과 같은 4자리 숫자로 식별됩니다.

마지막으로 실제 시작 옵션이 있습니다. 각 부팅 옵션 줄에는 "BootNNNN" 형식으로 부팅 옵션의 4자리 숫자가 나열됩니다. 예를 들어 Boot0000은 첫 번째 부팅 옵션을 나타냅니다. 그 뒤에는 운영 체제를 설명하는 이름이 오고, 그 뒤에는 부트로더 파티션 UUID와 해당 파티션에 있는 부트로더 파일의 경로 이름이 옵니다. 줄 끝에는 선택적으로 부트로더에 대한 일부 매개변수가 있습니다.

Kali 부팅 옵션의 남은 부분을 제거하려면 목록에서 해당 4자리 숫자를 찾으세요. 그런 다음 efibootmgr -B -b NNNN를 사용하여 삭제할 수 있습니다 .

예를 들어 Kali가 부팅 옵션 Boot0002로 표시되면 다음 명령을 사용하여 제거할 수 있습니다.

efibootmgr -B -b 0002

efibootmgr명령은 루트(또는 접두사)로 실행해야 합니다 sudo.

답변2

나는 여기서 도움을 요청한 경험이 없습니다. 관리자가 이 질문을 할 수 있는 올바른 장소를 추천하거나 올바른 포럼으로 이동할 수 있도록 도와주시면 미리 감사드리며, 잘못된 장소라면 미리 사과드립니다.

당신 말이 맞아요, 여기, 정말 좋아요! 그러나 Parrot Security와 Kali는 보안에 초점을 맞춘 배포판이며 마음이 약한 사람들을 위한 배포판이 아닙니다! 이를 사용할 때는 숙련된 Linux 관리자여야 합니다.

기본적으로 문제는 이전 Kali grub 항목이 여전히 존재한다는 것입니다.

grub 구성이 여기에 저장되므로 /etc/grub.d/*Kali 항목이 포함된 파일이 없는지, Parrot Security 항목이 있는지 확인해야 합니다. 그런 다음 실행하면 sudo update-grub문제가 해결됩니다.

Kali가 존재하지 않는지 확인하려면 grep Kali /etc/grub.d/*다음을 수행 하십시오. grep Parrot /etc/grub.d/*두 명령 모두 "stuff"를 찾고 두 항목이 모두 동일한 파일에 없으면 Kali가 포함된 파일을 안전하게 삭제할 수 있습니다.

관련 정보