두 개의 Grub2 설치를 체인로드

두 개의 Grub2 설치를 체인로드

정말 실망스럽습니다. Grub2와 함께 Gentoo와 Ubuntu가 있습니다. Gentoo에는 전용 /boot파티션이 있지만 Ubuntu에는 없습니다. Ubuntu를 부팅하기 위한 menuentryGentoo가 있습니다 /etc/grub.d/40_custom(Ubuntu는 부팅이 잘 됩니다).

Ubuntu에는 Grub이 함께 제공되므로 루트, 커널, initrd 등을 설정하는 항목을 유지하는 대신 Grub에 링크 로드를 하고 싶습니다. 이것은 내 체인로더입니다(Ubuntu가 열려 있고 /dev/sda4거기에 Grub이 설치되어 있습니다).

menuentry 'Chainloader' {
    insmod chain
    set root=(hd0,4)
    chainloader +1
}

그것은 나에게 주어졌지만 error: Invalid signature사용 가능한 해결책을 찾지 못했습니다. 누군가 뭔가를 지적할 수 있나요?

이것이 결과이다</dev/sda4 head -c 512 | hd

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

이것이 결과입니다 fdisk -l. Gentoo /dev/sda1에 속하고 /boot, Gentoo에 속하고 /dev/sda2, Ubuntu에 속합니다 /dev/sda4. 우분투도 /boot합류 했습니다 /dev/sda4.

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe001152b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           9       72261   83  Linux
/dev/sda2              10       13064   104864287+  8e  Linux LVM
/dev/sda4   *       18152       19457    10490445   83  Linux

오류 없음grub-install /dev/sda4 --no-floppy --force

/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.

답변1

GRUB2 링크에서 GRUB2를 로드할 수 있습니다. 방금 설명한 대로 시도해 보았는데 제대로 작동했습니다. 그러나 제공한 정보에 따르면 부팅 이미지가 디스크의 MBR에 포함되지 않은 것(또는 모두 0이 아닌 것)으로 나타납니다.

Ubuntu의 GRUB2를 정확하게 사용하지는 않지만(구성 파일만) 이것을 시도해 보겠습니다. Ubuntu 구성 파일을 로드하는 Gentoo GRUB2 구성 파일에 메뉴 항목을 생성할 수 있습니다. 나는 이를 수행하는 데 두 가지 방법이 있다고 생각합니다.

내가 사용할 것은정상일반 모드에서 로드할 구성 파일을 지정할 수 있는 명령입니다. 이 경로로 가면 다음과 같은 명령어가 있습니다.정상적으로 종료Ubuntu 구성에서 이를 사용자 정의로 추가하여 Gentoo 구성으로 돌아갈 수 있습니다.

또 다른 옵션은구성 파일로드할 대체 구성 파일을 지정할 수 있는 명령입니다. 그러나 "종료" 옵션은 더 어려워 보입니다.

이 명령에 대한 자세한 내용은 찾을 수 있습니다여기.

답변2

부팅 프로세스의 초기 부분은 소위 하드 드라이브의 첫 번째 섹터에서 코드를 로드하는 것으로 구성됩니다.마스터 부트 레코드(MBR). 일반적으로 Grub은 첫 번째 하드 드라이브 섹터에 쓰고아니요/boot가 들어 있는 파티션의 첫 번째 섹터로 이동합니다. 그러나 일반적으로 Linux 설치 중에 이 설정을 변경할 수 있지만 최신 설치 루틴에서는 이 설정이 숨겨져 있는 경우가 많습니다.

Grub이 /dev/sda4에 설치되어 있다고 말했지만 구성이 올바른 것으로 보이며 게시한 오류 메시지는 링크 로드하려는 파티션에 Grub이 올바르게 설치되지 않았을 수 있음을 나타냅니다. 젠투로 부팅한 다음 우분투 파티션으로 루트를 변경해야 합니다. 이제 /boot가 Gentoo가 아닌 Ubuntu-/boot를 올바르게 가리키는지 확인하세요! 이제 Ubuntu 파티션 /dev/sda4 의 첫 번째 섹터에 Grub 2를 설치합니다 grub-install /dev/sda4 --no-floppy.

MBR 및 파티션 작업을 할 때 항상 그렇듯이 시작하기 전에 사용 가능한 최신 백업이 있는지 확인하십시오.

답변3

sda4가 grub에서 (hd0,3)이 되지 않습니까? 아니면 grub2에서 이것이 변경되었습니까?

관련 정보