Eu tenho um sistema de inicialização dupla (Windows 10 e Ubuntu, o Windows fast boot está desativado) e, portanto, tenho muitas partições no meu disco rígido. Na inicialização, o drive USB está fazendo uma boa imagem no Ubuntu e está funcionando de todas as maneiras que você esperaria também.
No entanto, quando montei a partição de dados do meu disco rígido da Microsoft (pelo menos tenho quase certeza de que essa é a causa), não é mais possível formatar o USB ou a imagem de qualquer forma.
Eu tentei dd
, na verdade, é onde eu preciso trabalhar porque usar dd
é muito mais fácil do que usar o criador do Ubuntu Startup Disk (estou projetando um sistema operacional no caso de alguém querer saber, e é difícil o suficiente sem problemas USB !!!). Não consigo montá-lo porque falta um sistema de arquivos da última imagem. Embora, se eu formatá-lo antes de eu acessar a Microsoft (ou o erro que ocorre que você verá daqui a pouco), ele funciona bem como um disco USB normal. Eu apenas não posso re-formatá-lo.
Aqui está uma captura de tela do erro:
Por favor, pergunte-me se você tiver alguma dúvida ou precisar ver mais detalhes.
Comandos:
root@my_comp:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 6100104 0 6100104 0% /dev
tmpfs 1224076 9820 1214256 1% /run
/dev/sda5 382559396 9121780 353981616 3% /
tmpfs 6120368 51716 6068652 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 6120368 0 6120368 0% /sys/fs/cgroup
/dev/sda1 262144 30636 231508 12% /boot/efi
tmpfs 1224076 48 1224028 1% /run/user/1000
/dev/sr0 4442656 4442656 0 100% /media/devepere/BOPC_1E1
Isso faz sentido, já que não há realmente um sistema de arquivos no disco: ele foi completamente sobrescrito e ainda não implementei uma tabela FAT no meu bootloader.
root@my_comp:/# parted -ls
Model: ATA HGST HTS721010A9 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name
Flags
1 1049kB 274MB 273MB fat32 EFI system partition
boot, esp
2 274MB 290MB 16.8MB Microsoft reserved
partition msftres
3 290MB 589GB 588GB ntfs Basic data partition
msftdata
5 589GB 987GB 398GB ext4
6 987GB 1000GB 12.8GB linux-swap(v1)
4 1000GB 1000GB 523MB ntfs Basic data partition
hidden, diag
Model: Generic Flash Disk (scsi)
Disk /dev/sdb: 1028MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1028MB 1027MB primary
Warning: Unable to open /dev/sr0 read-write (Read-only file system).
/dev/sr0 has been opened read-only.
Error: /dev/sr0: unrecognised disk label
Model: TSSTcorp CDDVDW SU-228GB (scsi)
Disk /dev/sr0: 4549MB
Sector size (logical/physical): 2048B/2048B
Partition Table: unknown
Disk Flags:
Eu também esqueci de mencionar que eu tenho um disco de jogo no meu computador, isso é sr0. E não deve estar lendo 'msdos', já que não há uma partição real nela.
root@my_comp:/# lsblk -f
NAME FSTYPE LABEL UUID
MOUNTPOINT
sda
├─sda1 vfat SYSTEM 92EA-85A0 /boot/efi
├─sda2
├─sda3 ntfs OS 128AECEA8AECCAF5
├─sda4 ntfs RECOVERY 18565C8D565C6D8E
├─sda5 ext4 d59773a2-e22e-4e57-945e-6d447600da16 /
└─sda6 swap 1ac79668-effe-46bc-9f71-6686c3ad8fcf [SWAP]
sr0 iso9660 BOPC_1E 2006-10-12-03-54-00-00
/media/devepere/BOP
Novamente, não há um sistema de arquivos, então isso faz algum sentido.
root@my_comp:/# lsblk -m
NAME SIZE OWNER GROUP MODE
sda 931.5G YANN-MARTEL disk brw-rw----
├─sda1 260M YANN-MARTEL disk brw-rw----
├─sda2 16M YANN-MARTEL disk brw-rw----
├─sda3 548G YANN-MARTEL disk brw-rw----
├─sda4 499M YANN-MARTEL disk brw-rw----
├─sda5 370.8G YANN-MARTEL disk brw-rw----
└─sda6 12G YANN-MARTEL disk brw-rw----
sr0 4.2G YANN-MARTEL cdrom brw-rw----
Só para esclarecer, estou completamente substituindo o disco regularmente porque é assim que eu testo meu sistema operacional. Não há tabela de partições. Meu problema é que não consigo mais escrever depois de receber este erro: é como se o sistema operacional perdesse toda a capacidade de gravar na unidade USB ou formatá-la de qualquer maneira.
E, a propósito, isso acontece para cada drive USB que eu imaginei, então é definitivamente local para o Ubuntu.
Outras edições ...
1:
Eu usei o aplicativo 'disk' que vem nativo com o linux para testar a formatação do usb. O erro geralmente aparece quando (ou antes) eu faço isso, embora tenha sido conhecido por aparecer algumas vezes logo após a inicialização, e consistentemente quando eu abro a partição da Microsoft no meu disco, caso em que estou usando nautilus, daí um gnome falha na aplicação.
Tudo o que sei é que depois que recebo o erro, o USB não responde às tentativas de gravação. dd será executado e concluído, mas leva muito menos tempo para ser executado e não grava no disco.
2:
Minha imagem contém o setor MBR com o final usual de 0xAA55
, mas NÃO CONTÉM UM SISTEMA DE ARQUIVOS (OU TABELA DE PARTIÇÃO) DE QUALQUER TIPO . Estou criando um SISTEMA OPERACIONAL COMPLETAMENTE NOVO (e bootloader), e ainda não implementei uma tabela de partições porque teria que GRAVÁ-LA MESMO.
3:
Para o registro, lsblk
sem flags na verdade mostra o USB como um bloco antes e depois do erro:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[...]
sdb 8:16 1 980M 0 disk
[...]
E sim, o tamanho está correto; esta é uma unidade USB bastante antiga. Eu plugo meus 32 gig, eu recebo algo que parece 32 shows.
E aqui está lsblk -f
ANTES de o erro mostrado ser acionado por qualquer motivo:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat SYSTEM 92EA-85A0 /boot/efi
├─sda2
├─sda3 ntfs OS 128AECEA8AECCAF5
├─sda4 ntfs RECOVERY 18565C8D565C6D8E
├─sda5 ext4 d59773a2-e22e-4e57-945e-6d447600da16 /
└─sda6 swap 1ac79668-effe-46bc-9f71-6686c3ad8fcf [SWAP]
sdb
sr0 iso9660 BOPC_1E 2006-10-12-03-54-00-00
/media/devepere/BOP
Você pode ver claramente que o disco (sdb) é reconhecido e não possui um sistema de arquivos associado a ele.
Para mais explicações, aqui está o que acontece quando eu tento montar meu disco USB não formatado:
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
4:
Esta unidade, que usa um carregador de inicialização MBR e não tem nenhum tipo de tabela de partição, é muito difícil de reconhecer pelo meu PC de inicialização de jogos UEFI (que estou usando agora). Como tal, tenho um computador de 'teste' muito mais antigo que só precisa da assinatura de boot para carregar o bootloader na memória, já que eu quero realmente ter algo para inicializar antes de torná-lo inicializável em todas as máquinas.
Como tal, não pode arrancar na maioria das máquinas.
No entanto, eu escrevo código no meu computador normal, compilo-o em uma imagem binária e, em seguida, escrevo a imagem na minha unidade USB. O que eu quis dizer é que, antes de o erro ser acionado, esse processo de criação de imagens funciona bem.
Embora quando o erro ocorre, no entanto, ocorre, a partir desse ponto não consigo escrever para o USB. Este é um problema MAIOR em desenvolvimento, porque praticamente não consigo escrever 10 linhas de código assembly sem testá-lo primeiro, senão gastarei o dobro do tempo depurando o código, porque simplesmente não tenho idéia de onde deu errado.
Obrigado pelo seu tempo, sei que este post é extremamente longo.