Respostas:
Estou recebendo esse erro ao tentar reparticionar uma unidade externa: ""
Esse é um erro muito descritivo.
Para executar fsck
em uma unidade externa, primeiro você precisa descobrir o identificador da unidade. Execute diskutil list
e verifique o nome do volume listado em IDENTIFIER
- será algo como disk3s4
, por exemplo.
Use esse nome para executar fsck
. Você também pode passar a -f
opção de forçar a verificação de um sistema de arquivos limpo.
sudo fsck /dev/disk3s4
fsck
possui atalhos para diversos tipos de sistemas de arquivos:
fsck_hfs
para HFS, use a -f
opção para forçar a verificação de sistemas registrados no diáriofsck_exfat
para ExFAT (nenhuma -f
opção aqui)fsck_msdos
para FAT (nenhuma -f
opção aqui)fsck
sem algum tipo de sinalizador. O uso do comando conforme indicado aqui resulta na saída de ajuda / uso.
fsck_hfs
.
Eu tive que correr com a bandeira -l:
diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16
A -l
bandeira diz ao fsck para verificar a unidade no modo somente leitura.
Esta não é uma resposta direta à pergunta original, mas intimamente relacionada.
Outra opção é usar o próprio diskutil para verificar ou reparar uma unidade externa.
Não tenho certeza de como ele se compara ao fsck, mas ele corrigiu minha unidade externa que não estava montando depois que eu acidentalmente a deixei conectada durante uma reinicialização para uma atualização do sistema.
diskutil list # to find the IDENTIFIER
(some internal disks listed first)
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS FreeAgent GoFlex Drive 499.8 GB disk2s2
e depois comandos como
diskutil verifyDisk disk2
diskutil verifyVolume disk2s1
diskutil verifyVolume disk2s2
por algum motivo, apenas executar os comandos de verificação resolve meu problema, mas se você precisar ir mais longe, também existem comandos de reparo
diskutil repairDisk disk2
diskutil repairVolume disk2s1
diskutil repairVolume disk2s2
diskutil list
Meu cartão SD como disk2. Então você deseja encontrar o número da partição, faça algo assimls /dev/disk2*
. Isso resulta emdisk2s1
. Então o comando final que corro é essesudo fsck_hfs -f /dev/disk2s1
. NOTA: Formatei propositalmente meu cartão SD como hfs. Normalmente eles estão usando como gordura ou algo assim.