При попытке переразбить внешний диск на разделы возникает следующая ошибка: «».
Я хочу запустить fsck -fy
на диске, но не знаю правильного синтаксиса для выполнения этого на внешнем диске?
Может ли кто-нибудь помочь мне с этой проблемой?
решение1
На самом деле вы хотите сделать:
% sudo fsck_hfs -fy /dev/disk1s1
(в зависимости от того, какой раздел вы хотите проверить).
Это не сработает, fsck
вам придется просто указать fsck_hfs
команду для запуска.
решение2
При попытке переразбить внешний диск на разделы возникает следующая ошибка: ""
Это действительно очень показательная ошибка.
Для того, чтобы запустить fsck
на внешнем диске, вам сначала нужно узнать идентификатор диска. Запустите diskutil list
и проверьте имя тома, указанного ниже IDENTIFIER
– это будет что-то вроде disk3s4
, например.
Используйте это имя для запуска fsck
. Вы также можете передать -f
опцию для принудительной проверки чистой файловой системы.
sudo fsck /dev/disk3s4
fsck
имеет сокращения для различных типов файловых систем:
fsck_hfs
для HFS используйте-f
опцию принудительной проверки журналируемых системfsck_exfat
для ExFAT (-f
здесь нет опции)fsck_msdos
для FAT (-f
здесь нет выбора)
решение3
Мне пришлось запустить с флагом -l:
diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16
Флаг -l
сообщает fsck о необходимости проверки диска в режиме «только чтение».
решение4
Это не прямой ответ на исходный вопрос, но тесно с ним связан.
Другой вариант — использовать сам diskutil для проверки или ремонта внешнего диска.
Я не уверен, как он сравнится с fsck, но он исправил мой внешний диск, который не монтировался после того, как я случайно оставил его подключенным во время перезагрузки для обновления системы.
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
а затем команды, такие как
diskutil verifyDisk disk2
diskutil verifyVolume disk2s1
diskutil verifyVolume disk2s2
По какой-то причине простое выполнение команд проверки решило мою проблему, но если вам нужно пойти дальше, есть также команды восстановления:
diskutil repairDisk disk2
diskutil repairVolume disk2s1
diskutil repairVolume disk2s2