Ubuntu 12.04システムで次のコマンドを実行してみました。
sudo mount minix203.img -o loop -t minix /mnt/myminix/
minixパーティションを使用して.imgファイルをマウントすると、次のエラーが発生します。
mount: Not a directory
私のコマンドに問題がありますか?
ベストアンサー1
ブルースが言ったのは本当だと思います。これにはパーティション表全体が含まれます。それならここでは使えないものはありません。次のコマンドでは、util-linux
バージョン2.21以降が必要です。
sudo losetup --find --show -P minix203.img
これにより、画像がループバックデバイスに接続され、画像が接続されているループバックデバイスが表示されます(たとえば/dev/loop0
)。仮想的には、fdisk -l /dev/loop0
パーティションテーブルとデバイス名はマウントできるように表示する必要があります。だからあなたは次のように終わります:
sudo mount /dev/loop0p1 -t minix /mnt/myminix
動作する必要があります。このloop
オプションは消えたので、losetup
そのセクションで作業してください。
util-linux
ただし、正しいバージョンのパッケージがない場合は、fdisk
手動で使用して実行できますlosetup
(または外部ソースからパッケージをインストールすることをお勧めします)。この場合、いくつかの計算を行うだけです。まず、ドライブ全体のイメージを添付することです。
sudo losetup --find --show part.img
これはデバイス名を教えてくれます/dev/loop0
。その後、fdisk -l
パーティションレイアウトを取得するには、次のようにします。
fdisk -l /dev/loop0
私のファイルの場合、次の結果が表示されます。
Disk /dev/loop0: 67 MB, 67108864 bytes, 131072 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2645940b
Device Boot Start End Blocks Id System
/dev/loop0p1 2048 63487 30720 83 Linux
/dev/loop0p2 63488 131071 33792 83 Linux
だまされないでください。既存のデバイス名ではない可能性があります。このテーブルを使用して、マウントするパーティションを決定する必要があります。サイズやファイルシステムの種類によっては、いくつかの前提が必要です。
これで計算時間です。パーティションのオフセットとサイズが必要です。セクタサイズに単位サイズを掛けて結果(バイト)を得ることができます。私のセクタサイズが512バイトであることがわかるので、fdisk
マウントしたい場合/dev/loop0p1
(2048 * 512)バイトで始まります。これは1048576と同じオフセットです(もちろんこの例では)。
セクタサイズにはend_sector_number - start_sector_number + 1
この数字が含まれているため(最終セクタはそのサイズ内にあります)。ここでは、61440セクタ== 31457280バイトに等しい。それが私たちに必要なすべてです。
ループバックデバイスを取り外して再接続して、マウントしたい特定のパーティションにサイズを制限することができます(この数字を必要なものに置き換えます)。
sudo loopback -d /dev/loop0
sudo loopback -f --show -o 1048576 --sizelimit 31457280 part.img
に接続できます/dev/loop0
。これで安全にインストールできます。
mount -t minix /dev/loop0 /mnt/myminix
これは、ドライブ全体のMBRが通常影響を受ける状況(例:mkfsでフォーマット)を除いて、ほぼ完全に機能するはずです。
どのように動作しますか?
MBRパーティションテーブルのレイアウトは簡単です。まず、パーティションの始まりと終わりの場所に関する512バイトの説明とデータがあります。拡張パーティションの場合、これはやや難しいかもしれません。通常のハードドライブに対してカーネルが直接実行するパーティション制限を手動で設定できます。