다른 디스크에 대해 grub.cfg를 생성하는 방법은 무엇입니까?

다른 디스크에 대해 grub.cfg를 생성하는 방법은 무엇입니까?

디스크가 2개 있습니다.
첫 번째 디스크에는 기본 OS가 포함되어 있습니다(/dev/sda에는 많은 파티션과 OS가 있음).
두 번째 디스크는 설정해야 합니다(/dev/sdb1=/boot, /dev/sdb2=/).

기본 운영 체제에 grub2 패키지를 설치했습니다. 두 번째 디스크에 운영 체제용 grub.config 파일을 생성하고 싶습니다. (해당 디스크는 다른 아키텍처용이기 때문에 두 번째 디스크의 chroot에 grub2 패키지를 설치할 필요가 없습니다. 구성을 다시 생성하고 싶습니다.)

내가 사용한다면

mkdir -p /mnt/gentoo
mount /dev/sdb2 /mnt/gentoo
mount /dev/sdb1 /mnt/gentoo/boot
grub-mkconfig -o /mnt/gentoo/boot/grub/grub.cfg

그러면 /dev/sdb를 grub-mkconfig 설치된 운영 체제를 열거하는 데 사용되는 기본 디스크로 지정할 수 없습니다.

디스크 /dev/sda에 N개의 파티션이 포함된 경우 grub-mkconfig는 ~ N * number_of_kernels 메뉴 항목을 생성합니다. 하지만 디스크 /dev/sdb 파티션(파티션 /dev/sdb2 및 설치된 운영 체제가 있음)에 대한 항목을 생성하고 싶습니다.

또한 매개변수 대화 상자에 디스크 선택이 있으므로 grub-customizer 유틸리티를 사용해 보았습니다. 하지만 grub-customizer는 선택한 디스크와 관련된 모든 유틸리티와 파일을 사용하는 것 같습니다. /dev/sdb에 grub2가 설치되어 있지 않습니다(다른 아키텍처에 대한 위의 참고 사항 참조).

기본 시스템의 fstab을 일시적으로 수정하면 이 작업을 수행할 수 있다는 말을 들었지만 이것이 도움이 될지는 의문입니다.

그렇다면 다른 디스크에 대해 grub.conf를 생성하는 방법은 무엇입니까? (텍스트 편집기를 사용하여 수동으로 작성할 필요가 없습니다)

UPD: 기능 요청 -https://savannah.gnu.org/bugs/index.php?44129

답변1

최종 목표가 무엇인지 조금 더 자세히 설명해 주실 수 있나요? "대규모 솔루션"에 대한 이상한 요구 사항이 있고 심지어 더 이상한 요구 사항이 있는 것 같습니다. 일부 미니 PC의 설치 과정을 단순화하려고 하시나요?

sdb OS로 chroot할 수 있습니까(아키텍처가 다른 경우 qemu를 사용할 수도 있음)? 그렇다면 그것이 최선의 선택일 것이다. 그렇지 않으면 grub-mkconfig 스크립트의 소스 코드를 보고 필요에 맞게 사용자 정의할 수 있습니다. 조정하기 어렵지 않은 관련 코드를 보았습니다.

관련 정보