Clonando e remontando cartão sd

1

Eu tenho um cartão micro SD que contém essas partições:

Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa6202af7

Device     Boot  Start      End  Sectors Size Id Type
/dev/sdb1         8192   122879   114688  56M  c W95 FAT32 (LBA)
/dev/sdb2       122880 10608639 10485760   5G 83 Linux

Eu gostaria de cloná-lo, mas apenas clonar essas duas partições, não os 29,7 GB inteiros. Então eu usei este comando:

dd bs=1M count=$((5431623169 / (1024*1024) + 1)) if=/dev/sdb of=myimage.img
truncate -s 5431623169

Isso deve criar uma imagem com as duas partições. Agora eu gostaria de montar a segunda partição do myimage.img para modificá-lo. Estou, portanto, executando o comando:

sudo mount -t ext4 -o loop,offset=62914560 myimage.img mount/

no entanto, isso produz a seguinte saída:

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

sdb1 em vez disso monta muito bem. Tenho certeza que é ext4 como blkid retorna isso.

Este cartão micro SD é um firmware completo para um sistema Raspberry Pi Linux. Se eu flash myimage.img para um novo cartão SD e executá-lo, o sistema parece funcionar corretamente, o que significa que é capaz de montá-lo.

Alguma ideia de por que não sou capaz de montá-lo manualmente usando o comando mount como mostrado acima?

    
por Luca Carlon 17.10.2015 / 02:12

1 resposta

2

O problema foi que eu não copiei os últimos 512 bytes do último setor. Desta forma, a última partição estava incompleta. Copiando mais um setor, tudo montado corretamente.

    
por 17.10.2015 / 16:17