외부 HD를 수정하는 방법?

외부 HD를 수정하는 방법?

700GB exFAT 파티션과 300GB LUKS 파티션이라는 두 개의 파티션으로 나누어진 외장 하드 드라이브가 있습니다. 내 컴퓨터에서 luks 파티션으로 복사하고 있었는데 속도가 느려지고 멈춰서 USB 연결을 제거하기로 결정했습니다. 이제 LUKS 파티션이 마운트되지 않았고 중요한 파일로 가득 차 있습니다. :( 이 문제를 어떻게 해결할 수 있습니까? 다음은 두 가지 출력입니다.

$ sudo parted -l

Model: ********** (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size   Type     File system  Sinalizador
 1      1049kB  300GB   300GB  primary
 2      300GB   1000GB  700GB  primary

$ sudo fsck /dev/sdb

fsck from util-linux 2.28.2
e2fsck 1.43.3 (04-Sep-2016)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Found a dos partition table in /dev/sdb

도와주세요!

편집하다

나는 팔로우한다이것튜토리얼을 보고 슈퍼블록 백업으로 복원해 보세요. 이것을 사용하여 모든 백업을 찾았습니다.

$ sudo mke2fs -n /dev/sdb

mke2fs 1.43.3 (04-Sep-2016)
Found a dos partition table in /dev/sdb
Proceed anyway? (y,n) y
Creating filesystem with 244189952 4k blocks and 61054976 inodes
Filesystem UUID: ***************************
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000, 214990848

나열된 모든 블록 번호를 복원하려고 시도했지만 항상 동일한 오류 메시지가 표시됩니다. 예:

$ sudo e2fsck -b 32768 /dev/sdb

e2fsck 1.43.3 (04-Sep-2016)
e2fsck: Bad magic number in super-block while trying to open /dev/sdb

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

Found a dos partition table in /dev/sdb

답변1

fsck명령이 잘못된 장치 노드를 가리 켰습니다 .

디스크를 분할하는 중이므로 /dev/sdb전체 디스크 장치에서 파일 시스템 복구 도구를 실행해서는 안 됩니다. /dev/sdb실제 파티션에서만 실행해야 합니다.

그러나 /dev/sdb2파티션이 LUKS 암호화 파티션이기 때문에 이를 실행하는 것은 fsck전혀 sdb2쓸모가 없습니다. 파티션이 암호화되어 있기 때문에 sdb2해당 내용은 LUKS 헤더를 제외하고 기본적으로 무작위 노이즈와 구별할 수 없게 보입니다. 이것이 암호화가 하는 일입니다.

대신 먼저 다음을 사용하여 암호화를 잠금 해제해야 합니다.

cryptsetup luksOpen /dev/sdb2 sdb2_crypt

암호화된 비밀번호를 묻는 메시지가 표시됩니다. 명령이 성공하면 다른 장치 노드가 생성됩니다 /dev/mapper/sdb2_crypt. 장치를 사용하고,오직이 장치에서는 LUKS 암호화/암호 해독 "필터"를 통해 암호화된 파티션의 콘텐츠에 액세스할 수 있어 암호화되지 않은 일반 장치처럼 보입니다. 시스템을 종료하거나 cryptsetup luksClose잠긴 암호화를 사용하면 암호화가 다시 잠금 해제될 때까지 장치가 사라집니다.

여기에는 파일 시스템 검사 실행이 포함됩니다.

fsck /dev/mapper/sdb2_crypt

/dev/mapper/sdb2_crypt마찬가지로 암호화된 파티션을 마운트할 때는 원래 암호화된 파티션이 아닌 해당 장치를 사용해야 합니다 /dev/sdb2.

답변2

LUKS 헤더가 손상되지 않았는지 확인하세요.

cryptsetup luksDump /dev/sdb2

오류가 발생하면 죄송하지만 LUKS 헤더를 백업하지 않으면 중요한 파일을 복구할 수 없습니다.

LUKS 헤더의 백업이 있는 경우 복원할 수 있습니다.

cryptsetup luksHeaderRestore /dev/sdb2 --header-backup-file somefile

답변3

하드웨어 계층부터 시작하는 것이 좋습니다. /var/log/messages에 디스크 관련 오류가 표시됩니까? 예를 들어, 케이블이나 디스크 자체가 이러한 문제의 근본 원인일 수 있습니다. 문제는 하드웨어 문제라면 발생한 재해가 복구되더라도 다시 발생할 가능성이 높다는 점이다.

관련 정보