/devにそのデバイスファイルを含むドライブをマウントする方法を知っていますが、物理デバイスを表すのではなく/devに似たデバイス(ISOファイルやフロッピーイメージなど)。 Mac OS Xでは、Finderでディスクイメージアイコンをダブルクリックすると、ドライブが自動的にマウントされるようにこれを実行できることがわかりますが、端末でもこれを実行できることを願っています。これを行う普遍的なUnixメソッドがあるのか、それともプラットフォーム固有のものかはわかりません。
答え1
MBRパーティションテーブルがあるハードドライブイメージの場合は、イメージをfdiskしてマウントする必要があるパーティションのオフセットを見つけます。
fdisk -lu /path/disk.img
その後、オフセットでインストールします。
mount -o loop,offset=xxxx /path/disk.img /mnt/disk.img.partition
オフセット値はバイト単位ですが、ブロック数が表示されるため、fdisk
出力の「Begin」または「Start」列(またはブロックサイズに関係なく)の値を掛けて、インストールするオフセットを取得する必要があります。fdisk
512
答え2
ほとんどの最新のGNUシステムでは、このmount
コマンドは以下を処理できます。
mount -o loop file.iso /mnt/dir
umount
削除するには、次のコマンドを使用します。
umount /mnt/dir
オペレーティングシステムにこのオプションがない場合は、新しく作成できます。循環装置:
losetup -f # this will print the first available loop device ex:/dev/loop0
losetup /dev/loop0 /path/file.iso #associate loop0 with the specified file
mount /dev/loop0 /mnt/dir #It may be necessary specify the type (-t iso9660)
削除するには、次のものを使用できます-d
。
umount /mnt/dir
losetup -d /dev/loop0
ファイルにHDイメージなどのパーティションがある場合は、オペレーティング-P
システムに応じてこのパラメータを使用でき、ファイルコンテンツ内でパーティションをマッピングします。
losetup -P /dev/loop0 /path/file.iso # will create /dev/loop0
ls /dev/loop0p* #the partitions in the format /dev/loop0pX
答え3
losetup -P
マルチパーティションイメージの自動化
コマンドラインからディスクイメージをマウントする方法は? UnixとLinuxのスタック交換前述のように、losetup -P
追加の自動化のためのいくつかの便利なBash機能があります。使用法:
$ los my.img
/dev/loop0
/mnt/loop0p1
/mnt/loop0p2
$ ls /mnt/loop0p1
/whatever
/files
/youhave
/there
$ sudo losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop1 0 0 0 0 /full/path/to/my.img
$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0
源泉:
los() (
img="$1"
dev="$(sudo losetup --show -f -P "$img")"
echo "$dev"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
echo "$dst"
sudo mkdir -p "$dst"
sudo mount "$part" "$dst"
done
)
losd() (
dev="/dev/loop$1"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
sudo umount "$dst"
done
sudo losetup -d "$dev"
)
答え4
努力する:
mount -o loop /path/to/file.iso /mnt
後で追加できますloop
。
-t msdos
フロッピーディスクの場合-t iso9660
CD-ROMイメージの場合
Linuxは通常、ファイル形式を推測しようとします。