두 개의 HDD 이미지를 1개로 병합하는 데 문제가 있습니다.

두 개의 HDD 이미지를 1개로 병합하는 데 문제가 있습니다.

각각 2개의 파티션이 있는 2개의 HDD 이미지 파일이 있습니다.

각 이미지에서 첫 번째 파티션은 grub 부팅 파티션이고 두 번째 파티션에는 파일과 커널이 포함되어 있습니다. 첫 번째 이미지의 두 번째 파티션에는 2.4 커널이 포함되어 있고, 두 번째 이미지의 두 번째 파티션에는 2.6 커널이 포함되어 있습니다.

2.4 커널과 파일 또는 2.6 커널과 파일을 부팅하도록 선택할 수 있도록 하나의 드라이브에 넣으려고 합니다.

첫 번째 이미지를 드라이브에 쓴 다음 gparted를 사용하여 두 번째 이미지의 두 번째 파티션을 드라이브에 복사하여 이제 3개의 파티션(grub, 2.4, 2.6)을 갖게 되었습니다.

루트, 커널 등의 파티션으로 (hd0, 2)를 사용하여 grub 부팅 항목을 추가하고 cmdline이라고 생각되는 항목에 root=/dev/hda3을 추가했습니다.

첫 번째 grub 항목은 첫 번째 파티션에서 작동하지만 두 번째 파티션을 실행하려고 하면 부팅되지만 파일에 액세스할 수 없는 것 같고 /dev/hda를 확인할 때 DMA 오류가 발생합니다. 그러면 특정 파일을 쓰거나 읽을 수 없기 때문에 응용 프로그램이 실패하게 됩니다.

반대 방법을 시도하고 두 번째 이미지를 먼저 이미지화한 다음 첫 번째 이미지의 파티션을 추가하면 동일한 오류가 발생합니다. 작성한 첫 번째 이미지는 부팅할 수 있지만 복사된 파티션은 부팅할 수 없습니다.

나는 커널 2.4/2.6을 실행하는 매우 폐쇄적인 시스템에서 이것을 시도하고 있으므로 파기할 수 있는 양이 제한되어 있지만 나중에 필요한 경우 사진을 찍어 특정 DMA 오류를 읽을 수 있습니다.

답변1

나는 문제를 해결했고, 그것이 특이한 문제이기는 하지만, 내가 작업하고 있는 시스템만큼 형편없게 작성된 임베디드 시스템에서 작업하려는 누군가에게 도움이 될 수도 있습니다.

부팅 시 initrd(초기 램 디스크) 이미지가 마운트되고 루트 디렉터리에 있는 linuxrc라는 파일이 실행됩니다. 이 파일은 HDD 파티션을 마운트하고 운영 체제를 부팅하는 역할을 합니다. 내 경우에는 일반적으로 cmdline에서 root=로 정의된 파티션을 마운트하는 행이 주석 처리되었고 항상 /dev/hda2를 정적으로 마운트하는 행이 추가되었으므로 아마도 부팅되지 않는 것 같습니다.

관련 정보