Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

Linux에서 불량 디스크 블록 복구:입증된 기술

Microsoft Windows 버전으로 일부 Linux 배포판을 이중 부팅하는 사용자는 때때로 특정 운영 체제 또는 다른 운영 체제에 더 많은 공간을 남겨두기 위해 특정 파티션을 축소하거나 늘리려고 시도할 수 있습니다. 궁극적으로 Linux의 GParted 또는 Windows의 chkdsk에서 불량 섹터가 있다는 경고를 받을 수 있습니다. Linux의 개별 사용자도 때때로 동일한 결과를 얻을 수 있습니다. 그럼에도 불구하고 사용자는 실제로 동일한 것으로 가장하는 두 가지 다른 유형의 불량 섹터에 대한 알림을 받을 수 있습니다. 하나는 디스크 플래터나 NAND 메모리 셀의 물리적 구조에 문제가 있음을 나타내는 불량 섹터에 대한 전통적인 알림입니다. 이는 불량 섹터와 불량 블록 사이에 사소하지만 매우 기술적인 차이가 있지만 대부분의 사람들이 불량 블록에 대해 불평할 때 의미하는 것입니다. 그러나 기계가 섹터를 불량으로 잘못 표시하는 경우는 거의 없습니다.

이는 소프트 불량 섹터 또는 소프트웨어 불량 블록으로 알려져 있으며 간단한 파일 시스템 작업을 통해서만 수정할 수 있습니다. 그러나 불량 블록에 쓰기의 위험을 고려하면 고정된 볼륨을 처리할 때 항상 SMART 데이터 검사로 조사를 시작하는 것이 좋습니다. 이는 비파괴적이며 진행하기 전에 형상 문제를 제거할 수 있습니다. 고정된 볼륨으로 작업하지 않는 경우 다음 방법으로 조사를 시작하는 것이 좋습니다.

방법 1:SMART 데이터 확인

이러한 불량 섹터는 단순한 소프트웨어 오류라고 믿기 쉽지만, 그것이 사실인지 확인할 수 있는 방법이 있습니다. SMART 데이터를 사용하면 디스크 자체 펌웨어를 쉽게 검사하고 확실히 알 수 있습니다. Unity의 대시, Xfce4의 Whisker 메뉴, LXDE의 액세서리 메뉴 또는 KDE의 GNOME 응용 프로그램 메뉴에서 GNOME 디스크 유틸리티를 엽니다. 터미널에 gnome-disks를 입력하고 Enter 키를 눌러 시작할 수도 있습니다. 왼쪽 열의 포인터로 하드 디스크를 강조 표시한 후 오른쪽 창 컨트롤 옆에 있는 메뉴를 클릭합니다. 대부분의 GNU/Linux 설치에서 디스크 유틸리티는 기본 하드 디스크로 기본 설정됩니다.

메뉴에서 SMART 데이터 및 자체 테스트를 선택합니다. CTRL을 누른 상태에서 S를 눌러 이 창을 열 수도 있습니다. 그러면 드라이브의 현재 상태가 표시됩니다. 값이 비어 있으면 자체 테스트 시작 버튼을 클릭하여 디스크가 자체 검사를 실행하도록 합니다. 상단의 전체 평가 라인은 GNOME 디스크 유틸리티가 귀하의 드라이브에 대해 어떻게 생각하는지 알려줍니다.

전체 화면 디스플레이에서도 SMART 속성을 스크롤해야 할 수도 있습니다. Reallocation Count라는 옵션에 특별한 주의를 기울이십시오. 이는 이미 재할당된 섹터 수를 보여줍니다. 불량 섹터가 많으면 드라이브가 완전히 고장나기 전에 교체하는 것이 좋습니다.

방법 2:올바른 슈퍼 블록 확인

때로는 SMART 데이터가 모든 것을 순서대로 표시했지만 특정 디스크 유틸리티에서 "Bad Superblock" 오류를 받았을 수도 있습니다. SD 카드, USB 메모리 스틱 또는 기타 유사한 메모리를 사용하여 작업하는 경우 SMART 데이터를 읽을 수 없지만 여전히 오류가 발생할 수 있습니다. 이는 소프트웨어 문제일 수 있습니다. 다음과 같은 명령을 실행할 때의 문제를 생각해 보십시오:

fsck.ext4 /dev/sda

이는 파일 시스템의 마스터 블록을 참조하는 잘못된 슈퍼 블록이 있음을 나타낼 가능성이 높습니다. 이는 실제 불량 블록이 아닌 CLI 오류의 결과입니다. /dev/sdb는 파티션이 아닌 드라이브를 참조하므로 fsck 명령은 슈퍼블록이 없는 슈퍼블록을 찾아 뭔가 잘못되었다고 잘못 생각하게 됩니다. 다행스럽게도 이것은 파괴적인 명령은 아니었습니다. 실행:

sudo fsck.ext4 /dev/sda1

이제 파일 시스템이 깨끗하다는 것을 알 수 있습니다. ext 뒤에 오는 번호가 볼륨의 ext 버전과 일치하는지 확인하세요.

