
2026/01/03 16:46
**FUSEを利用した macOS/Linux/Windows 向けネイティブ Amiga ファイルシステム**
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
Amifuse は、macOS、Linux、および Windows 上で FUSE ファイルシステムインターフェイスと m68k CPU エミュレーターを組み合わせて Amiga ディスクイメージ(HDF/RDB、Emu68 MBR、ADF)をマウントするクロスプラットフォームユーティリティです。
PFS3、SFS、FFS/OFS、および BFFS などの一般的な Amiga ファイルシステムへの読み取り専用アクセスを提供し、FUSE 経由で公開されるネイティブ AmigaOS ドライバを介して機能します。
要件:Python 3.9+、プラットフォーム固有の FUSE パッケージ(macOS では macFUSE、Linux では fuse libfuse-dev、Windows では WinFSP)、
p7zip(解凍用)および任意で amitools[vamos] サブモジュール。
インストール:
git clone --recursive <repo-url> python -m venv .venv source .venv/bin/activate # Windows では .venv\Scripts\activate pip install -e './amitools[vamos]' pip install -e .
その後、プラットフォーム固有の FUSE パッケージをインストールします(macOS:
brew install --cask macfuse;Linux:sudo apt install fuse libfuse-dev または sudo dnf install fuse fuse-devel)。
使用方法:
でテストディスクを取得。amifuse download && amifuse unpack
でマウント(macOS ではamifuse mount <image>
に自動マウント、Linux では/Volumes/...
を指定)。--mountpoint
追加サブコマンド:
inspect、driver-info。任意フラグ:
--partition、--block-size、--volname、--debug、--profile、--write(実験的書き込みサポート)、--icons(macOS アイコン変換)。
ツールはフォアグラウンドで動作し、デフォルトでは読み取り専用です。Finder/Spotlight のインデックス化を無効にし、ハンドラパス処理のため初回トラバーサルが遅くなる場合があります。
影響:Amifuse はアーカイブ作成者、エミュレーション愛好家、および開発者が完全なエミュレータを実行せずに、最新のオペレーティングシステムから直接レガシー Amiga データへアクセスできるようにします。
本文
amifuse – macOS / Linux / Windows で Amiga ファイルシステムイメージをマウント
amifuse は、Amiga のハードディスクイメージ(HDF/RDB、Emu68 スタイル MBR、ADF)を FUSE を介してネイティブな AmigaOS ファイルシステムハンドラでマウントします。
実際の Amiga ドライバ(例:PFS3)は、m68k CPU をエミュレートした環境上で動作します。
事前準備
| プラットフォーム | 必要なもの |
|---|---|
| macOS | macFUSE () |
| Linux | FUSE for Linux ( または ) |
| Windows | WinFSP(公式サイトからダウンロード) |
| Python | 3.9+ |
| 7‑zip | に必要。例:macOS なら |
ファイルシステムハンドラが必要です(例:
)。pfs3aio
でインストールします。make download
インストール
# サブモジュール付きでリポジトリをクローン git clone --recursive https://github.com/reinauer/amifuse.git cd amifuse # すでにクローン済みの場合はサブモジュールを初期化 git submodule update --init
仮想環境(推奨)を使用する場合
python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e './amitools[vamos]' # amitools + machine68k をインストール pip install -e . # amifuse 自体をインストール
仮想環境なしでインストールする場合
pip install --user -e './amitools[vamos]' pip install --user -e .
クイックスタート
-
テスト用 PFS3 ディスクイメージとハンドラをダウンロード
make download # pfs.7z + pfs3aio → Downloads/ make unpack # pfs.hdf を展開し、pfs3aio を現在のディレクトリへコピー -
イメージをマウント
-
macOS
amifuse mount pfs.hdf # /Volumes/<partition> に自動マウント -
Linux(明示的にマウントポイントを指定)
mkdir -p ./mnt amifuse mount pfs.hdf --mountpoint ./mnt
-
使い方
amifuse <サブコマンド> [オプション] <イメージ>
サブコマンド
| サブコマンド | 説明 |
|---|---|
| RDB パーティションを調査 |
| ファイルシステムをマウント |
例:ディスクイメージの検査
# パーティション概要 amifuse inspect /path/to/disk.hdf # 完全な詳細情報 amifuse inspect --full /path/to/disk.hdf
mount
の共通オプション
mount| オプション | 必須? | 説明 |
|---|---|---|
| いいえ | ファイルシステムハンドラのバイナリパス(デフォルトは RDB から抽出) |
| Linux のみ | マウント位置。macOS は に自動マウント |
| いいえ | パーティション名 () またはインデックス(デフォルトは最初) |
| いいえ | ブロックサイズを上書き(省略時は自動検出) |
| いいえ | Finder に表示されるボリューム名を上書き |
| いいえ | FUSE 操作のデバッグログを有効化 |
| いいえ | cProfile を実行し を出力 |
| いいえ | 実験的な読み書きモード(注意して使用) |
| いいえ | Amiga の アイコンをネイティブ Finder アイコンへ変換(macOS 専用) |
例
# macOS:埋め込みドライバで最も簡単 amifuse mount disk.hdf # macOS:明示的にドライバを指定 amifuse mount pfs.hdf --driver pfs3aio # パーティション名またはインデックスでマウント amifuse mount multi-partition.hdf --partition DH0 amifuse mount multi-partition.hdf --partition 2 # Linux:マウントポイントを指定 mkdir -p ./mnt amifuse mount disk.hdf --mountpoint ./mnt # ADF フロッピ(明示的なドライバが必要) amifuse mount workbench.adf --driver L/FastFileSystem # macOS でネイティブアイコンを有効化 amifuse mount disk.hdf --icons
アンマウント
# macOS umount /Volumes/PDH0 # またはターミナルで Ctrl+C # Linux umount ./mnt
追加ツール
| ツール | 用途 |
|---|---|
| RDB イメージ(パーティション、埋め込みドライバ)の調査 |
| ファイルシステムハンドラが再配置可能か確認し、セグメント情報を表示 |
rdb-inspect の例
# パーティション概要 rdb-inspect /path/to/disk.hdf # 完全な詳細 rdb-inspect --full /path/to/disk.hdf # JSON 出力 rdb-inspect --json /path/to/disk.hdf # 埋め込みドライバ #0 を抽出 rdb-inspect --extract-fs 0 --out pfs3.bin /path/to/disk.hdf
driver-info の例
driver-info pfs3aio # デフォルトベース (0x100000) を調査 driver-info --base 0x200000 pfs3aio
対応イメージ形式
| フォーマット | 備考 |
|---|---|
| HDF/RDB | Rigid Disk Block があるハードディスクイメージ。ドライバは埋め込みまたは で指定 |
| Emu68 MBR | Emu68 で使われる MBR パーティションテーブル(RDB パーティションを含む) |
| ADF | Amiga Disk File フロッピイメージ(DD/HD)。明示的にドライバが必要 () |
対応ファイルシステム
- PFS3 –
で実装pfs3aio - SFS –
で実装SmartFileSystem - FFS/OFS –
(Workbench)で実装L:FastFileSystem - BFFS – Chris Hooper の
で実装BFFSFilesystem
他のハンドラも動作する場合があります。レポートを歓迎します。
アイコンサポート
--icons フラグ(macOS 専用)は Amiga の .info アイコンファイルをネイティブ Finder アイコンへ変換します:
- フォルダ・ファイルアイコンが Finder に表示される
- Traditional、NewIcons、GlowIcons 形式に対応
- 隠し
ファイルはディレクトリ一覧に表示されない.info - ボリュームアイコンはデスクトップ上に表示
実験的機能です。慎重にご利用ください。
補足ノート
- デフォルトは読み取り専用マウントです。
を有効化すると実験的な書き込みサポートが得られます。--write - マウントはフォアグラウンドで動作します。Ctrl+C でアンマウントしてください。
- macOS の Finder/Spotlight インデックスは自動的に無効化され、パフォーマンス向上に寄与します。
- 最初のディレクトリトラバーサルはハンドラが各パスを処理するため遅くなることがあります。以降のアクセスはキャッシュされます。