была у меня на руках 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
как теперь подмонтировать именно первый логический диск этого образа?
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 (или что-то в этом роде) позволит просто указать смещение относительно начала образа.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.
наверное проблема хардварная....
February 16 2009, 13:37:40 UTC 3 years ago
February 16 2009, 13:39:42 UTC 3 years ago
February 16 2009, 14:00:17 UTC 3 years ago
но если Units = cylinders of 1740 * 512 = 890880 bytes, то должно быть bs=890880, а не 8225280?
February 16 2009, 14:39:30 UTC 3 years ago
February 16 2009, 13:47:05 UTC 3 years ago
February 16 2009, 13:47:43 UTC 3 years ago
February 16 2009, 13:48:38 UTC 3 years ago
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
February 16 2009, 14:05:57 UTC 3 years ago
спасибо!
думаю как раз это сообщение раскрывает тему.а свою проблему решил - передернув картридер и перечитав карту еще раз. (почему то при попытке посмотреть img-файл изпод рута в mcview, у меня перегрузились иксы)
February 23 2009, 22:19:21 UTC 3 years ago
February 16 2009, 23:17:10 UTC 3 years ago
сначала запускаем parted, там пишем unit потом b . Далее смотрим начало раздела где, там циферка в байтах будет, и вот ее запомнив и выйдя из партед пишем:
mount image folder -o loop,offset=циферка_начала_раздела
February 16 2009, 23:18:15 UTC 3 years ago
Anonymous
February 22 2009, 17:40:11 UTC 3 years ago