컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 하드디스크의 논리적 잠금이란 무엇이며 어떻게 해제하나요?

하드디스크의 논리적 잠금이란 무엇이며 어떻게 해제하나요?

하드디스크의 파티션 테이블을 본질적으로 수정하는 세 가지 유형의 하드디스크 논리 잠금이 있는데, 과거에는 일부 해커 프로그램에서만 사용되기 시작했습니다. 악명 높은 KV3000의 대규모 불법 복제 방지 사건 당시 Jiangmin Company는 불법 복제를 단속하려고 노력하고 있었습니다. KV3000 새 버전 업그레이드 프로그램에는 사용자가 불법 복제된 KV3000을 사용하고 있는 것이 감지되면 하드 디스크의 파티션 테이블을 잠그는 일종의 해커 프로그램이 이식되었습니다. 그러나 당시 수많은 무고한 사람들이 피해를 입었고 이에 대해 강민회사가 유죄판결을 받았다. 이것은 오래된 뉴스입니다. 세 가지 상황과 해결책을 소개하겠습니다. 먼저 하드디스크의 파티션 테이블을 살펴보겠습니다. 하드 디스크 파티션 테이블은 디스크의 섹터 0, 헤드 0, 실린더 1에 위치합니다. 이 섹터의 ​​01BEH에서 시작하는 64바이트가 파티션 테이블입니다. 파티션 테이블은 길이가 64바이트이고 4개의 열로 구분됩니다. 각 열에는 파티션을 설명하는 16바이트가 포함됩니다. FDISK 프로그램을 사용하여 분할하는 경우 최대 두 개의 열만 사용하십시오. 첫 번째 열은 기본 부팅 파티션을 설명하고 두 번째 열은 확장 파티션을 설명합니다. 파티션 테이블의 구조와 각 바이트의 의미는 다음과 같습니다. 00H - 활성 바이트를 표시합니다. 활성 DOS 파티션은 80H이고 나머지는 00H입니다. 01H - 이 파티션의 논리적 0 섹터가 위치한 헤드 번호입니다. 02H - 논리 0 섹터가 위치한 실린더의 섹터 번호입니다. 03H - 논리 0 섹터가 위치한 실린더 번호입니다. 04H - 파티션 유형 플래그. 05H - 이 파티션의 마지막 섹터의 헤드 번호입니다. 06H - 마지막 섹터의 섹터 번호입니다. 07H - 마지막 실린더의 실린더 번호. 08H - 이 파티션 앞의 하드 디스크에 있는 총 섹터 수(2바이트로 표시)입니다. 0CH - 숨겨진 섹터를 제외한 논리적 0 섹터부터 계산하여 이 파티션의 총 섹터 수를 더블바이트로 표시합니다. 파티션 테이블의 마지막 2바이트는 유효한 플래그입니다. 변경 후에는 하드 디스크에서 부팅할 수 없습니다. 이는 하드 디스크를 잠그는 첫 번째 간단한 방법입니다. 그러나 플로피 디스크로 부팅하면 모든 것이 정상입니다. 부팅 후에는 Debug 또는 Diskedit와 같은 소프트웨어를 사용하여 하드 디스크 파티션 테이블의 플래그를 복원할 수 있습니다. 두 번째 방법은 파티션 매개변수를 수정하는 것입니다. 파티션 매개변수를 모두 0으로 변경하면 부팅 후 파티션 매개변수를 찾을 수 없기 때문에 하드디스크를 부팅할 수 없습니다. 그러나 부팅 디스크는 결국 시작할 수 있습니다. 다시 시작한 후에는 플로피 디스크의 디버그 및 기타 도구를 사용하여 수정된 파티션 테이블 매개변수를 복구할 수 있습니다. 우리가 주목하고 싶은 것은 세 번째 유형인 위에서 언급한 "활성 논리적 잠금"입니다. 파티션 테이블 매개변수가 무한 루프로 수정되었기 때문입니다. 정상적인 시작 중에 DOS는 하드 디스크를 차지하고 파티션 테이블을 검색합니다. 기본 부팅 파티션은 C 드라이브로 정의된 다음 논리 드라이브를 검색합니다. 논리 드라이브는 D 드라이브, E, F, G 드라이브로 정의됩니다. 이 활성 논리적 잠금은 첫 번째 논리적 드라이브를 잠그는 것입니다. 다음 파티션(일반적으로 D 드라이브)은 자신을 가리키며 다음 파티션을 계속 읽는 것은 실제로 자신을 읽는 것이므로 무한 루프가 발생합니다. DOS 시작에는 기본 입력 및 출력 파일 io.sys가 포함되어야 하기 때문입니다(C 드라이브의 루트 디렉터리에 있는 Windows에서도 볼 수 있음). 그리고 부팅 후에는 하드 디스크 파티션 테이블을 읽어서 인계받아야 하기 때문에 부팅에 무엇을 사용하든 논리 디스크를 검색하자마자 끝없이 반복됩니다. 하드 디스크 표시등이 항상 켜져 있고 시스템이 중단됩니다. 그럼 어떻게 풀어볼까요? 기본적으로 io.sys를 비활성화하거나 작동하기 전에 파티션 테이블 매개변수를 다시 수정하는 것입니다. 1. 디버그 방법. 이 방법을 사용하려면 먼저 컴퓨터를 시작할 수 있어야 합니다. 일반 컴퓨터의 시동 플로피 디스크에 있는 io.sys 파일을 수정하고 첫 번째 "55aa" 문자열을 찾은 다음 이를 다른 값으로 수정할 수 있습니다. 이 부팅 가능한 플로피 디스크를 사용하면 잠긴 하드 드라이브로 성공적으로 부팅할 수 있습니다. 그러나 현재 하드 디스크의 파티션 테이블은 더 이상 정상이 아니므로 FDISK를 사용하여 파티션을 삭제하고 수정할 수 없으며 여전히 일반 시동 디스크를 사용하여 시스템을 시작할 수 없습니다. 수동으로 복원하려면 DEBUG하세요.

