"O tamanho do bloco físico é 2048 bytes, mas o Linux diz que é 512" ao formatar o USB - Como criar um USB inicializável sem esse erro

95

Eu estava usando:

dd  if=/path/to/my/ubuntuiso/ubuntu.iso  of=/dev/sdb1  bs=4M  &&  sync

Para criar drives USB Ubuntu inicializáveis ​​em versões mais antigas do Ubuntu. Estava funcionando perfeitamente. Às vezes eu usei o Startup Disk Creatorprograma, que funcionou bem.

Mas quando uso os mesmos métodos no Ubuntu 16.04 LTS, recebo alguns avisos ao formatá-lo posteriormente.

A mídia de instalação funciona conforme o esperado, mas quando tento formatar o pen drive após o término do trabalho, recebo o seguinte aviso:

insira a descrição da imagem aqui

A partição desse Pendrive parece estranha:

insira a descrição da imagem aqui

E também mostra meu pendrive de 16 GB como 64 GB.

Depois de lutar muito com o Gparted, de alguma forma vou formatá-lo. Mas por que está acontecendo assim? Existe algum método melhor para criar o Ubuntu inicializável no 16.04?

EDIT : existe uma pergunta relacionada aqui . Mas minha pergunta não é sobre como formatá-lo corretamente. Minha pergunta é "Como criar um USB inicializável sem esses erros". & "Quais são as causas desse erro"

Severus Tux
fonte
para UEFI eu usar comandos sgdisk - Fiz 6 distro viver USBs desta forma nos últimos meses e ele funciona muito bem para mim
Zanna
@Zanna explique o uso de sgdisk
Severo Tux
Tem certeza de que esse é o dispositivo correto? Se tiver 16 GB, talvez seja / dev / sdc ou outra coisa. Muitos cartões SD têm 64 GB e esses geralmente não funcionam na inicialização. Sua unidade nem sempre mostra o mesmo (sdb sdc) e tudo depende de qual unidade foi montada primeiro.
Mchid 03/06/19
1
Eu formato USBs com mkfsdepois de um ISO. Funciona independentemente do método de criação do USB.
UniversallyUniqueID

Respostas:

118

Um método de linha de comando para criar um USB ativo para sistemas UEFI

Observe: isso exclui todos os dados no dispositivo de destino.

Instale o pré-requisito:

sudo apt-get install p7zip-full

Supondo que o USB de destino esteja em /dev/sdb

( verifique primeiro com lsblkou gnome-disksou sudo fdisk -le saiba o que está formatando)

Verifique se o dispositivo não possui um sistema de arquivos montado e desmonte-o, se necessário, por exemplo:

udisksctl unmount -b /dev/sdb1

Destrua a tabela de partição existente:

sudo sgdisk --zap-all /dev/sdb

Crie uma nova GPT:

sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdb

Formate como FAT32:

sudo mkfs.vfat -F32 /dev/sdb1

Verifique-o:

sudo fdisk -l /dev/sdb

Deve produzir algo como:

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 15663070 15661023  7.5G EFI System

Monte a unidade e extraia o iso nele, substituindo 'name-of-iso' pelo nome do arquivo real do iso que você baixou anteriormente

sudo mount -t vfat /dev/sdb1 /mnt
sudo 7z x name-of-iso -o/mnt/

Desmontar

sudo umount /mnt

Agora reinicie e aproveite o Ubuntu ^ _ ^

( Aqui é onde eu aprendi originalmente a fazer isso.)

Zanna
fonte
3
Fazendo isso ... mas isso precisa dos pacotes p7zip-full. Seria melhor se você adicionasse o mesmo tarna sua resposta.
Severus Tux
3
Uau! Muito obrigado . Isso funciona bem. partição parece limpa . Seria melhor se você adicionar extração usando ferramentas embutidas, como tarna sua resposta. (ou mesmo acrescentando que 7z está disponível em p7zip-full)
Severo Tux
2
Estou upvoting este post porque é uma descrição agradável mostrando 'todos' os passos básicos :-) Mas também existem ferramentas que fazem coisas automaticamente para o usuário preguiçoso ;-)
sudodus
3
Este é o único que trabalha para mim sob 16.04. Obrigado! O aplicativo padrão corrompe a mídia muy com o problema de tamanho de bloco incorreto e cria um sistema de arquivos somente leitura que não consegui reverter devido ao problema de tamanho de bloco. Este método permite ao usuário aproveitar todo o espaço livre restante.
user334639
3
O usb-creator do Ubuntu 17.04 (Startup Disk Creator) "corrompe" minha unidade USB todas as vezes. E este passo a passo aqui é a única maneira de revertê-lo para um estado gravável normal. gparted não pode.
precisa saber é
39

