LVM 파티션에 그럽

LVM 파티션에 그럽

기본적으로 내 문제는 아주 작은 파티션(88 Mo)인 /boot(/dev/sda1)였습니다.

이 시스템에서 사용 가능한 VolumeGroup을 사용하여 새 LVM 볼륨(600Mo)을 포맷했습니다.

그런 다음 /boot/의 내용을 새 LVM 파티션( cpio)에 복사했습니다.

umount /boot이전 /boot 파티션을 대체하기 위해 Fstab에서 일부 변경을 수행했습니다 .

마지막으로 update-grub새로운 grub.cfg. 재부팅했는데 이미 작동 중이었습니다. 나는 새로운 LVM 파티션이 옳다고 생각했기 때문에 fdisk /dev/sda를 사용하여 /dev/sda1.

이제 부팅 시 Grub Rescue가 있습니다.

Ubuntu livecd를 사용하더라도 다음과 같습니다.

grub-install --modules='lvm' /dev/rootvg/bootlv

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.


grub-install --modules='lvm' /dev/sda5

/usr/sbin/grub-probe: error: cannot find a device for /boot/grub/
No path or device is specified.

같은 오류...

기존 LVM 장치에 Grub 부트로더를 설치하는 솔루션이 있습니까?

답변1

어쩌면 (저는 lvm과 grub을 처음 접하는 사람입니다) 다음과 같이 grub을 설치해야 할 수도 있습니다.

grub-install --modules='lvm' --boot-directory=/dev/rootvg/bootlv dev/sda

grub을 MBR에 배치하고 grub 파일이 있는 /boot 파티션으로 /dev/rootvg/bootlv를 사용합니다.

그러나 디스크가 GPT이고 BIOS로 부팅하는 경우 BIOS_grub 유형의 특수 파티션 1MiB ~ 8MiB가 필요합니다(어떤 형식도 없이 grub의 stage2에 대한 원시 파티션임).

EFI 파티션 및 LVM이 있는 [U]EFI에서 Grub2를 부팅하는 데 많은 문제가 있습니다. 3 스트라이프 Raid0 LVM 내부에 /boot 파티션이 있지만 BIOS 부팅 모드에서는 정상적으로 부팅할 수 있습니다.

GPT 스타일의 3개 HDD(모두 동일한 크기, 위치 등)에 있는 파티션: GPT1: LVM(큰 것, 나머지 HDD 공간) GPT2: EFI(512MiB, FAT32) GPT3: bios_grub(8MiB, 형식 없음) - 날것의)

모든 /dev/sd[ac]1에 vg를 생성하고 LVM 내부에 /boot에 대한 하나의 파티션을 생성합니다.

다음을 사용하여 /boot를 마운트합니다: mount /dev/mapper/bla_bla_bla /boot

EFI 마운트 지점을 생성합니다(실제로는 필요하지 않지만 grub2-install에서 글자 수를 줄이는 데 도움이 됩니다).

/boot/efi에 /dev/sda2를 마운트합니다.

그런 다음 다음 명령을 사용하여 필요한 모듈에 lvm을 추가합니다.

echo GRUB_PRELOAD_MODULES=\"lvm\" >> /dev/default/grub

그런 다음 다음 명령으로 Grub2를 설치합니다.

grub-install --target=i386-pc /dev/sda

짜잔, BIOS 모드에서 마운트를 해제하고 재부팅하면 Grub2가 부팅됩니다.

중요, /boot 마운트를 해제하기 전에 /boot/grub/grub.cfg를 필요한 내용에 맞게 편집하세요.

그리고 제가 OS를 부팅하는 것이 아니라 LVM 파티션 내부에 Grub2만 설치하고 부팅할 수 있다는 점을 기억하세요.

참고: 대상 x86_64-efi로 설치하면 두 개의 메시지가 표시되고 [U]EFI 모드에서 올바르게 부팅되지 않으면 LVM에 액세스할 수 없습니다.

PD: [U]EFI 모드와 BIOS 모드에서 SystemRescueCD.iso 루프로 부팅할 수 있는 두 개의 서로 다른 USB 스틱을 생성하는 알려진 수준에 도달했지만 LVM 내부에 있는 Grub2로 부팅하려고 하면 문제가 발생합니다. [U]EFI 모드... 저는 전문가가 아닙니다... 저는 Grub2 및 LVM, LUKS 등을 작업해 왔습니다... 제 의도는 매우 복잡한 부팅을 만드는 것입니다... Raid0 LVM에 3개의 USB 스틱이 없습니다. /boot 외부 LVM 및 [U]EFI 전용 PC, 기존 BIOS 전용 PC, 혼합 PC 등에서 부팅할 수 있습니다. /boot인 경우 [U]FI와 BIOS 모두에서 부팅할 수 있는 시점에 이르렀습니다. LVM 외부에 있고 LVM 내부에 /boot가 있는 BIOS 모드에 있지만 LVM 내부에 /boot가 있는 [U]EFI에는 없습니다.

PPD: LVM을 마운트하지 않는 grub2*.efi의 버그인 것 같아서 BIOS 모드로 부팅하는 것이 좋습니다... 이 중에서 ArchLinux의 일부 기사를 읽은 적이 있는데, 이 기사에서는 LVM 없이 LVM에 설치할 수 있다고 합니다. /boot 파티션이 있고 LVM 내부에 /가 있지만 단계별로 얻지 못했고 재현할 수도 없습니다. 그리고 그것은 내 실제 목표가 아닙니다. Linux를 설치하는 것을 원하지 않기 때문에 Grub2만... 최종 실제 목표는 Linux를 LUKS 파티션 내부의 LVM 파티션 내부에 있는 큰 파일 안에 두는 것입니다. 3개의 물리적 HDD id raid0 모드(3 스트라이프)를 사용하고 [U]EFI 및 Bios 부팅 모드가 있는 USB에서 부팅하는 LVM 파티션(큰 파일 내부에 있는 Grub2에 체인 로드하는 Grub2 포함), Grub2는 커널을 로드합니다. 큰 파일 내부의 initram 등... 등; 그런 Linux가 있다는 그럴듯한 거부입니다... HDD에서 부팅하면 암호화된 Linux가 표시됩니다. rootfs에 제가 언급한 큰 파일이 있지만, 외부 USB 스틱에서 부팅하면 해당 파일 내에서 Linux를 부팅하는 방법을 알 수 있습니다. ... 편집증 모드: 이러한 체인 로드를 수행하는 명령은 USB 스틱이 아닌 내 마음 속에 있을 것입니다. USB 스틱에서는 SystemRescueCD.iso 루프 부팅만 가능하지만 부팅을 선택하는 대신 c를 입력하여 grub 콘솔을 사용하고 내가 언급한 큰 파일 내에서 Linux에 체인로드하는 명령을 입력합니다... 이것이 너무 복잡하다는 것을 알고 있습니다... 그러나 암호 문구에 따라 더미 OS를 마운트하는 TrueCrypt/VeraCrypt의 트릭이 없습니다. 또는 숨겨진 OS, 다른 옵션이 없어서 몇 달 전에 첫 번째 단계부터 시작했습니다... [U]EFI 및 BIOS 전용 PC에서 부팅되는 USB가 있고(완료) LVM 내부에 Grub2가 있습니다(완료) BIOS 모드, [U]EFI 모드 오류) 왼쪽으로 걸어야 할 단계가 너무 많습니다.

내 구성표와 명령이 시스템 부팅 방법을 찾는 데 도움이 되거나 적어도 검색 옵션을 제공할 수 있기를 바랍니다.

관련 정보