Ви зробили щось із встановлення Sierra, яке не хотілося б перезаписати? Я ніколи не намагався відновити між різними версіями, але я гадаю, що це не буде проблемою - вона просто оновить усе, що потрібно для наступного входу.
Що стосується цього, поки ви ввійшли в систему - я б не намагався. Я б або увійшов під іншим обліковим записом адміністратора, якщо у вас є такий (але це може спричинити проблеми з дозволом), або вийдіть із системи, а потім запозичуйте чужу машину та ввійдіть через SSH. Таким чином, у вас не буде фонових процесів, які записують матеріали до вашої бібліотеки, коли ви намагаєтесь скопіювати це.
Це для машини часу. Він може не відновити все - дивіться нижче!
- Позичіть Mac другого (вибачте, але машини Windows не працюватимуть) та відкрийте Terminal.
Якщо ваш накопичувач заблокований:
- Підключіть накопичувач та при необхідності розблокуйте його.
- Відкритий термінал.
- Нижче, починаючи з
ssh
команди, і замінити ~/Library
з , /Volumes/disk/Backups.backupdb/machine-name/Latest/Macintosh\ HD/Users/user/Library
де disk
це ім'я резервної копії диска, machine-name
це ім'я старої машини, і user
ваше ім'я користувача, як в команді SSH. Будь-яким пробілам доведеться передувати нахили, як у "Macintosh \ HD". Ви можете натискати Tabпід час введення сегменту шляху, і він автоматично заповнить його, включаючи необхідні для втечі речі (зворотний проріз). Зупиніться перед chmod
командою , оскільки ви нічого не зробили в папці «Бібліотека» вашого друга і не потрібно її скасовувати. (Плюс, якщо з якихось причин вони захочуть, щоб щось у їхній папці «Бібліотека» було лише для читання, вони можуть зліти на вас!)
Якщо ваш резервний привід не заблокований (сподіваємось, він є, але про всяк випадок):
- Зробіть те саме, що описано вище, за винятком підключення накопичувача до нової машини (без входу в систему!) Та видалення
user@machine.local:
біта з передачі. Також виконайте передачу, поки ви увійшли на віддалену машину . Потім ви також можете використовувати ~
замість /Users/user
(але не замінюйте це на /Volumes/...
). Вищеописаний метод працює просто чудово, але цей швидший.
Важлива примітка!
Я не повністю впевнений у цьому, але Time Machine може не створити резервну копію всього в ~ / Бібліотеці . Якщо ви знайдете щось, що не вистачає, і у вас все ще є стара машина, я б використовував це для передачі файлів:
- Завантажте обидві машини та підключіть їх до однієї мережі. Ви НЕ увійти на новій машині, або увійти, якщо ви увійшли в систему .
- Увійдіть у стару машину та відкрийте Terminal.
- Тип
chmod -R -w ~/Library
. Це не дозволить старій системі змінити папку під час її копіювання. З цього моменту, поки ви не скасуєте це chmod -R +w ~/Library
, налаштування не зберігатимуться. Деякі інші речі також не можуть бути збережені; просто гарна ідея не робити жодної роботи на будь-якій машині, поки це триває.
- Введіть
ssh user@machine.local
, де user
ваше нове ім’я користувача на новій машині (назва вашої домашньої папки, а не ваше повне ім’я), machine
це ваше нове ім’я машини та local
є TLD вашої локальної мережі. Це може бути local
(моє), але може бути і чимось іншим. Це може щось сказати, що "автентичність неможливо перевірити", але якщо ви перебуваєте в домашній мережі, вам, мабуть, не доведеться про це турбуватися. Вам потрібно буде ввести пароль для входу (для нової машини), коли він запитає вас.
- Тепер ви увійшли на віддалену машину. Введіть
mv ~/Library ~/.Trash/Library
кошик для папки, яку ви збираєтеся замінити.
- Якщо у вас недостатньо місця на диску, щоб зберегти стару версію, ви можете використовувати її
rm -rv ~/Library
замість. Однак будьте дуже обережніrm
! Він видаляє файли негайно, не вимагаючи підтвердження . Я б не рекомендував робити це, якщо це абсолютно не потрібно, оскільки тоді ви не зможете відновити, якщо є проблема.
- Наберіть ⌃D для виходу з віддаленої системи. Якщо це не працює (хоча і повинно), використовуйте
exit
.
- Введіть
rsync -rlptgDEHP --stats ~/Library user@machine.local:/Users/user/Library
, замінюючи, як зазначено вище. Це фактична копія; це, швидше за все, займе дуже багато часу. Якщо вам потрібно зупинити, просто натисніть ⌃C, щоб скасувати передачу. Коли ви знову підберете, вам доведеться знову пройти процес "списку файлів будівельних файлів", але власне процес надсилання повинен вибрати місце, де ви зупинилися.
- Ви можете додати
z
до -rlptgDEHP
біта, якщо у вас є повільна локальна мережа (що навряд чи, але ...). Це змусить rsync стиснути все, перш ніж надсилати його по всій мережі, хоча знадобиться час, перш ніж надсилати його, і декомпресувати на іншому кінці.
- Після того, як передача буде завершена, і ви її протестували, щоб переконатися, що нічого не зламалося, введіть
chmod -R +w ~/Library
(на локальній машині). Це зробить його знову доступним для запису.
- Редагувати : Ви повинні зробити це і на новій машині, щоб ви могли там зберігати налаштування та речі.
Невелика примітка про безпеку (це насправді не має значення вдома, але це може бути в іншому місці):
Rsync використовує віддалену оболонку для передачі; якщо програма віддаленої оболонки не захищена, я сумніваюся, що передача відбудеться. Він повинен використовувати SSH, який захищено, але відповідно до посібника, його можна налаштувати на використання ще чогось:
Для віддалених передач сучасний rsync використовує ssh для своїх комунікацій, але він, можливо, був налаштований на використання іншої віддаленої оболонки за замовчуванням, наприклад, rsh або remsh.
Ви також можете вказати будь-яку віддалену оболонку, яка вам подобається, або використовуючи параметр командного рядка -e, або встановивши змінну середовища RSYNC_RSH.
Тож якщо ви хочете змусити його використовувати SSH, використовуйте RSYNC_RSH='ssh' rsync ...
Це має значення лише для мережевих з'єднань; це не має значення для методу "Привід не заблокований", оскільки SSH тут точно використовується.