Відновлення диска з єдиного користувальницького режиму (fsck не вдається)


21

Раніше сьогодні мій 2009 року iMac видав помилки вводу / виводу при копіюванні файлів. Тому я запустив дискову утиліту, перевірив диск, щоб побачити, чи щось не так. Це було. Але оскільки це мій стартовий диск, я не зміг його відновити, тому я спробував безпечний режим. Безпечний режим спрацював у перший раз, але коли я перезавантажився, він показує заповнення рядка прогресу, перш ніж зупинятися. Кожен раз, коли я його вмикаю зараз, відбувається одна і та ж панель прогресу, а потім відбувається збій. Завантаження в дозвольному режимі виявляє, що fsck не працює з сигналом 8.

Використовуючи однокористувацький режим, наскільки я знаю єдиний спосіб отримати будь-який доступ до системи, я працював fsck_hfs. Однак це завжди не вдається. Нижче наведено вихід з fsck_hfs -d / dev / disk0s2.

** /dev/rdisk0s2
        Using cacheBlockSize=32K cacheTotalBlock=65536 cacheSize=2097152K.
** Root file system
   Executing fsck_hfs (version diskdev_cmds-491.6~3).
** Verifying volume when it is mounted with write access.
** Checking Journaled HFT Plus volume.
** Checking extents overflow file.
** Checking catalog file.
   Missing thread record (id = 9931104)
   Missing thread record (id = 16434146)
   Missing thread record (id = 19370458)
disk0s2: I/O error
hfs_swap_BTNode: offsets 10 and 11 out of order (0x0000, 0x0000)
   Invalid node structure
(4, 115897)
** The volume Macintosh HD could not be verified completely.
        volume check failed with error 7
        volume type is pure HFS+
        primary MDB is at block 0 0x00
        alternate MDB is at block 0 0x00
        primary VHB is at block 2 0x02
        alternate VHB is at block 1952491198 0x74622d5e
        sector size = 512 0x200
        VolumeObject flags = 0x07
        total sectors for volume = 1952591200 0x74622d60
        total sectors for embedded volume = 0 0x00

Мені абсолютно потрібно мати можливість завантажуватися, щоб використовувати його як зовнішній монітор.


Яку версію OS X ви використовуєте?
nohillside

Вибачте, мав би сказати. Це біг Сніжного Леопарда.
Макс

1
Якщо у вас все ще є установочний DVD, ви можете завантажитися з цього і запустити «Ремонт диска».
nohillside

Ніколи не було встановити DVD, він був попередньо встановлений. Я розглядав спробу спалити один із цього старого ноутбука, який я розкопав. Я також розглядав DiskWarrior, чи можливо це вдасться виправити?
Макс

1
І «launchd'ing» я маю в виду: launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist launchctl load /System/Library/LaunchDaemon/com.apple.DirectoryServices.plist я тоді зробив деякі інші речі, не знаю , якщо це було необхідно, а потім shutdown -h now, а коли це не спрацювало, exit.
Макс

Відповіді:


4

Близько трьох років тому я зіткнувся з точно такою самою проблемою, що і у вас. Проблема полягає в самому жорсткому диску - нічого програмного забезпечення не пов’язане. Віднесіть його до найближчого / найкращого магазину ремонту Apple і запропонуйте їм замінити ваш жорсткий диск. Потім ви можете відновити всю свою інформацію з резервної копії. Ви робите резервну копію вашого комп'ютера, чи не так?

(Примітка. Якщо ви нещодавно забули створити резервну копію комп'ютера або не можете отримати доступ до своїх старих файлів, ремонтна майстерня, швидше за все, зможе відновити більшість, якщо не всі ваші дані. Однак, якщо жорсткий диск сильно пошкоджений, проте, найкраще ставити його надіслати на DriveSavers для розбирання та відновлення даних. Якщо ви виберете цей варіант, будьте готові витратити кілька сотень доларів.)


iFixit має власні процедури заміни жорсткого диска. Але вам потрібна установка DVD або USB-накопичувача, яку ви можете позичити у друга.
mouviciel

Ви маєте рацію, це був несправний жорсткий диск на відміну від просто химерних записів у файловій системі. У мене є резервні копії, зокрема Time Machine, але в кінцевому підсумку я просто використовую DiskWarrior для створення "попереднього перегляду" жорсткого диска, клонування цього до зовнішнього диска та завантаження із зовнішнього диска. Це тимчасово, поки я не отримаю шанс замінити внутрішній жорсткий диск, але наразі все працює безперебійно.
Макс

14

Ви можете спробувати змусити fsck_hfsвідновити каталог, запустивши

fsck_hfs -Rc -d /dev/disk0s2

або (якщо ви хочете уникати відповідей на підказки)

fsck_hfs -y -Rc -d /dev/disk0s2

Звичайно, це виправить лише логічні пошкодження і не вийде з ладу, якщо сам диск пошкоджений.


1
Я насправді спробував це з -r (-Rc, здається, не працює). Він давав помилку "неправильна структура вузла" завжди, а "недійсна довжина ключа" лише 75% часу.
Макс

Це не означає, що :-(
nohillside

1
Ти врятував мій день!
カ オ ナ シ

Виконання цієї команди двічі виправляло диск, коли Disk Utility не вдалося. Хоча Disk Utility все ще повідомляє про помилки у файловій системі, принаймні об'єм, встановлений після перезавантаження. Спасибі!
зигуризм

8

Я знайшов цю сторінку через Google і перекинув її тут. Потерпівши ту саму "недійсну структуру вузла" та відмову від завантаження, я зміг пройти сірий екран і завантажитися на робочий стіл, виконавши наступні дії:

  1. Завантаження в режим одного користувача (cmd + s при запуску)

  2. Встановіть несправний hdd

    /sbin/mount -uw /

  3. Вийдіть з режиму одиночного користувача, ввівши «вихід» під запитом

  4. (Не впевнений, чи необхідний цей крок.) Один раз натисніть кнопку ввімкнення / вимкнення.

Виконане вище завантажило мій Macbook (працює на Snow Leopard) на робочий стіл, обійшовши невдалу перевірку fsck і дозволивши мені запустити сучасне резервне копіювання машини. YMMV, але я сподіваюся, що це комусь допоможе.


1
Це в поєднанні із силою fsck_hfs працювало на мене
rfabbri

1
Система може завантажуватися на робочий стіл за допомогою наведених вище інструкцій і виглядати нормально, але розділ, ймовірно, все-таки буде пошкодженим і його неможливо відновити. Після запропонованої резервної копії машини часу відновіть резервну копію цієї машини в режимі відновлення.
rfabbri

Ви - рятувальник життя
космодроп

3

Наскільки я можу сказати:

fsck_hfs -Rc -d /dev/disk0s2

… Не є дійсною командою - Rповинно бути r. Так:

fsck_hfs -rc -d /dev/disk0s2

замість цього.


5
Сторінка man для fsck_hfs(принаймні 10,9) говорить, що -rце синонім -Rc.
mhucka

3
це має бути лише коментарем до іншої відповіді
rfabbri

1
цю відповідь обов'язково слід видалити і записати як коментар до оригінального хлопця, який запропонував -Rc.
esaruoho
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.