我使用 AWS 导入服务导入了一个大型 (2TB) 驱动器,他们在我的 S3 帐户中放入了两个 .bin 文件。他们的说明说要将 EBS 卷合并在一起,以形成一个足够大的驱动器来容纳映像,然后只需使用它即可。
好吧,我已经把所有东西都条纹化了,但我不知道该怎么处理这个 .bin 图像。似乎无法使用mount
,或者至少没有任何选项,我不知道该放什么选项。
>file -k image-NPX7P-0000.bin
image-NPX7P-0000.bin: x86 boot sector; partition 1: ID=0xb, starthead 1, startsector 63, 3907024821 sectors, extended partition table (last)\011, code offset 0x0
>file -k image-NPX7P-0001.bin
image-NPX7P-0001.bin: data
编辑:我附加了文件信息,从表面上看,我认为无法仅安装 0000 的原因是因为 0001 是它的扩展(这与我假设他们这样做的方式一致)。但我该如何合并两者并安装它呢?
EDIT2:使用 osgx 的答案,我能够将两个 bin 文件放在一起,并使用 kpartx 读取分区表。
> file-sk: /dev/dm-2: x86 boot sector, code offset 0x58, OEM-ID "BSD 4.4", sectors/cluster 64, heads 255, sectors 3907024821 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 476816, reserved3 0x1000000, reserved 0x1, serial number 0x5cb415f7, label: "SOURCE-PSE " DOS executable (COM), boot code –
但是这仍然无法挂载。它说它需要文件系统类型,而我使用的任何方法都无济于事。由于它很长,因此也发布到 pastebin 上,这是我的内核配置的相关(可能)值:
答案1
根据file -k
,您有一个磁盘映像(可能它被分成两个卷);该磁盘映像有一个 2TB 的分区表(39G 扇区,512 = 2TB),类型为 FAT32(0x0b)。
做一只猫将两个图像连接成一个
cat image*bin > image.iso
或者 (小心!这将修改第一个文件)
cat image*0001* >> image*0000*
运行 akpartx
通过 loop1 设备读取 image.iso 上的分区表(现在您需要一个根;如果您使用第二种方式,则将 image.iso 替换为 image*0000* cat
)
losetup /dev/loop1 image.iso; kpartx -av /dev/loop1;
输出将会像add map loop1p1 ...
loop1p1
然后在/dev/mapper 中找到
ls -l /dev/mapper
file -sk /dev/mapper/* # finally check that it is a FAT32
并挂载它:
mount -o ro -t auto /dev/mapper/loop1p1 /where/to/mount
使用 fs;卸载它;运行 a kpartx -d -v /dev/loop1;
;取消映射 loop1losetup
(手动使用http://nfolamp.wordpress.com/2010/08/16/mounting-raw-image-files-and-kpartx/)
答案2
尝试使用该-o loop
选项安装它。
答案3
使用 bchunk 并转换为 iso 然后你就可以轻松挂载 http://goinggnu.wordpress.com/2007/05/08/howto-mount-bincue-files-in-linux/
答案4
将文件转换为 ISO 并从那里开始使用它。我已成功使用 iat(Iso9660 分析工具)。
安装它(在我居住的地方,是在 Ubuntu 下 - YMMV):
sudo apt-get install iat
用它:
iat inputFile.bin > newShiny.iso