bliznezz ([info]bliznezz) wrote in [info]ru_linux,

подмонтировать образ диска

была у меня на руках SD-карта. которая виделась так:

# fdisk -l /dev/sdc

Disk /dev/sdc: 1017 MB, 1017643008 bytes
29 heads, 60 sectors/track, 1142 cylinders
Units = cylinders of 1740 * 512 = 890880 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1143      993667+   6  FAT16

но монтироваться не хотела:
# mount -t vfat /dev/sdc1 sdcard
mount: special device /dev/sdc1 does not exist

картридер был не мой, пришлось отдать но предварительно сделал образ:

dd if=/dev/sdc of=/mnt/bigvol2/sdcard.img bs=1M

как теперь подмонтировать именно первый логический диск этого образа?

  • Post a new comment

    Error

    Your reply will be screened

    Your IP address will be recorded 

  • 15 comments

[info]denizzzka

February 16 2009, 13:20:46 UTC 3 years ago

первое что на ум пришло

fdisk наверно позволит определить границы конкретного образа в секторах. далее dd позволит его аккуратно оттуда выделить в отдельный файл.

Anonymous

February 16 2009, 13:27:17 UTC 3 years ago

Re: первое что на ум пришло

а losetup (или что-то в этом роде) позволит просто указать смещение относительно начала образа.

[info]bliznezz

February 16 2009, 13:30:14 UTC 3 years ago

Спасиба, так и сделал.

# dd if=/mnt/bigvol2/sdcard.img of=/mnt/bigvol2/sdcard.vfat bs=8225280 skip=1
122+1 records in
122+1 records out
1009417728 bytes (1.0 GB) copied, 46.2944 s, 21.8 MB/s

# mount -t vfat /mnt/bigvol2/sdcard.vfat /media/sdcard/ -o loop
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try


в messages при этом ругань:
Feb 16 15:27:54 localhost kernel: loop: module loaded
Feb 16 15:27:54 localhost kernel: FAT: invalid media value (0x24)
Feb 16 15:27:54 localhost kernel: VFS: Can't find a valid FAT filesystem on dev loop0.

наверное проблема хардварная....

[info]dil

February 16 2009, 13:37:40 UTC 3 years ago

почему skip=1? разделы обычно начинаются на границе дорожек, должно быть что-то вроде skip=60

[info]bliznezz

February 16 2009, 13:39:42 UTC 3 years ago

ну у меня bs=1цилиндр, fdisk как раз сказал сколько это в байтах.

[info]dil

February 16 2009, 14:00:17 UTC 3 years ago

да, действительно, это я проглядел.
но если Units = cylinders of 1740 * 512 = 890880 bytes, то должно быть bs=890880, а не 8225280?

[info]bliznezz

February 16 2009, 14:39:30 UTC 3 years ago

упс, вы правы =)

[info]alexkuklin

February 16 2009, 13:47:05 UTC 3 years ago

skip, afair, указывается в bs

[info]tos4

February 16 2009, 13:47:43 UTC 3 years ago

а fsck если прогнать?

[info]tos4

February 16 2009, 13:48:38 UTC 3 years ago

* Монтирование раздела из полного DD образа диска

losetup /dev/loop0 /path/to/diskimage
fdisk -lu /dev/loop0

Disk /dev/loop0: 10.0 GB, 10056130560 bytes
240 heads, 63 sectors/track, 1299 cylinders, total 19640880 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xc1afc1af

Device Boot Start End Blocks Id System
/dev/loop0p1 * 63 4097519 2048728+ b W95 FAT32
/dev/loop0p2 4097520 8195039 2048760 5 Extended
/dev/loop0p5 4097583 8195039 2048728+ b W95 FAT32

That is, the first partition starts at sector 63, i.e. at an offset
value of 63 * 512 = 32256.

losetup -o32256 /dev/loop1 /dev/loop0

[info]bliznezz

February 16 2009, 14:05:57 UTC 3 years ago

спасибо!

думаю как раз это сообщение раскрывает тему.


а свою проблему решил - передернув картридер и перечитав карту еще раз. (почему то при попытке посмотреть img-файл изпод рута в mcview, у меня перегрузились иксы)

[info]serp2002

February 23 2009, 22:19:21 UTC 3 years ago

о! век живи, век учись :) до такого я чтото не дадумался :)

[info]serp2002

February 16 2009, 23:17:10 UTC 3 years ago

смонтировать определенный раздел с образа можно так:
сначала запускаем parted, там пишем unit потом b . Далее смотрим начало раздела где, там циферка в байтах будет, и вот ее запомнив и выйдя из партед пишем:
mount image folder -o loop,offset=циферка_начала_раздела

[info]serp2002

February 16 2009, 23:18:15 UTC 3 years ago

сорри забыл сказать, партед надо запускать с образом диска в качестве аргумента

Anonymous

February 22 2009, 17:40:11 UTC 3 years ago

kpartx рулит бп
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…