복제된 드라이브를 부팅할 수 없습니다. (LUKS 암호화 드라이브입니다)

복제된 드라이브를 부팅할 수 없습니다. (LUKS 암호화 드라이브입니다)

시스템에서 SSD를 제거했습니다. 그것가지다LUKS를 통한 전체 디스크 암호화(LVM 사용 안 함)

이 드라이브를 다른 목적(다른 시스템에서)으로 재사용하고 싶습니다. 나는 암호화되지 않은 Arch Linux 시스템(모든 계정에서 문제가 없고 부팅 가능함)을 이전에 암호화된 드라이브에 복제(dd 사용)했습니다. 그러나 복제된 드라이브는 부팅되지 않습니다.

내가 사용하는 dd 명령은 다음과 같습니다.

dd if=/dev/sda of=/dev/sdb bs=1M status=progress

(내 입력 및 출력 장치도 정확합니다.) 복제한 디스크가 원래 하드웨어로 돌아가서 부팅되고 정상적으로 실행됩니다. 새(복제) 디스크에는 동일한 하드웨어가 있습니다.

새로 복제된 디스크는 예상대로 동일한 파티션 구조와 동일한 UUID를 갖습니다. 또한 새 디스크를 마운트하고 디렉터리를 탐색하면 모든 파일이 예상대로 나타납니다. 검사 결과 새로 복제된 디스크는 동일해 보였고 뚜렷한 손상도 없었습니다. 예를 들어 UEFI 로더 구성 파일을 열고 읽어 UUID 번호를 확인할 수 있습니다. 또한 blkidUUID가 올바른지 확인하기 위해 실행할 수도 있습니다 .

두 시스템 모두 UEFI를 사용하여 부팅됩니다. vfat EFI 파티션은 새로 복제된 드라이브에 있으며 정상적으로 보입니다. 앞에서 언급했듯이 기본 로더 구성에는 적절한 UUID가 있습니다(복제된 드라이브에 대해 변경된 사항이 없으므로).

복제된 디스크에서 부팅하려고 할 때 나타나는 오류는 다음과 같습니다.

:: running early hook udev
starting version 231
:: running hook [udev]
Waiting 10 seconds for device /dev.. (it lists the partition ID)
ERROR: device [partition UUID] not found. Skipping fsck.
ERROR: unable to find root device [partition UUID]
You are being dropped into a rescue shell

Archie는 구조 쉘에 떨어졌습니다.

편집하다:

복제된 드라이브는 USB를 통해 시스템에 연결됩니다. SATA로 연결을 변경하자 문제가 사라졌습니다. 드라이브가 작동하고 시스템이 예상대로 부팅됩니다.

시스템이 USB 드라이브의 btrfs 스냅샷에서 부팅하도록 테스트되었으며 제대로 작동했기 때문에 USB를 통해 설치하면 복제된 드라이브가 제대로 작동할 것으로 예상했습니다.

답변1

시스템이 루트 파일 시스템을 찾으려고 시도하는 위치로 부팅되고 이 시점에서 실패합니다. 이는 일반적으로 커널에 필요한 드라이버가 없음을 나타냅니다. 귀하의 시스템(대부분의 비임베디드 시스템과 마찬가지로)은 initramfs를 사용하므로 여기서 "커널"은 /boot/bzImage커널 이미지(또는 상주하는 모든 위치)에서 컴파일된 드라이버 세트와 initramfs 세트에 있는 드라이버를 의미합니다. 필요한 드라이버에는 버스 컨트롤러, 디스크 컨트롤러, 디스크 유형, 파티션, 소프트웨어 RAID 계층, 암호화 계층, LVM, 파일 시스템 등 파일 시스템에 액세스하는 데 필요한 모든 것이 포함됩니다. 귀하의 경우에는 분명히 더 높은 계층이 있지만 연결하면 디스크를 다른 인터페이스(예: SATA 대신 USB, 다른 컨트롤러의 다른 SATA 포트 등)에 연결하면 해당 인터페이스에 대한 드라이버가 누락될 수 있습니다. 너는 필요할지도 모른다initramfs 재생성.

위에서 말했듯이아치스 위키:

한 컴퓨터에서는 성공적으로 시작되었지만 다른 컴퓨터에서는 실패했습니다.

(…) /boot디렉토리를 다른 시스템으로 이동하고 초기 사용자 공간에서 부팅 순서가 실패하는 경우 커널 모듈 누락으로 인해 새 하드웨어가 감지되지 않기 때문일 수 있습니다. (…) 노력하다수동initramfs에 모듈을 추가합니다.

관련 정보