Clonando um cartão SD em um cartão SD maior

7

Estou usando o Ubuntu 12.04. Eu tenho um antigo cartão SD de 4GB e acabei de comprar um novo cartão SD de 16GB. Eu gostaria de copiar tudo, do meu antigo cartão SD de 4 GB para o novo cartão SD de 16GB. Eu temia que o truque comum de copiar e colar fosse perder alguma coisa, então eu queria clonar o antigo cartão SD de 4GB no cartão SD de 16GB. Eu usei o ddcomando em um shell, seguindo as instruções neste link .

Isso funcionou com uma pequena advertência. O novo cartão SD agora parecia ser de 4 GB. Mais tarde eu descobri isso é porque a partição primária no cartão SD de 16GB agora encolheu para 4GB. Eu resolvi esse problema e acho que entendi. No entanto, minha pergunta agora é: como faço para clonar meu antigo cartão SD de 4GB no meu novo cartão SD de 16GB sem fazer com que a partição principal do cartão SD de 16GB encolha para 4GB?

Raio
fonte

Respostas:

4

Você sempre reduzirá sua partição primária primária para o tamanho da copiada, a menos que você copie o conteúdo de suas partições com dd.

Eu suponho que você fez algo como sudo dd if=/dev/sda/ of=/dev/sdb bs=4kou usou um arquivo de imagem como armazenamento temporário, se você não tiver dois slots para cartão SD. Com este comando você copiou a partição, bem como a tabela de partição para o novo cartão SD.

Tente isto (assumindo que suas partições sejam chamadas /dev/sda1):

  • coloque no seu cartão SD de 4 GB
  • sudo dd if=/dev/sda1 of=~/sdcard.bin
  • Coloque em seu cartão SD de 16 GB e verifique se a partição primária se estende por 16 GB
  • sudo dd if=~/sdcard.bin of=/dev/sda1

Isso deve copiar apenas o conteúdo de suas partições.


Você também pode simplesmente redimensionar a partição em seu novo cartão SD. Se você gostaria de ter alguma informação sobre isso, você tem que nos dizer qual sistema de arquivos é usado em seus cartões SD.

wullxz
fonte
1
Muito obrigado por sua resposta! Mas exatamente a mesma coisa aconteceu com o seu método. Se eu entendi corretamente, estou certo em dizer que a diferença no seu método é que você usa 'sda1' ao invés de 'sda'? Então, dessa maneira, você está segmentando a partição em vez de toda a unidade? Isso fez sentido intuitivo para mim e achei que funcionaria, mas não funcionou. Meu novo cartão SD de 16GB foi reconhecido como um dos 4GB novamente.
Ray
1

A mesma coisa aconteceu aqui. Na verdade, eu usei o comando com sda1 , não sda . O caminho mais fácil é usar o Gparted:

  • Clique com o botão direito na partição.
  • Selecione check.
  • Execute o cheque com Gparted (cheque verde).
  • O Gparted tenta corrigir erros de partição.

No meu caso, sim. O cartão SDHC agora leu os 16 GB corretamente (antes do GParted mostrar a partição clonada como espaço usado dentro da partição). Incrível como o Ubuntu e essas ferramentas são poderosas, quando você as domina. Espero que isto ajude.

Earendil Star
fonte
1

Mesmo se você definir o tamanho da partição como 16GB, a metada do sistema de arquivos foi criada pensando em uma partição de 4GB e não crescerá automaticamente.

A maneira mais fácil de consertá-lo é abrir gpartede estender a partição para usar o disco inteiro - ele cuidará de consertar a partição e o sistema de arquivos.

Se você não tiver uma tabela de partição no antigo cartão SD, faça o dump sdae crie a sda1partição com 16 GB no novo cartão e use o comando dd para gravar a imagem nessa partição. Você ainda precisará de um cheque com o gparted@Earendil descrito.

Renan
fonte