Não foi possível excluir partições da unidade USB (erro de tamanho do bloco)


123

Não consegui formatar / excluir as partições na minha unidade USB Sandisk Cruzer Force 32 GB. Eu recebo o seguinte erro ao excluir qualquer uma das partições nele.

`Error deleting partition /dev/sdd2: Command-line `parted --script "/dev/sdd" "rm 2"' exited with non-zero exit status 1: Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.
(udisks-error-quark, 0)

Existe alguma maneira de formatar completamente toda a minha unidade e transformá-la em uma partição grande? Ainda não encontrei uma solução para esse erro em particular, então pensei em pedir pela primeira vez


Eu tenho usado discos. O GParted parece não detectar / exibir minha unidade USB.
Nectar

4
Você já tentou limpá-lo primeiro dd if=/dev/zero of=/dev/sdd bs=2048? Certifique-se de usar o / dev / sdd SOMENTE SE É ISSO!
Daniel

Brilhante, isso funcionou perfeitamente. Vou me lembrar os comandos :)
Nectar

Respostas:


173

O problema que você está descrevendo foi causado por uma ferramenta de dispositivo de baixo nível (como dd) escrevendo blocos no tamanho errado diretamente no dispositivo.

Para corrigir isso, é necessário reescrever os blocos do dispositivo no tamanho apropriado. Isso pode ser feito com o dd. Verifique seu dispositivo de saída antes de executar o comando

sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32

Depois que o comando dd for concluído, você poderá acessar seu dispositivo através do gparted.


Parecia tão certo, mas ainda não funcionou para mim :( Existe alguma maneira para apenas corrigi-lo?
Eric Fossum

7
Consegui corrigir esse erro sem reescrever o dispositivo inteiro, apenas adicionei count=32no final do comando e executei dd. Muito mais rápido assim ;-)
Aquele cara brasileiro

5
@Lee Ele grava apenas 32 blocos (neste caso, 32 blocos de 2048 bytes ou 68 KB), em vez de gravar todos os bytes no dispositivo. Acredito que apenas sobrescrever a tabela de partição ou área equivalente no início do dispositivo seria suficiente. Especifiquei 32 blocos apenas para ter certeza.
Aquele cara brasileiro

11
Funcionou, mas tive que reiniciar o computador para fazê-lo funcionar depois de usar a linha de comando.
Danyl Bekhoucha

2
@gooseberry Eu não acho que “escrever blocos no tamanho errado” seja possível. A única diferença deve ser a velocidade (e, no caso de memória flash, desgaste). O comando provavelmente funciona, mas a explicação não parece correta.
Martin Martin

26

Você sempre pode tentar usar fdisk

Abra um terminal ( Ctl+ ALt+ t) e digite

sudo fdisk /dev/sdy

where /dev/sdy= O arquivo do dispositivo para sua unidade flash. Depois de fdiskabrir, digite ppara listar a tabela de partição. Depois de saber onde ela está localizada, você pode usá d #-la para excluí-la. (#= A partição; ExEMPLO d 1, d 2) wescreve a tabela de partição de volta para o disco e qsai, mpara ajudar)

Se fdiskfalhar, então eu usaria dd (tenha cuidado ao usar isso, pois ele não recebeu seu apelido sem motivo)

sudo dd if=/dev/zero of=/dev/sdy bs=512 count=1

Claro que /dev/sdydeve ser substituído pelo dispositivo real da sua unidade flash, fará isso por você. Você pode aumentar a contagem = número para gravar zeros em mais do disco ou omitir totalmente para substituir o disco inteiro. Desnecessário dizer que, se você fizer isso, perderá irremediavelmente quaisquer arquivos que possam ter sido armazenados no disco.


2
Funcionou perfeitamente. Em sudo fdisk /dev/sdaseguida, no prompt, digitei dalgumas vezes para excluir cada partição, por sua vez, e depois wescrever minhas alterações. Em seguida, retire a unidade USB, coloque-a novamente e use o gerenciador de disco para criar uma partição Fat32.
Robin Winslow

Qual é ddo apelido de?
Kolob Canyon

Significa dick deatho matador de demônios?
Kolob Canyon

Agradável! não precisava do matador de demônios: |
quer

Claramente, é apelidado de Dee Dee, irmã do Dexter's Lab, que pressiona qualquer botão aleatoriamente, criando todo tipo de caos
ecv

12
wipefs -a /dev/your-device

irá apagar todas as partições do seu disco


2
Este comando me ajudou no meu caso quando não consegui formatar minha unidade USB. Tenha cuidado ao escolher o caminho do seu dispositivo. Dupla verificação!
Bakhtiyor

11
actualizado para a resposta mais simples que funciona
knocte

4

dd é poderoso, mas perigoso

ddé uma ferramenta muito poderosa, mas também muito perigosa. Ele funciona bem para limpar a primeira parte de uma unidade USB, a fim de remover quaisquer dados que possam confundir a ferramenta que você deseja usar. Mas ddfaz o que você manda fazer sem perguntas, por isso, se você manda apagar as fotos da família ... e um pequeno erro de digitação é suficiente para substituir outra unidade em vez da unidade USB, que você pretendia sobrescrever.

Sim, você pode usar dd, se souber o que está fazendo, mas verifique e verifique novamente se a linha de comando ddestá correta.

mkusb envolve um cinto de segurança em torno de dd

O mkusb fornece uma interface gráfica com o usuário com pontos de verificação para ajudá-lo a identificar a unidade de destino e verificar novamente se você está limpando a unidade correta.

Existem opções de menu para limpar o primeiro megabyte (na verdade mibibyte), que geralmente é suficiente, ou a unidade inteira, que é um processo lento e útil apenas em casos especiais, por exemplo, quando um pendrive está ficando lento (por exemplo, menos de metade da velocidade original.)

insira a descrição da imagem aqui

Consulte estes links para obter detalhes sobre como instalar e usar o mkusb versão 12, também conhecido como mkusb-dus.

help.ubuntu.com/community/mkusb

mkUSB-quick-start-manual.pdf


3

Esse problema tem algo a ver com discos inicializáveis ​​baseados em UEFI. Costumo criar um disco USB inicializável e preciso dele para armazenamento, mas não consigo excluir a partição.

Esse comando abaixo fecha a tabela de partição para que eu possa fazer o que quiser com o disco USB.

sudo sgdisk --zap-all /dev/???

Substituir ??? com o identificador apropriado (por exemplo, sdc) correspondente ao disco USB a ser limpo. Pode ser encontrado por -

sudo parted -l

ou

sudo fdisk -l

ou

usando o utilitário de disco .


Esta é a melhor resposta. Veja também 1065719/256054 .
Lonnie Melhor

2

Use o fdiskcomando para excluir a partição e criar novamente.

Comando de execução:

sudo fdisk /dev/sdxY  

(No meu caso, a partição é 'sdb1' - substitua pelo nome correto)

Comando ( mpara obter ajuda): dpara excluir a partição, escolha 1 ou 2.

Digite wpara salvar e sair.

Agora ejete o usb e conecte-o novamente para verificar as alterações.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.