특정 명령은 다음과 같습니다: a:>debug -a -:100 mov ax,0201(섹터의 내용 읽기) -:103 mov bx,500(캐시 주소 설정) -:106 mov cx,0001(설정) 첫 번째 하드 디스크 주소) 하드 디스크 포인터) -:109 mov dx,0080 (제로 헤드 읽기) -:10c int 13 (하드 디스크 인터럽트) -:10e int 20 -:0110 Enter (참고: - 각 하드 디스크는 다릅니다. , 다음과 같습니다. 1? 자동으로 표시되며, 다음 내용만 입력하면 됩니다.) -g -d500 (실행 후 캐시 주소 500의 내용을 봅니다. 이때 우리는 6be부터 시작하는 내용이 하드디스크 파티션 테이블 정보라는 것을 알 수 있다. 만약 하드디스크의 확장파티션이 자신을 가리키면 DOS나 WINDOWS는 논리파티션을 찾느라 무한루프에 빠지게 된다.) 계속해서 수정한다. DEBUG 표시 아래의 메모리 데이터: E6BE?.0?.0?.0......55. AA 55 AA는 하드 디스크의 유효한 기호입니다. ?.0은 이전 데이터를 변경한다는 의미입니다. "?"를 0으로 변경합니다. 그런 다음 하드 디스크 인터럽트 13을 사용하여 수정된 데이터를 하드 디스크에 씁니다. A:>debug a 100(100의 주소를 수정하는 어셈블리 명령을 나타냄) -:100 mov ax,0301(a 쓰기 섹터) -: -g(실행) -q(종료)를 입력합니다. 종료한 후 fdisk/mbr을 실행하여 하드 디스크 부팅 프로그램을 재설정하고 다시 시작합니다. 이 방법은 조금 더 번거롭기는 하지만 하드 디스크 파티션 테이블을 복원할 수 있으므로 복구 후에도 하드 디스크의 데이터가 손실되지 않습니다. 다음 방법이 더 편리하지만 하드 디스크의 데이터를 보호하기 어렵거나 어느 정도 위험이 있습니다. 2. 플러그인 소프트웨어 방법 이 방법의 원리는 하드 디스크의 BIOS 감지를 우회하고 자체적으로 하드 디스크를 검색할 수 있는 일부 소프트웨어를 직접 사용하여 하드 디스크를 제어하는 ​​것입니다. 첫 번째는 DM입니다. 이제 모든 하드 디스크 제조업체에는 자체 DiskManager 프로그램이 있으며 이를 플로피 디스크에 넣어서 사용할 수 있습니다. 하드 디스크 브랜드를 모르는 경우에도 사용할 수 있습니다. IBM에서 생산한 DM Universal 버전을 사용하지만 현재 32G 이상의 대용량 하드 드라이브를 지원하지 않습니다. 먼저 BIOS에서 하드 디스크가 있는 IDE 포트를 없음으로 설정한 다음(어느 포트인지 모르는 경우 모두 없음으로 설정할 수 있음) 시동 후 시동 디스크를 사용하여 시스템을 시작합니다. 완료되면 플로피 디스크를 꺼내서 DM에 넣으십시오. 소프트웨어 플로피 디스크를 실행하고 DM을 실행하면 감염된 하드 디스크의 존재를 감지한 다음 다시 파티션을 나누면 완료됩니다. DM의 구체적인 사용법은 비교적 간단하므로 자세한 내용은 다루지 않겠습니다. 하지만 E-text를 잘 모르는 친구들은 어려움을 겪을 수 있으니 주변 전문가에게 조언을 구하세요. 로우 포맷 소프트웨어를 사용할 수도 있습니다. 각 하드 디스크에는 자체 로우 포맷 소프트웨어가 있지만 일반 Lformat 프로그램(30k 이상만)도 있습니다. 방법은 이전과 동일합니다. BIOS에서 디스크를 사용하고 부팅 디스크를 사용하십시오. 그런 다음 플로피 디스크를 변경하고 로우 레벨 포맷 프로그램을 실행하여 하드 디스크의 파티션 테이블을 사용하십시오. 파티션 테이블의 이전 부분을 포맷한 후 중지할 수 있으며, 재부팅 후 바이오스에서 하드디스크를 설정한 후 새 하드디스크처럼 파티션 작업 및 기타 작업을 할 수 있는 것으로 추정됩니다. 3. 핫스왑은 가장 위험한 방법이므로 하드 드라이브를 태울 가능성이 매우 높으므로 주의하시기 바랍니다. 구체적인 방법은 매우 간단합니다. 먼저 하드 디스크의 전원 코드를 뽑은 다음 플로피 디스크로 시스템을 시작합니다. 이때 하드 디스크의 전원 코드를 연결하면 시스템이 제어할 수 있습니다. 하드 디스크, 파티션, 파티션 테이블 복원 등이 작동합니다. 하드 드라이브를 세 번 핫스왑한 후 작업을 완료한 초보 친구가 있습니다. 그러나 이 방법은 위험하므로, 이로 인한 피해에 대해서는 책임을 지지 않습니다. 실제로 가장 좋은 상황은 파티션 테이블 백업이 있으면 복원하기가 더 쉽고 데이터가 손실되지 않는다는 것입니다.

上篇: Aoli와 Ornish의 차이점 下篇: JD 결제 한도가 단일 결제 한도를 초과하면 어떻게 해야 하나요?
관련 내용