3

Я по глупости удалил некоторый исходный код с моего компьютера Mac OS X Snow Leopard с помощью команды rm -rf, когда делал что-то со buildout. Я хочу попытаться восстановить эти файлы снова. С тех пор я не касался системы, чтобы попытаться найти ответ.

Я нашел эту статью, и похоже, что метод grep - это то, что нужно, но когда я запускаю его на моей машине, я получаю «Ресурс занят» при попытке запустить его на диске.

Я использую эту команду:

sudo grep -a -B1000 -A1000 'video_output' /dev/disk0s2 > file.txt

Где dev/disk0s2 - это то, что появилось, когда я запустил df .

Я получаю это при запуске:

grep: /dev /disk0s2: ресурс занят

Я не эксперт в этом, я стараюсь изо всех сил. Пожалуйста, кто-нибудь может мне помочь? Я на грани потери двух дней работы с исходным кодом!

Спасибо

3 ответа3

1

Когда вы загрузитесь на другое устройство, вы должны будете помнить, что, если вы ищите имя файла, вы можете не получить того, что хотите, так как имя файла отсутствует в самом файле - если вы не включили его в комментарии или что-то.

Вам понадобится grep для некоторой фразы, которая, как вы знаете, находится в файле.

1

Попробуйте это с помощью Ubuntu LiveCD (здесь) или загрузочного CD GPartEd (здесь) или чего-то подобного, где вы можете загружаться с CD, а не с раздела жесткого диска (при условии, что у вас есть другой компьютер, на котором вы можете загрузить и записать один из них). Даже если они не понимают файловую систему HFS+, они смогут прочитать ее в необработанном формате.

Это будет самый безопасный способ. На этот раз операционная система не заблокирует диск, и вы не столкнетесь с риском, что файл подкачки или временные файлы перезапишут драгоценные свободные блоки.

0

Вы должны будете grep disk вместо disk slice . Используя мою машину в качестве примера,

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Sandisk 240G            239.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

disk0 - это весь диск, а disk0s2 - это раздел, в котором я удалил файл. Grep не работает на срезе диска

$ sudo grep --binary-files=text --context=10 '192.168.1.196' /dev/disk0s2 > recovered.txt
Password:
grep: /dev/disk0s2: Resource busy

Но работает на самом диске

$ sudo grep --binary-files=text --context=10 '192.168.1.196' /dev/disk0 > recovered.txt

предосторожность

grep 'raw диски в OSX не работает - и приведет к падению OSX. Когда я побежал команда выше, Activity Monitor показывает чтение данных grep быстро. Прочитав около 3Гб, OSX завис и мне пришлось перезагрузиться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .