最新の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をシステムに適したデバイス識別子に置き換えることを忘れないでください。

関連情報