Como executar o fsck em uma unidade externa com o OS X?

21

Estou recebendo esse erro ao tentar reparticionar uma unidade externa: "".

Quero executar fsck -fyna unidade, mas não conheço a sintaxe adequada para fazê-lo em uma unidade externa?

Alguém pode me ajudar com esse problema?

PETERV
fonte

Respostas:

34

Na verdade você quer fazer:

% sudo fsck_hfs -fy /dev/disk1s1 (dependendo da partição que você deseja verificar).

Não vai funcionar com apenas fsckvocê tem que colocar fsck_hfscomo o comando a ser executado.

Paulo
fonte
3
Esta é a melhor resposta. Antes de executá-lo, liste todos os seus discos com diskutil list Meu cartão SD como disk2. Então você deseja encontrar o número da partição, faça algo assim ls /dev/disk2*. Isso resulta em disk2s1. Então o comando final que corro é esse sudo fsck_hfs -f /dev/disk2s1. NOTA: Formatei propositalmente meu cartão SD como hfs. Normalmente eles estão usando como gordura ou algo assim.
Portforwardpodcast 14/12/2015
8

Estou recebendo esse erro ao tentar reparticionar uma unidade externa: ""

Esse é um erro muito descritivo.


Para executar fsckem uma unidade externa, primeiro você precisa descobrir o identificador da unidade. Execute diskutil liste 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 -fopçã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_hfspara HFS, use a -fopção para forçar a verificação de sistemas registrados no diário
  • fsck_exfatpara ExFAT (nenhuma -fopção aqui)
  • fsck_msdospara FAT (nenhuma -fopção aqui)
slhck
fonte
Na verdade, parece que a partir do 10.9, você não pode usar fscksem algum tipo de sinalizador. O uso do comando conforme indicado aqui resulta na saída de ajuda / uso.
ray
Veja a resposta de Paulo - você precisa usar fsck_hfs.
Zev Eisenberg
2

Eu tive que correr com a bandeira -l:

diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16

A -lbandeira diz ao fsck para verificar a unidade no modo somente leitura.

Robert Steward
fonte
1

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
jk7
fonte