Eis como resolvi o problema de obter esse erro ao tentar reformatar um USB depois de usá-lo como mídia de instalação:

  • Primeiro abra o Aplicativo de discos em Aplicativos> Discos
  • Selecione o pen drive inicializável.
  • Haverá um menu de opções no canto superior direito
  • Selecione a opção Formatar unidade ( CTRL+ F)
  • Um pop-up será exibido. Selecione a partição 0 e formate o disco
  • Agora o disco estará vazio, mas não será reconhecido pelo sistema. Mas você pode ver no aplicativo Disks.
  • Selecione o pen drive e formate-o novamente. Agora o pendrive pode ser detectado por qualquer sistema.

A resposta aceita é complexa demais para ser usada, pois requer muita digitação e lembrança do nome específico do disco (caso contrário, você poderá acabar com um problema sério). O meu é super fácil de implementar.

Gopal Prasad
fonte
2
+1, mas acho que esta pergunta tem um título enganoso - eu a editei. A resposta aceita para esta pergunta é um método de criação de mídia de instalação , conforme solicitado pelo OP, não apenas a formatação da unidade (e você sempre deve ter certeza de que está selecionando o dispositivo certo ao formatar, independentemente do método usado!)
Zanna
OK obrigado por me avisar. Agora Conforme o título editado, você pode usar o criador do disco de inicialização para criar uma nova mídia de instalação após formatar a unidade.
Gopal Prasad
Obrigado. O menu no canto superior direito não era óbvio para encontrar.
Tor Klingberg
16

Verificou-se que o problema ocorre devido a um erro no usb-creator-gtk. Ele está definindo o tamanho do bloco inadequado durante a criação da mídia inicializável.

Se esse bug o afetar, você pode marcá-lo aqui: https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1589028

Severus Tux
fonte
1
No último comentário no site acima, há o usuário chamado EoflaOE, e abaixo dele, você vê os comentários e o que me afetou e o que eu sugeri para que você nunca tente danificar seu USB como da última vez. Se você precisar criar seu próprio USB inicializável, use o Rufus ou o Universal USB Creator até que esse bug seja corrigido.
Eofla
14

Isso foi muito mais fácil. Basta substituir /dev/sddpelo endereço do seu dispositivo. Isso pode ser encontrado no utilitário Disks ou Gparted .

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

Você pode usar o Startup Disk Creator para gravar a imagem na unidade.

caminho do futuro
fonte
7

Eu uso o UNetbootin no Ubuntu (versão anterior e 16.04) e funciona bem no meu PC. Aqui está o link para mais informações.

sudo apt-get install unetbootin
trunk96
fonte
3
obrigado pelos seus interesses, mas minha pergunta não é "nenhuma alternativa?", minha pergunta é "Por que esses métodos não estão funcionando como o esperado?". Também gostaria de receber outros métodos que não envolvam ferramentas de terceiros .
Severus Tux
7
@SeverusTux Na verdade, o unetbootin não é mais um terceiro do que qualquer outra coisa. Está disponível através do apt-get.
Mchid
Não permite a instalação de uma imagem de disco (multi partição), insiste em uma partição já montada.
Gringo Suave
5

Tente dd if=/path/to/my/ubuntuiso/ubuntu.iso of=/dev/sdb desta maneira nunca me falhou. (Nota b não b1 no final - destruirá outras partições, se houver)

Você verificou se o ISO está corrompido?

Também fazer isso com o TTY enquanto não estiver conectado no ambiente gráfico pode ajudar a rastrear o problema.

Editar: em vez de usar o ISO, você pode usar /dev/nullpara substituir a tabela de partições.

Carlo P.
fonte
assim: dd se = / dev / null de = / dev / sdb? Isso não parece fazer nada
quantumbutterfly
2
/dev/nullaponta para 'nada' e é usado para saída, mas /dev/zerogera zero caracteres (ascii 0).
sudodus 16/05
2

A reclamação sobre o tamanho do bloco provavelmente foi causada por um erro no software que lê o iso9660sistema de arquivos. Uma nova versão do gpartedé lançada e está disponível pelo menos no Ubuntu 17.10, onde esse bug é esmagado.


Você pode usar mkusbpara clonar a unidade. Este método não é sensível ao conteúdo da unidade, por isso é muito confiável.

Também é muito seguro, porque mkusb 'envolve um cinto seguro' em torno do ddcomando poderoso, mas perigoso . A unidade de destino é mostrada com muita clareza e você tem um ponto de verificação final, onde pode verificar novamente se estará instalando na unidade correta (e evitar erros).

Veja este link: https://help.ubuntu.com/community/mkusb

Se ainda não estiver funcionando, tente de acordo com o link a seguir,

Não é possível formatar minha unidade USB. Eu já tentei com mkdosfs e gparted - Análise do problema

