mount .ddi

CFカードで運用するLinuxシステムでは,動作イメージの保存にシリコンリナックス謹製DDWinを使ってる。

拡張子.ddiのイメージの中をちょっと見たいとき,わざわざCFに書いてみなくてもVMware上のLinux(FC)でマウントして見ることが出来たようなのでメモっとく。自分では試していないので,自己責任で宜しくです。もし大事なイメージが破損しても当方では責任が負えません。

DDWinで作成したddiファイルをVMwareでマウント

  1. ddiファイルをVMware上で読めるようにする。(コピーなど)
  2. コマンドラインで、fdisk ddiファイル を実行
  3. コマンドpで領域テーブルを表示
  4. sectors/track数を控える。
  5. コマンドqでfdiskを終了。
  6. 4.で控えたsectors/track数*512を計算しておく。
    32(sectors/track) * 512 = 16384
    63(sectors/track) * 512 = 32256
  7. ddiファイルをループバックでマウントする。
    mount -o loop,offset=sectors/track数*512 ddiファイル マウントポイント
    mount -o loop,offset=16384 test.ddi /mnt/img
  8. /mnt/imgの以下に、各ファイルが読める。

注意)7.のコマンドでマウントして、/mnt/img以下を編集するとddiファイルの内容を書き換えるので留意してください。
書き換えたくないときは、リードオンリーでマウントしてください。

mount -ro loop,offset=sectors/track数*512 ddiファイル マウントポイント
mount -ro loop,offset=16384 test.ddi /mnt/img

Ubuntu 18.04で.ddiマウント 2018-06-08

Ubuntu 18.04では,partedコマンドが使える。
表示は,バイト(B)で表示する。

# parted XXXXX.ddi unit B print
Model:  (file)
Disk /home/XXXX.ddi: 3997163520B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End          Size         Type     File system  Flags
 1      32256B  3604414463B  3604382208B  primary  ext3

先頭アドレスが求められるので,その値を使ってマウントする。

# mount -o loop,offset=32256 XXXX.ddi /mnt/img

Last-modified: 2022-05-05 (木) 22:27:10