최신 Linux에서 특정 CHS 드라이브 구조를 강제로 적용하는 방법이 있습니까?

최신 Linux에서 특정 CHS 드라이브 구조를 강제로 적용하는 방법이 있습니까?

나한테도 좀 있는데,진짜Conner CP3024 드라이브와 같은 구형 IDE 하드 드라이브의 크기는 최대 21MB입니다. 복구하려고 노력했지만 디스크 구조가 이상한 것 같습니다.

드라이브의 데이터시트에는 BIOS에서 CHS 드라이브 구조를 615/4/17로 설정해야 한다고 나와 있습니다. 이는 Conner가 "범용 변환 모드"라고 부르는 일종의 "더미" 구조입니다. 하지만 이건 아니다물리적BIOS가 hdparm을 사용하여 드라이브를 자동으로 감지하거나 쿼리하도록 할 때 얻은 드라이브의 구조는 636/2/33으로 표시됩니다.

드라이브를 읽으려고 할 때 문제가 발생합니다. 어떤 이유로 드라이브는 가상 기하학 모드에 있다고 생각하고 17보다 큰 모든 섹터 번호에서 읽기 오류를 발생시킵니다. 나는 hdc=615,4,17이를 부팅 인수로 전달하고 Linux가 특정 드라이브 구조를 따르도록 강제 할 수 있는 아주 오래된 버전의 Linux 배포판을 사용하여 이 문제를 해결했습니다 .

Linux를 libata로 마이그레이션하면서 이 기능은 제거된 것 같습니다. 최신 Linux 커널에서는 동일한 작업을 수행할 수 있는 방법을 찾을 수 없습니다. 드라이브 기하학에 대한 대안이 있습니까?

답변1

#!/bin/bash

# Install hdparm if not already installed (for Debian-based systems)
sudo apt-get install -y hdparm

# Set the desired geometry using hdparm
sudo hdparm -g 615,4,17 /dev/sdX

# Disable LBA translation and force the drive to use the specified geometry
sudo hdparm -N p615,4,17 /dev/sdX

이 스크립트는 기존 IDE 하드 드라이브 작업을 위한 일반적인 프레임워크를 제공하므로 이를 특정 설정 및 요구 사항에 맞게 조정해야 할 수도 있습니다. /dev/sdX를 시스템에 적합한 장치 식별자로 바꾸는 것을 잊지 마십시오.

관련 정보