Restaure o tamanho de uma unidade USB (Linux)

5

Eu queria experimentar uma nova distribuição, então decidi fazer um USB inicializável, usando o dd:

sudo dd if=my.iso of=/dev/sdb bs=4M

Eu tentei inicializá-lo, mas apesar de escolhê-lo como a mídia de inicialização no BIOS, o computador não inicializou e, em vez disso, iniciou o sistema básico. (Como uma questão secundária, eu não entendo porque algum dia eu posso inicializar o sistema, e às vezes não consigo, usando a mesma linha para escrever o iso para usb).

Não sei o que mais fiz de errado, mas isso resultou na unidade de 16 GB mostrando apenas 10 MB disponíveis.

Usando o gparted, há apenas 10 MB disponíveis na unidade, usando o comando lsblk, mas a saída:

sdb                       8:16   1  14.9G  0 disk

Eu tentei formatá-lo usando o fdisk e outros utilitários, sem sucesso. Então vi no gparted que as informações para a cabeça, cilindros e setor eram diferentes de outra unidade USB (mesmo modelo, mesma marca, mesma capacidade). Embora essa informação (head, etc) não seja realmente relevante para um drive USB, eu acho que pode ser o problema que fez meu USB 10MB "alto".

No entanto, qualquer tentativa de modificá-los, usando o modo expert do fdisk (tecla x uma vez no programa), não teve sucesso, tentando escrever (w) que eles não funcionaram (não houve alteração na capacidade).

Eu procurei outras maneiras de modificar isso (pois acredito que é por isso que o USB não está mostrando seu tamanho real), mas não obtiveram sucesso.

Como posso alterar o cabeçalho, o setor e os cilindros dessa unidade permanentemente? É por isso que meu USB é encolhido e, se não, o que posso fazer para restaurá-lo ao seu tamanho real?

EDITAR : As sugestões não funcionaram, embora palavras diferentes no meu mecanismo de pesquisa tenham me feito descobrir testdisk , o que pode resolver o problema.

EDIT : Tentar mudar o CHS não funcionou: assim que eu saio do testdisk, ele é redefinido para os valores que o tornam 10MiB grande.

RESOLVIDO : aparentemente, o tamanho está correto se eu usá-lo em outro computador. A reinicialização pode ser necessária para que os valores corretos sejam exibidos.

    
por user96649 06.06.2016 / 19:55

2 respostas

3

Sobrescreva os primeiros poucos setores (32KB é mais que suficiente) com zeros, abra o cfdisk ou fdisk ou gparted e crie uma nova tabela de partições no formato desejado (gpt ou mbr).

dd if=/dev/zero of=/dev/sdb bs=32k count=1

E para esse nó de lado, você só pode dd um ISO para um USB e inicializar a partir dele se for um ISO híbrido , i. e. um ISO que começa com uma tabela de partições MBR ou GPT, e cujo conteúdo é estabelecido que possui um sistema de arquivos tradicional e um sistema de arquivos ISO, onde os mesmos nomes de arquivos apontam para os mesmos arquivos. (Além disso, o bootloader tem que detectar esse caso e inicializar a partir de USB ou CD corretamente, dependendo da unidade que está presente).

    
por 06.06.2016 / 20:23
1

Como você tem exatamente o mesmo drive USB, a recuperação mais fácil seria copiar um MBR do bom para o quebrado. Primeiro, copie o bom MBR para um arquivo:

dd if=/dev/sdX of=usb.mbr bs=512 count=1

copie o MBR guardado para o partido quebrado:

dd of=/dev/sdX if=usb.mbr; sync

insira novamente o pen drive que está sendo reparado e inspecione a configuração com fdisk - deve estar OK agora.

Recrie um sistema de arquivos vfat na partição existente.

    
por 06.06.2016 / 20:20

Tags