Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

수정 방법: '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류 해결하기

일부 사용자들은 시스템 전체가 멈추거나 갑자기 BSOD(블루스크린) 크래시가 발생한 후 이벤트 뷰어(Event Viewer)에서 "디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다(The IO operation at logical block address for Disk was retried)"라는 오류 메시지를 발견했습니다. 이 문제는 주로 Windows 7 및 Windows 8 환경에서 보고되고 있습니다.

수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기

'디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류의 원인은 무엇인가요?

다양한 사용자 사례와 실제로 문제를 해결하는 데 성공한 방법들을 조사한 결과, 이 오류는 본질적으로 IO 시스템이 처리 완료를 기다리는 동안 IRP(IO 요청 패킷)가 시간 초과되었음을 의미합니다. 여러 가지 원인으로 인해 발생할 수 있는 것으로 알려져 있습니다.

조사 결과, 이 오류가 나타나는 일반적인 원인은 다음과 같습니다:

  • AHCI 디스크 모드 사용으로 인한 불안정 – NCQ(Native Command Queuing) 같은 고급 AHCI 기능을 활용하도록 설계된 환경에서 구형 시스템을 사용할 때 발생하는 것으로 알려져 있습니다.
  • 불량한 SATA 또는 전원 공급 케이블 – 연결 끊김 또는 전원 공급 문제가 원인일 수 있습니다. 현재 사용 중인 케이블을 다른 것으로 교체해 보면 확인할 수 있습니다.
  • 구버전 IDE ATA/ATAPI 컨트롤러 – Windows에서 제공하는 IDE ATA/ATAPI 컨트롤러 드라이버의 구버전에서 이 오류가 발생하는 것으로 알려져 있습니다. 드라이버를 최신 버전으로 업데이트하면 해결됩니다.
  • Dynamic Tick 기능 활성화 – 일부 컴퓨터에서는 동영상 편집, 통합 커뮤니케이션 등 멀티미디어 작업 중에 오류가 발생할 수 있습니다. 대부분 Dynamic Tick 전환 과정의 문제 때문입니다.
  • FC 연결에서 패킷 손실 발생 – Microsoft 문서에 따르면 HBA(호스트 버스 어댑터)와 스토리지 배열 사이 어딘가에서 정보 패킷이 손실되면 이 문제가 발생할 수 있습니다.
  • 하드웨어가 정의된 시간 초과 값을 초과 – 배열 컨트롤러 또는 배열 내 장치가 하드웨어가 정의된 시간 초과 값을 초과했다는 응답을 I/O 요청에 반환할 때도 발생할 수 있습니다.
  • 구버전 BIOS – 오래된 BIOS 버전 역시 이 오류를 유발할 수 있습니다. 주로 MSI 메인보드에서 보고되는 사례로, 증상이 고장 난 HDD나 SSD와 매우 유사하게 나타납니다.

'디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류를 해결할 수 있는 문제 해결 절차를 찾고 계시다면, 이 글에서 검증된 복구 전략들을 소개합니다. 아래에는 비슷한 상황의 다른 사용자들이 실제로 문제를 해결하는 데 사용한 방법들을 정리했습니다.

문제 해결 과정을 최대한 효율적으로 진행하려면, 자신의 상황에 맞는 해결책을 찾을 때까지 아래 방법들을 순서대로 따라 해 보시기 바랍니다.

방법 1: IDE ATA/ATAPI 컨트롤러 업데이트

이벤트 뷰어에서 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 반복적으로 나타난다면, 시스템이 구버전의 IDE ATA/ATAPI 컨트롤러를 사용하고 있기 때문일 수 있습니다.

동일한 오류 메시지로 고민하던 여러 사용자들이 컨트롤러 드라이버를 최신 버전으로 업데이트하여 문제를 해결했습니다. 다음은 그 절차입니다:

  1. Windows 키 + R을 눌러 실행(Run) 대화 상자를 엽니다. 그런 다음 "devmgmt.msc"를 입력하고 Enter 키를 눌러 장치 관리자(Device Manager)를 실행합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  2. 장치 관리자에서 IDE ATA/ATAPI 컨트롤러 항목을 확장합니다. 그런 다음 해당 목록의 각 항목을 마우스 오른쪽 버튼으로 클릭하고 드라이버 업데이트를 선택합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  3. 다음 화면에서 업데이트된 드라이버 소프트웨어 자동 검색을 클릭하고 화면 안내에 따라 최신 버전을 설치합니다.
  4. 모든 ATA 및 ATAPI 컨트롤러에 대해 위 절차(2~3단계)를 반복하여 모든 항목이 최신 드라이버 버전으로 실행되도록 합니다.
  5. 컴퓨터를 재시작한 후 이벤트 뷰어에서 해당 오류가 더 이상 나타나지 않는지 확인합니다.

일부 사용자들은 전원 관리 옵션을 고성능(High Performance)으로 설정하는 것도 도움이 되었다고 보고했습니다. 이렇게 하려면 실행 대화 상자(Windows 키 + R)를 열고 "powercfg.cpl"을 입력한 후 Enter 키를 누릅니다. 전원 옵션 화면에서 활성 전원 계획을 고성능으로 변경하거나 새로 만들면 됩니다.

