우리는 최근 운영 체제를 Debian 8.7.1에서 Debian 9.x로 변경하기로 결정했습니다. (참고: 이는 전통적인 업그레이드 프로세스가 아닙니다.) 우리 제품에서 이를 구현하기 위해 기본적으로 파티션 및 grub 부팅 스왑을 사용하여 전체 OS를 교체합니다.
이 모든 것은 Debian 8 -> Debian 8부터 작동합니다. 그러나 Debian 9를 사용하여 이 작업을 수행하려고 하면 대상 파티션에 빈 파일 시스템이 생성됩니다.
다른 파티션에서 실행할 때 다음 명령을 사용하여 Debian 9 기반 이미지를 추출했습니다.
dd if=/dev/sda2 bs=1M | gzip --best - > /mnt/image/image.gz
그런 다음 새로운 전체 OS 이미지인 image.gz를 얻습니다.
Debian 8 시스템은 image.gz 파일을 가져오고 다음 명령을 실행합니다.
gunzip -c /tmp/image.gz | dd of=/dev/sda3 bs=1M
모든 것이 잘 작동하지만 해당 파티션으로 부팅하도록 grub을 변경하면 파일이 없습니다. 물론, 알려진 좋은 파티션으로 전환하고 마운트했는데 파일 시스템이 비어 있었습니다.
dd 및 partclone.ext4를 사용해 변경 사항이 있는지 확인했지만 결과는 동일했습니다.
지금까지 우리가 발견한 유일한 것은 Debian 9에서는 로그가 64비트이고 Debian 8에서는 다음 명령을 실행할 때 이에 대한 언급이 없다는 것입니다.
file -sL /dev/sda3
편집: kern.log의 출력
Oct 22 22:05:34 machine kernel: [280285.531140] EXT4-fs (sda3): error count since last fsck: 3 Oct 22 22:05:34 machine kernel: [280285.531159] EXT4-fs (sda3): initial error at time 1508450313: htree_dirblock_to_tree: 914: inode 2: block 8774 Oct 22 22:05:34 machine kernel: [280285.531177] EXT4-fs (sda3): last error at time 1508450339: htree_dirblock_to_tree:914 : inode 2: block 8774 Oct 23 14:05:01 machine kernel: [337855.006072] EXT4-fs error (device sda3): htree_dirblock_to_tree:914: inode #2: block 8774: comm ls: bad entry in directory: rec_len is smaller than minimal - offset=0(0), inode=0, rec_len=0, name_len=0
Debian 9에서 생성된 ext4 파티션을 Debian 8 시스템에 마운트하는 것이 불가능합니까?