Eu criei um Ubuntu ao vivo usb:
$ dd if=/path/to/ubuntu.iso of=/dev/sdb
Eu instalei minha distro. Agora eu quero voltar meu usb para um uso normal de armazenamento.
$ lsblk
sdb 8:16 1 15G 0 disk
├─sdb1 8:17 1 1,4G 0 part # Ubuntu is here
└─sdb2 8:18 1 2,3M 0 part # Extra space I guess
$ sudo gdisk /dev/sdb
> p # list patitions
Command (? for help): p
Disk /dev/sdb: 0 sectors, 0 bytes
Logical sector size: 512 bytes
Disk identifier (GUID): A9CA0E15-8539-47B8-9BD1-4942D18E789B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 18446744073709551582
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
Como você pode ver, nenhuma partição está listada e o disco é visto como vazio.
No entanto, tento criar um novo:
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-18446744073709551582, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-18446744073709551582, default = 18446744073709551582) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Em seguida, escreva as alterações:
Command (? for help): w
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning! The claimed last usable sector is incorrect! Do you want to correct
this problem? (Y/N): Y
Have adjusted the second header and last usable sector value.
Problem: partition 1 is too big for the disk.
Aborting write operation!
Aborting write of new partition table.
Por isso, não funciona. O que estou fazendo de errado? Por enquanto, ele usb doente ainda funciona como um usb ao vivo.
EDIT 1
ok antes de receber respostas Eu tentei formatar cada partição:
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mkfs.ext4 /dev/sdb2
Em seguida, verifiquei o id das partições:
$ blkid /dev/sdb*
/dev/sdb1: UUID="eea83bc3-408b-4287-8c35-0cceeee837bb" TYPE="ext4"
/dev/sdb2: UUID="1138f1f8-0840-44fe-bb89-935993ed83af" TYPE="ext4"
Tentou usar fdisk
:
$ sudo fdisk /dev/sdb
fdisk: unable to read /dev/sdb: Invalid argument
Então eu fiz como Alex Stragies
aconselhado para remover a assinatura do arquivo:
$ dd if=/dev/zero of=/dev/sdb count=4 bs=1M
fdisk
trabalhou desta vez:
$ sudo fdisk /dev/sdb
Eu construo um novo msdos
partition table
:
> o
Building a new DOS disklabel with disk identifier 0xb4151e51.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
You must set cylinders.
You can do this from the extra functions menu.
e salvou as alterações e saiu fdisk
:
> w
The partition table has been altered!
Syncing disks.
Agora, quando eu verifico partições em fdisk
, ele me diz que o dispositivo tem cerca de 4MB em vez de 16GB! Meu stick usb deve ter cerca de 16GB
$ sudo fdisk /dev/sdb
> p
Disk /dev/sdb: 4 MB, 4194304 bytes
131 heads, 2 sectors/track, 31 cylinders, total 8192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 8191 4095+ ee GPT
Usando o gdisk:
$ sudo gdisk /dev/sdb
> p
Disk /dev/sdb: 8192 sectors, 4.0 MiB
Logical sector size: 512 bytes
Disk identifier (GUID): 5A262CEA-114A-4DF7-B2D3-99634D40398A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 8158
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 8158 3.0 MiB 8300 Linux filesystem
Considerando que lsblk
me diz que o dispositivo tem uma capacidade de 15 GB e dois volumes ou 1,4 G e 2,3 M:
$ lsblck
sdb 8:16 1 15G 0 disk
├─sdb1 8:17 1 1,4G 0 part
└─sdb2 8:18 1 2,3M 0 part
O que está acontecendo? Estou totalmente perdido aqui
EDIT 2
Eu joguei um pouco com a contagem de dd
e fdisk
. Eu posso subir para uma contagem = 2000 com dd
para obter 2GB copiados:
$ dd if=/dev/zero of=/dev/sdb count=2000 bs=1M
mas não mais. Se eu especificar count=3000
, apenas 2 GB serão copiados.
Para esclarecer as coisas: Eu já tinha esse problema há três anos e desisti do meu antigo pendrive, pois me disseram que provavelmente estava quebrado. Eu achei que era má sorte, como eu também usei como um Ubuntu Live USB antes de formatá-lo e tê-lo quebrado. Agora acontece hoje, nas mesmas circunstâncias, com o Ubuntu. Embora eu tenha usado isso como uma mentira do Arch Linux muitas vezes antes e reformatá-lo nunca falhou. Eu encontrei na internet outros tópicos onde os usuários descrevem o mesmo problema, relacionado a fazer live usb stick (com o Ubuntu). Mas nenhuma solução clara foi encontrada, eu li pessoas aconselhando sobre reformatação, criando nova partição para espaço não alocado e tal. Sureley alguém já experimentou esse problema e encontrou uma solução à prova de bala não? Ou o meu stick usb está perdido para sempre?