Observe que você não precisa iniciar a formatação, porque o mkusb substituirá o conteúdo anterior da unidade. Você pode ir diretamente em frente e

  • instale o sistema operacional a partir do arquivo iso (ou arquivo de imagem) ou
  • restaurar a unidade para um dispositivo de armazenamento padrão
sudodus
fonte
1

um problema que surge com a resposta escolhida : O pen drive agora fica invisível ao ser inserido. (Estou no Lubuntu 16.04 de 64 bits) Solução: abra o Disksutilitário para montá-lo.

In Lubuntu: Start menu > Preferences > Disks.

O que funcionou com a resposta escolhida é que estamos de volta ao bom e velho modo da unidade USB, gravando o ISO inicializável e ainda permanecendo uma unidade USB gravável com espaço restante disponível para armazenar outros arquivos (de outro sistema operacional onde não estamos executando o sistema operacional ao vivo). Com o Startup Disk Creator16.04, ele está acabando com o USB, criando uma partição somente leitura semelhante a um CD, tornando a parte restante do USB não alocada (para que uma unidade de 32 GB se torne uma unidade somente leitura de 900mb), e eu não estava capaz de criar qualquer partição secundária no espaço não alocado.

Atualização: o Unetbootin pareceu fazer o trabalho, o pen drive permaneceu visível, não ocultou a inserção e a parte restante do disco permaneceu disponível para armazenar outros dados. MAS o disco NÃO foi reconhecido como um USB inicializável quando eu inicializei meu laptop! Eu usei a versão Ubuntu do UNetBootin.

Nikhil VJ
fonte
1. Você pode ter mais sorte se instalar o Unetbootin a partir do PPA do desenvolvedor, porque a versão no repositório do Ubuntu pode ser muito antiga (não atualizada para lidar com as novas versões do Ubuntu); 2. A mensagem de erro no título desta pergunta é porque o software não entende o sistema de arquivos iso9660 de uma unidade de inicialização clonada; 3. E se você tiver problemas para restaurar a unidade em um dispositivo de armazenamento padrão, poderá usar o mkusb de acordo com o link na minha resposta. (É possível com gparted e discos também, mas talvez mais difícil.)
sudodus
0

Eu tive exatamente o mesmo problema, mesmo em um novo SSD. Usei as versões Linux Mint 18.1 e Ubuntu 16.04 LTS ISO. Não importa quantas vezes eu baixei novamente o ISO, reescrevi o ISO e fiz todas as etapas sugeridas acima para resolver a menção de erro, mas isso simplesmente não desapareceu. Estranhamente, eu tinha o Mint 18.1 instalado e queria fazer uma nova instalação, mas depois encontrei o erro. Até usei os mesmos pen drives e SSD para instalar o Windows 10, depois reescrevi os mesmos discos USB AGAION com o Ubuntu 16.04 / Mint 18.1 e a instalação falhou. Minha opinião é que houve uma falha no arquivo ISO ou em meu hardware específico não compatível. Eu desperdicei várias horas da minha vida.

** SOLUÇÃO: Baixado Ubuntu 17.04 ISO e instalado. Funcionou bem no mesmo hardware, nas mesmas unidades / drives USB em que o Ubuntu 16.04 não teria nada disso. ****

Erasmus Grové
fonte
0

Aparentemente, o erro está na leitura incorreta da unidade e não no comando dd ou no programa Startup Disk Creator

Relatório de bug do Debian para parted: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788808

Solução alternativa: se você usar o fdisk em vez de se separar, verá o particionamento correto. Use fdisk em vez de se separar até que o erro seja corrigido.

convidado
fonte
0

É uma pena que muitos desses utilitários de disco da GUI não apenas permitam excluir a tabela de partições do USB, em vez de apenas solicitar erros estúpidos, como:

Physical block size is 2048 bytes, but Linux says it is 512 bytes

Essa caixa de diálogo de erro deve ser associada a esta pergunta:

Would you like delete the partition table on this device (all data will be lost)?

Como não faz isso, você pode fazê-lo imediatamente com este comando:

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

Certifique-se de duas coisas antes de executar o comando acima:

  1. Verifique se o seu terminal está conectado ao computador que você pensa que é.
  2. Verifique se o caminho do dispositivo está correto (consulte o ponto de interrogação no comando he acima, é necessário alterá-lo para o caminho correto do dispositivo).

Como outros já mencionaram, você pode descobrir o caminho do dispositivo com:

sudo fdisk -l

Depois disso, você provavelmente poderá continuar usando o utilitário que estava usando quando recebeu esse erro.

BTW, as soluções de comando dd para esse problema são muito lentas para minhas necessidades. Tudo o que realmente quero fazer é me livrar desse erro, sem esperar que o dd zere toda a unidade.

Lonnie Best
fonte