수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기

여전히 동일한 현상이 나타난다면 아래의 다음 방법으로 넘어가세요.

방법 2: Dynamic Tick 비활성화

일부 사용자들은 Dynamic Tick 기능을 비활성화한 후 문제를 해결했습니다. 이 방법은 주로 멀티미디어 작업이나 통신 작업 수행 중 시스템이 무작위로 응답하지 않거나 멈추는 경우에 효과적인 것으로 보고되고 있습니다.

사용자들의 추측에 따르면, Dynamic Tick 전환을 담당하는 모듈과 클럭 속도 변경을 담당하는 모듈 간의 상호작용 문제 때문에 이 문제가 발생할 수 있다고 합니다.

참고: 이 절차는 Windows 8에서만 효과가 확인되었습니다.

멀티미디어 또는 통신 작업 중에 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 발생한다면, 아래 지침에 따라 Dynamic Tick을 비활성화하세요:

  1. Windows 키 + R을 눌러 실행 대화 상자를 엽니다. 그런 다음 "cmd"를 입력하고 Ctrl + Shift + Enter를 눌러 관리자 권한 명령 프롬프트 창을 엽니다. UAC(사용자 계정 컨트롤) 프롬프트가 나타나면 를 클릭하여 관리자 권한을 부여합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  2. 관리자 권한 명령 프롬프트에서 다음 명령을 입력하고 Enter 키를 눌러 Dynamic Tick을 비활성화합니다:
    bcdedit /set disabledynamictick yes
  3. 명령이 성공적으로 처리되면 컴퓨터를 재시작하고 다음 부팅 시 문제가 해결되었는지 확인합니다.

여전히 문제가 발생한다면 아래의 다음 방법으로 넘어가세요.

방법 3: 레지스트리 편집기로 TimeOutValue 값 조정

컴퓨터가 FC(Fibre Channel) 스토리지 같은 스토리지 배열에 연결되어 있다면, 패킷 손실 또는 배열 컨트롤러가 보낸 비정상적인 요청 때문에 문제가 발생했을 수 있습니다.

이러한 상황에서 Microsoft는 disk.sys의 TimeOutValue 값을 가능한 한 낮게 설정할 것을 권장합니다. 동일한 문제를 겪던 여러 사용자들이 아래 단계를 수행한 후 문제가 해결되었다고 보고했습니다:

  1. Windows 키 + R을 눌러 실행 대화 상자를 엽니다. 그런 다음 "regedit"를 입력하고 Enter 키를 눌러 레지스트리 편집기를 실행합니다. UAC(사용자 계정 컨트롤) 프롬프트가 나타나면 를 클릭하여 관리자 권한을 부여합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  2. 레지스트리 편집기에서 왼쪽 메뉴를 이용해 다음 하위 키로 이동합니다:
    Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Disk
  3. Disk 키 안에서 오른쪽 창으로 이동한 후 TimeOutValue를 두 번 클릭합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  4. TimeOutValue값 데이터(Value data)30 이하로 설정합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  5. 레지스트리 편집기를 닫고 컴퓨터를 재시작한 후 다음 부팅 시 문제가 해결되었는지 확인합니다.

이벤트 뷰어에서 여전히 동일한 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 나타난다면 방법 4로 넘어가세요.

방법 4: Paging Executive 비활성화

동일한 문제를 겪던 여러 사용자들이 적용한 임시 해결책이 있습니다. 레지스트리 편집기를 사용해 Paging Executive를 비활성화하는 방법입니다. Paging Executive는 Windows가 장치 드라이버가 사용하는 메모리를 페이지 파일로 스왑하는 것을 방지하는 기능입니다.

Paging Executive를 비활성화하는 방법은 다음과 같습니다:

  1. Windows 키 + R을 눌러 실행 대화 상자를 엽니다. 그런 다음 "regedit"를 입력하고 Enter 키를 눌러 레지스트리 편집기를 실행합니다. UAC(사용자 계정 컨트롤) 프롬프트가 나타나면 를 클릭하여 관리자 권한을 부여합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  2. 레지스트리 편집기에서 왼쪽 메뉴를 이용해 다음 위치로 이동합니다:
    \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management
  3. Memory Management 키를 연 상태에서 오른쪽 창으로 이동한 후 DisablePagingExecutive를 두 번 클릭합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  4. DisablePagingExecutive DWORD 값이 열리면 값 데이터0에서 1로 변경하여 Paging Executive를 비활성화합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  5. 레지스트리 편집기를 닫고 컴퓨터를 재시작하여 변경 사항을 적용합니다.

재부팅 후 증상이 해결되었는지 확인하세요. 이벤트 뷰어에서 여전히 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 나타난다면 아래의 다음 방법으로 넘어가세요.

방법 5: HDD의 SATA 케이블 교체

'디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류를 겪던 몇몇 사용자들은 드라이브를 메인보드와 파워 서플라이에 연결하던 SATA 케이블과 전원 커넥터 케이블을 교체한 후 오류가 더 이상 발생하지 않았다고 보고했습니다.

