HFS形式(HP-UX)でフォーマットしたMOのデータを読む

Linux

友人からHP-UXのHFS(High-performance File System)形式でフォーマットされたMOを読むことができないかと相談されました。

Webで情報を探してみるとLinuxのkernelに付属しているUFSモジュールを使ってmountすれば良いという情報がありました。
手元にはDebian(標準kernelで運用)とUSB接続のMOドライブがあるので物理的な条件は揃っています。
また、Debianの標準kernelにUFSモジュールが入っていることも確認したので試してみたところ、無事データを読むことが出来ました。
UFSは他のOSでも使われているファイルシステムなので、タイプを明示的に指定する必要があります。(「man mount」参照)
HP-UXでフォーマットしたものはRead Onlyのようですが、今回はデータを読み出すのが目的なので問題ありません。
念のため「linux-2.6.26.2/fs/ufs/super.c」を見ると「hp」ファイルシステムは「read-only」と書いてありました。
「linux-2.6.32.7/fs/ufs/super.c」でも同様です。

■環境

  • Debian lenny
  • Kernel 2.6.26-2-686(標準カーネル)
  • I-O DATA MOP2-U640P(USB2.0対応)
  • MO 3.5inch 230MB HFSフォーマット(HP-UX)

■手順

1. モジュールの確認

「ufs」モジュールがあることを確認する。

ls -la /lib/modules/2.6.26-2-686/kernel/fs/

2. MOドライブを接続する

バスパワー接続(ACアダプター不要)のUSBタイプなので、shutdownせずに接続します。

3. ログの確認

正常に認識されたか確認します。

tail /var/log/messages
tail /var/log/syslog
dmesg | tail -n 15

4. MOをマウントする

mountコマンドを実行すると、自動でモジュールが組み込まれます。

mkdir /mnt/mo
mount -t ufs -o ufstype=hp /dev/sda /mnt/mo
lsmod
df -a
ls -la /mnt/mo

■mountのufstypeオプション

man mount

Comments