GPT에서 GRUB2 체인로더를 다른 Grub(Fedora, Debian)에 설정하는 방법

GPT에서 GRUB2 체인로더를 다른 Grub(Fedora, Debian)에 설정하는 방법

GPT 파티션 테이블이 있는 디스크에 다른 GRUB를 (체인) 로드하는 전용 GRUB2를 설정하려고 합니다.

관련 파티션:

  • /dev/sda1 BIOS_BOOT
  • /dev/sda2 부팅(ext2)
  • /dev/sda3 페도라(ext4)
  • /dev/sda6 데비안(ext4)

먼저 /dev/sda2를 부팅 파티션으로 사용하여 Fedora를 설치했습니다. 그런 다음 데비안을 설치했습니다. 데비안 설치 프로그램은 Fedora 설치를 인식하고 이를 부팅 항목으로 추가한 다음 GRUB를 MBR에 설치했습니다. 현재로서는 이것이 작동하지만 모든 Debian 업데이트가 부팅 구성을 변경하고 Fedora 항목을 제거하고(시도해 보았지만) 그 반대의 경우가 있기 때문에 매우 지저분합니다. 이것이 바로 제가 두 시스템 모두 자체 부트 로더와 그 중 하나를 로드하는 하나의 메인 부트 로더(/dev/sda2에 상주할 수 있음)를 갖기를 원하는 이유입니다.

이것이 내가 시도한 것입니다:

  • /dev/sda2에서 /dev/sda3/boot로 모든 항목을 이동했습니다.
  • Fedora에서 /boot 마운트 지점을 제거했습니다(그래서 /dev/sda2는 더 이상 사용되지 않습니다).
  • 라이브 Linux에서 MBR에 GRUB2를 설치했습니다(grub-install --boot-directory=sda2 /dev/sda).
  • menu.lst를 작성했습니다.
    • 타이틀 페도라
    • 루트(hd0,2)
    • 체인로더 +1
    • (다시 말하지만, 데비안의 경우)
  • grub.cfg 스크립트(grub-menu2cfg 또는 이와 유사한 것)로 변환했습니다.
  • 부팅할 때 실제로 "Fedora"(및 "Debian")가 포함된 GRUB2 메뉴가 나타납니다.
  • 다음 중 하나를 선택할 때:
    • 오류: 잘못된 서명
  • 모든 종류의 라이브 Linux 시스템에서 "grub-install /dev/sda6"(및 ...sda3)을 실행했는데 모두 다른 오류 메시지와 함께 실패했습니다(Debian 설치 프로그램의 경우 설명이 전혀 없음).
  • 체인로더 라인에 --force를 추가했습니다. 이제 "로드 중"이라고 표시되고 재부팅됩니다.
  • 수십 개의 하우투를 찾았지만 그 중 어느 것도 나에게 적합한 것 같지 않습니다.

편집하다:
이 (다소 광범위한) 질문을 잊어버렸습니다.

AFAIR 부트로더가 작동하도록 하기 위해 다른 Fedora 설치에서 일부 파일을 찾아 복사했습니다. 또한 현재 Linux 이미지에 대한 심볼릭 링크를 생성하여 첫 번째/기본 GRUB 구성에 넣었으므로 항상 이 특정 커널이 부팅됩니다.

이 질문은 비슷한 문제가 있는 사람에게는 전혀 가치가 없다고 생각하므로 삭제될 수도 있습니다.

답변1

외장 SSD에도 비슷한 문제가 있습니다. 내부 디스크에서만 부팅할 수 있습니다. 외부 디스크가 연결되어 있지 않으면 시스템이 부팅되지 않습니다.

방금 bootinfoscript를 발견하고 재미있는 출력을 얻었습니다(여기에 게시할 내용과 관련 없음). 하지만 적어도 내 생각과 grub2 생각이 완전히 다르다는 단서를 제공합니다.

어쩌면 이 도구가 도움이 될 수도 있습니다.

http://sourceforge.net/projects/bootinfoscript/

관련 정보