이는 이 오류가 하드웨어 문제와도 연관될 수 있음을 시사합니다. 대부분의 경우 연결 끊김 또는 전원 공급 문제가 원인이었을 가능성이 높습니다.

같은 이유로 오류가 발생했다고 의심되고 예비 HDD 연결 케이블이 있다면, 현재 사용 중인 케이블과 교체해 보세요. 사용하지 않는 연결 케이블이 없다면 DVD 라이터에 연결된 케이블을 빌려 사용해 보고 오류가 사라지는지 확인할 수도 있습니다.

새 케이블을 연결한 상태에서 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 더 이상 기록되지 않는다면, 원인을 성공적으로 찾아낸 것입니다.

방법 6: SATA 모드를 AHCI에서 ATA(IDE)로 변경

동일한 문제를 겪던 여러 사용자들이 디스크 모드를 AHCI에서 ATA 또는 IDE로 변경한 후 문제를 해결했습니다. AHCI가 SATA 컨트롤러와 통신하는 최신 방식이긴 하지만, 일부 시스템은 Native Command Queuing 같은 기능을 제대로 활용하도록 설계되지 않았습니다. 이것이 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류를 유발할 수 있습니다.

주의할 점은, 아래 절차를 먼저 수행하지 않은 상태에서 BIOS에서 디스크 모드를 AHCI에서 ATA로 변경하면 Windows가 부팅되지 않을 수 있다는 것입니다. 이 절차를 통해 시스템이 ATA(또는 IDE) 디스크 모드에 맞는 올바른 BIOS 설정을 로드하고 레지스트리가 재구성될 수 있도록 해야 합니다.

수행해야 할 작업은 다음과 같습니다:

  1. 시작 아이콘(왼쪽 하단)을 클릭한 다음 전원 아이콘을 클릭합니다. Shift 키를 누른 상태에서 다시 시작 버튼을 클릭합니다. 그러면 컴퓨터가 곧바로 복구 메뉴로 재시작됩니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  2. 재부팅되면 컴퓨터가 복구 메뉴로 직접 부팅됩니다. 거기서 문제 해결(Troubleshoot) 항목을 클릭한 다음 고급 옵션(Advanced options)을 클릭합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  3. 고급 옵션 메뉴에서 시작 설정(Startup Settings)을 클릭합니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  4. 그런 다음 다시 시작 버튼을 클릭하여 시작 설정 메뉴로 재부팅합니다.
  5. 다음 부팅 순서가 시작되면 설정 키(Setup key)를 반복해서 눌러 BIOS 설정에 진입합니다.
    수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기참고: 설정(BIOS) 키는 메인보드 제조사마다 다르지만, 초기 화면에 표시됩니다. 일반적으로 F 키(F4, F6, F8, F10, F12) 중 하나이거나 Del 키입니다. 자신의 메인보드에 맞는 설정 키를 온라인에서 검색할 수도 있습니다.
  6. BIOS 설정에 진입하면 SATA Operation 설정을 찾아 ATA로 변경합니다. BIOS 설정을 종료하기 전에 변경 사항을 저장하는 것을 잊지 마세요.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기

    참고: 정확한 설정 이름과 위치는 메인보드 제조사마다 다를 수 있습니다. SATA Operation을 수정하는 동일한 메뉴를 찾을 수 없다면, 자신의 메인보드에 맞는 구체적인 절차를 검색하세요.

  7. 컴퓨터가 시작 설정 메뉴로 부팅될 때까지 기다립니다. 거기서 5번 키(또는 F5)를 눌러 네트워킹 지원 안전 모드로 부팅합니다. 이렇게 하면 OS가 방금 로드한 BIOS 설정에 맞는 올바른 드라이버를 확보할 수 있습니다.수정 방법:  디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다  오류 해결하기
  8. 시작 절차가 완료되면 일반 모드로 부팅하기 위해 평소처럼 재시작합니다. 다음 부팅부터는 '디스크의 논리적 블록 주소에서 IO 작업이 재시도되었습니다' 오류가 더 이상 나타나지 않을 것입니다.

방법 7: BIOS를 최신 버전으로 업데이트

동일한 문제를 겪던 여러 사용자들이 BIOS를 사용 가능한 최신 버전으로 업데이트한 후 문제를 해결했습니다. 이 사례는 주로 MSI 메인보드에서 보고되지만, 다른 메인보드 제조사에도 동일한 해결책이 적용될 수 있습니다.

BIOS 업데이트는 예전만큼 복잡하지 않다는 점을 기억하세요. 대부분의 주요 메인보드 제조사들은 더블클릭만으로 쉽게 설치할 수 있는 실행 파일 형태로 펌웨어 업데이트를 제공합니다.

자신의 메인보드에 새로운 BIOS 업데이트가 있는지 확인하려면 제조사 웹사이트를 방문하여 해당 모델에 대한 구체적인 지침을 참고하세요. 요즘은 각 제조사마다 업데이트를 자동으로 수행해 주는 자체 플래시 프로그램(MSI의 M-Flash, Asus의 E-Z Flash 등)을 제공합니다.