lvm 파티션에서 다른 Linux 배포판을 부팅하도록 grub을 구성하는 방법은 무엇입니까?

lvm 파티션에서 다른 Linux 배포판을 부팅하도록 grub을 구성하는 방법은 무엇입니까?

(더 이상 이 설정이 없으므로 새 답변을 테스트할 수 없습니다. 죄송합니다. 컴퓨터를 전환하고 지금은 아치만 사용해야 했습니다. 문제가 발생하면 해결책을 알고 싶기 때문에 질문을 그대로 둡니다. 과거에도 grub은 몇 달 동안 나에게 매우 적대적이었습니다. 저는 Fedora 23을 기본 OS로 사용자 지정 파티션(모든 물리적 파티션)과 함께 사용하고 있습니다 /boot/efi=/dev/sda1 root=/dev/sda3. 그런 다음 /dev/Sda2에서 LVM 물리적 파티션을 설정하고 LVM 그룹( arch)과 볼륨( root)을 만든 다음 여기에 (부트로더 없이) Arch Linux를 설치했습니다./dev/arch/root

/dev/sda(GPT), /dev/sdb(GPT) 가 있는데 grub도 이를 감지한 것 같고 hd2로드할 수 없다는 오류가 발생합니다. (이것이 LVM 물리적 파티션이라고 가정합니다.) 어쨌든 아치 설치를 사용 os-prober하고 감지했으며 grub2-mkconfig성공적으로 수행했습니다(이 작업을 두 번 수행하면 두 개의 메뉴 항목이 표시됩니다). 그러나 실행하려고 하면 다음 오류가 발생합니다.

error: failure reading sector 0x0fc from 'hd2'.
error: failure reading sector 0x0e0 from 'hd2'.
error: failure reading sector 0x0 from 'hd2'.
error: can't find command 'linux'.
error: can't find command 'initrd'.

첫 번째 부팅 시도에서만 섹터 읽기 오류가 발생하고(기록에 따르면 fsck는 드라이브가 깨끗하다고 ​​보고함) 재시도하면 명령을 찾을 수 없음 오류가 표시됩니다. grub.conf 메뉴 항목은 다음과 같습니다.

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Arch (on /dev/mapper/arch-Root)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-38305dfb-279b-4490-948b-480b81fef81f' {
    insmod part_gpt
    insmod lvm
    insmod ext2
    set root='lvmid/6ZmQFy-ijXr-mYra-3Gp9-l0dh-J4Wi-GSHXhd/WGN2VN-t34t-rYWi-kvje-2BfF-WoD4-4NinnP'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint='lvmid/6ZmQFy-ijXr-mYra-3Gp9-l0dh-J4Wi-GSHXhd/WGN2VN-t34t-rYWi-kvje-2BfF-WoD4-4NinnP'  38305dfb-279b-4490-948b-480b81fef81f
    else
      search --no-floppy --fs-uuid --set=root 38305dfb-279b-4490-948b-480b81fef81f
    fi
    linux /boot/vmlinuz-linux root=UUID=38305dfb-279b-4490-948b-480b81fef81f rw quiet
    initrd /boot/initramfs-linux.img
}

이 문제를 해결하는 방법을 아는 사람이 있나요? 아치로 부팅할 수 있는 솔루션(fedora 대신 아치에서 부트로더를 다시 설치하는 것 제외)은 괜찮습니다. grub.cfg 파일을 직접 편집해도 괜찮습니다.

답변1

LVM 파티션 없이 데비안을 설치한 뒤 남은 디스크 공간에 부트 파티션을 사용하면서 LVM을 이용해 설치한 페도라를 설치했다. 데비안 설치에서는 LVM을 사용하지 않기 때문에 grub2-mkconfig를 실행할 때 페도라 파티션을 읽어서 grub 항목을 추가할 수 없습니다. 나에게 도움이 된 것은 lvm2데비안에 패키지를 설치하고 update-grub.

답변2

부트로더 없이 Arch를 설치했다고 하셨습니다. 게시한 오류는 유효한 부팅 섹터가 전혀 없음을 의미합니다. IIWY 저는 Arch Linux를 설치한 다음 Fedora 23을 설치하겠습니다. Fedors 설치 프로그램은 부팅 섹터를 grub으로 덮어쓰며 최악의 경우 사용자 정의 grub 항목을 사용하여 Arch를 체인로드할 수 있습니다.

저는 그럽 전문가와는 거리가 멀지만 Windows 7, Solaris 11, CentOS 7 및 Ubuntu 14.04를 부팅하기 위해 노트북을 구입했습니다. :-DI 탭댄스를 좀 춰야겠어요!

관련 정보