我正在尝试挂载文件映像,如下所示
mount -o loop /tmp/apps.img /media/apps
但我得到以下信息:
mount: you must specify the filesystem type
我尝试 ext3:
mount -o loop /tmp/apps.img /media/apps -t ext3
消息说:
error: can't find ext3 filesystem on dev loop6.
我也尝试过 ext2、vfat 等。我如何检测文件系统类型apps.img
?
答案1
我会使用file
与 相结合的命令dd
。
带有 MBR 的完整磁盘(更改file.img
为您的文件名):
$ dd if=file.img | file -
/dev/stdin: x86 boot sector; partition 1: ID=0x7, [.........snip.........]
所以它是一个完整的磁盘映像,您想要有关第一个分区的信息吗?
$ seq 100 | while read i ; do dd if=file.img bs=512 skip=$i | file - ; done | grep -v '/dev/stdin: data'
....garbage lines with perhaps useful informations,
if it's the case, give more info here.....
或许它被压缩了。
$ dd if=file.img | file -
/dev/stdin: gzip compressed data, from Unix, last modified: Wed Feb 23 19:26:14 2011
没问题,即时解压缩:
$ dd if=file.img | gunzip | file -
/dev/stdin: ASCII cpio archive (SVR4 with no CRC)
答案2
虽然@shellholic 的答案有其优点,但更简单的工具是“disktype”: http://disktype.sourceforge.net/
以下是一个例子:
> sudo disktype /mnt/data0/xxxx.img
--- /mnt/data0/xxxx.img
Regular file, size 30 GiB (32212254720 bytes)
DOS/MBR partition map
Partition 1: 29.99 GiB (32201938944 bytes, 62894412 sectors from 63, bootable)
Type 0x07 (HPFS/NTFS)
Windows NTLDR boot loader
NTFS file system
Volume size 29.99 GiB (32201938432 bytes, 62894411 sectors)
程序“blkid”和“file”可以在一些简单情况下检测文件系统类型,但“disktype”更简单、更全面。根据您的发行版,您可能需要使用“make”自行编译。
答案3
blkid -o value -s TYPE /tmp/apps.img