FAT12/16/32, NTFS 또는 HFS/HFS+ 볼륨에서 ext2/3/4 fsck를 실행하려고 시도하는 경우에도 이 오류가 발생할 수 있습니다. 실제로 파일 구조 유형이 예상한 것과 일치하지 않는 경우 일관성 검사기는 혼란스러워지고 뭔가 잘못되었다고 생각합니다. 사용 중인 비트 버전에 관계없이 FAT 볼륨에서 fsck.vfat 또는 dosfsck를 실행하세요. dosfsck 또는 fsck.vfat(일부 Linux 버전에서는 fsck.msdos) 다음에 -t 스위치를 사용하여 읽을 수 없는 클러스터를 불량 블록으로 표시할 수 있습니다.

방법 3:NTFS 볼륨에서 불량 블록 확인

Microsoft Windows 및 Linux를 이중 부팅하고 NTFS 볼륨에 슈퍼 블록 또는 기타 불량 섹터 오류가 있다고 가정한 다음 Windows를 다시 시작하고 명령줄에서 chkdsk /r c:를 실행하고 c:를 문제의 NTFS 볼륨의 드라이브 문자로 바꿉니다. 표면 스캔을 완료하려면 Windows를 재부팅해야 할 가능성이 높습니다. 이 작업은 시간이 좀 걸릴 수 있으므로 운영 체제가 응답하지 않는 것 같으면 문제의 시간이 너무 길기 때문일 뿐입니다. 올바른 권한이 없다는 오류가 표시되면 시작 메뉴에서 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭하고 계속하기 전에 관리자 권한으로 실행을 선택하세요.

Linux에서만 NTFS 볼륨을 사용하여 작업하는 경우에는 이 정도의 리소스가 없지만 불량 블록 오류가 단순히 유형 불일치로 인해 발생했다면 이를 수정할 수 있는 방법이 있습니다. sudo ntfsfix /dev/sdb1을 실행하여 /dev/sd 뒤의 문자와 숫자를 올바른 장치 및 파티션 식별자로 바꿉니다. 시스템에 연결된 모든 볼륨의 이름을 확인하기 위해 언제든지 sudo fdisk-l을 실행하거나 GNOME 디스크 유틸리티가 설치된 경우 다시 돌아갈 수 있다는 점을 기억하십시오. 더티 비트를 지우고 싶다면 sudo ntfsfix -d /dev/sdb1로 실행할 수 있습니다.

불량 섹터가 있는 기존 디스크를 새 볼륨에 복제한 경우와 같이 NTFS 볼륨에 물리적 하드웨어 구조로 인한 것이 아닌 소프트 불량 블록이 있다고 확신하는 경우 원하는 볼륨에서 sudo ntfsfix -bd /dev/sdb1을 실행하세요. 불량 블록 마커 목록이 재설정됩니다.

방법 4:badblocks Linux 유틸리티 사용

라이브 ISO Linux 버전으로 부팅했거나 ext2, ext3 또는 ext4 파일 시스템을 마운트 해제하는 다른 방법을 찾은 후 실제로 sudo fsck.ext4 -c /dev/sda1을 실행하여 잘못된 블록에 대한 읽기 전용 검사를 수행할 수 있습니다. 당연히 제대로 실행하려면 /dev/sd 뒤에 올바른 볼륨 식별자를 사용하고 fsck.ext 뒤에 올바른 확장 버전 번호를 사용해야 합니다. 대신 -cc를 지정하면 프로그램은 훨씬 더 광범위한 비파괴 읽기-쓰기 테스트를 사용합니다.

이는 badblocks 유틸리티를 사용하는 일반적인 방법이지만 기술적으로는 단독으로도 사용할 수 있습니다. 장치 이름에 대해 sudo badblocks -n을 실행하면 자체적으로 실행되고 터미널에서 바로 불량 블록을 보고할 수 있습니다. -w 옵션을 사용하여 쓰기 모드 테스트를 사용할 수 있지만 -n 및 -w 옵션은 상호 배타적이므로 함께 사용하지 마십시오. 어떤 경우에도 데이터가 있는 볼륨에 -w 옵션을 사용하면 안 됩니다. 모든 것을 깨끗하게 지울 것이기 때문입니다. 이 경우 데이터가 보존되므로 더 느린 -n 옵션을 사용하십시오. -w 옵션은 지워도 괜찮은 볼륨에 적합합니다. -v 옵션은 둘 중 하나와 결합할 수 있으며 터미널에 데이터 손상을 검사하는 데 유용한 자세한 출력을 제공합니다. 나중에 볼 수 있도록 정보를 기록하기 위해 언제든지 텍스트 파일 이름과 함께 -o 옵션을 사용할 수 있습니다. 진짜 불량 블록이 있는 경우 많은 정보를 볼 수 있으므로 sudo badblocks -nv -o badblocks.log /dev/sdb1로 실행하여 스냅샷을 얻을 수도 있습니다.

저자 소개

Linux에서 불량 디스크 블록 복구:입증된 기술

케빈 애로우

Kevin Arrows는 10년 이상의 업계 경험을 보유한 경험이 풍부하고 지식이 풍부한 기술 전문가입니다. 그는 MCTS(Microsoft Certified Technology Specialist) 인증을 보유하고 있으며 최신 기술 개발에 대한 최신 정보를 얻으려는 깊은 열정을 가지고 있습니다. Kevin은 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅과 같은 분야에서 자신의 전문 지식과 지식을 보여주면서 광범위한 기술 관련 주제에 대해 광범위하게 글을 썼습니다. 기술 분야에 대한 그의 공헌은 동료들로부터 널리 인정받고 존경받고 있으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 높은 평가를 받고 있습니다.