Застрял на синем экране после запуска «rm *» в /

12

Я случайно выполняется rm *на /и с тех пор я не могу видеть мой рабочий стол. Я вижу только синий экран с вращающимся механизмом.

Ирония в том, что я почему-то пропустил свою ОС и другие компакт-диски, которые шли с моим Mac. Я следовал этой статье при запуске в безопасном режиме, но он показывает индикатор выполнения в течение длительного времени, а затем снова застрял на синем экране

Прилагается экран, который я вижу при загрузке.

введите описание изображения здесь

Я также не могу перейти в безопасный режим, так как я могу вернуться к работающей системе?

PS: мне также интересно, смогу ли я снова получить настройки своего рабочего стола без ущерба для всех настроек? Я особенно обеспокоен программным обеспечением, установленным через домашний кофе, базы данных и т. Д. Можно ли восстановить или скопировать удаленные файлы путем какого-либо ремонта с помощью компакт-диска? Мои скрытые файлы, содержащие bash_profile и т. Д., Также там. Можете ли вы руководить, как я должен действовать?

обновление я вхожу в одиночный режим. Проверьте изображение. Что мне теперь делать?

введите описание изображения здесь

введите описание изображения здесь

обновить # 3

введите описание изображения здесь

наконец

введите описание изображения здесь

Volatil3
источник
Вы помните точную команду, которую вы выполняли, пользователя, с которым вы вошли в тот момент, и какие-либо выходные данные, сгенерированные командой?
nohillside
Вы использовали -rопцию (или -R)? Если нет, то этого не должно быть.
0942v8653
Нет , я знаю , RAN ет с звездочкой. Только файлы удалены. Все папки есть, потому что даже после запуска команды я использовал свою систему в графическом интерфейсе, только я не могу использовать ее после перезапуска
Volatil3
@patrix был только вывод, что он сказал, что папки не были удалены, поскольку они были каталогом
Volatil3
2
На данный момент ваша самая большая проблема - как вернуться к работающей системе, а не выжить ли ваша домашняя установка.
холме

Ответы:

24

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

Использование команды, rm *выполняемой администратором в корневой папке, обычно удаляет только sym-link / etc:

  • Загрузитесь в однопользовательском режиме, проверьте вашу файловую систему /sbin/fsck -fyи подключите root для чтения / записи с помощью /sbin/mount -rw /. Затем заново создайте символическую ссылку / etc ln -s /private/etc /etcи перезагрузите ваш Mac с помощью shutdown -r now.

Используя команду, sudo rm *выполняемую sudoer в корневой папке, в стандартной настройке вы потеряете только файл 'mach_kernel' и ссылки на символьные ссылки 'etc', 'tmp' и 'var'.

(Другие файлы не были удалены в файловой системе) . После дальнейших исследований выясняется, что некоторые другие файлы и папки также часто удаляются: папка с именем sudoer (обычно коротким именем вашей учетной записи администратора) в / private / var / db / sudo / и файл .state с произвольное имя (генерируемый UID вашей учетной записи admin / sudoer), связанное с другим файлом с таким же именем в / private / var / db / shadow / hash /. Я не могу определить, были ли они удалены с помощью sudo, rm или sudo rm. Эти файлы и папки имеют второстепенное значение.

fsevent

Я проверял это на почти ванильной Mac OS X 10.6.8 Server VM.

Перед выполнением sudo rm *корневая папка выглядит так - невидимые файлы, папки и символические ссылки включены - с ls -la:

drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 .
drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 ..
-rw-rw-r--   1 root  admin     15364  4 Jan 14:35 .DS_Store
drwx------   3 root  admin       102 10 Sep 01:37 .Spotlight-V100
d-wx-wx-wt   2 root  staff        68 10 Sep 01:23 .Trashes
----------   1 root  admin         0 23 Jun  2009 .file
drwx------  38 root  admin      1292  4 Jan 14:59 .fseventsd
-rw-------   1 root  wheel      4096 10 Sep 01:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel        68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin      1190 25 Dez 16:49 Applications
drwxrwxr-x@ 16 root  admin       544 25 Dez 12:04 Developer
drwxrwxr-t+  2 root  admin        68 10 Sep 01:37 Groups
drwxrwxr-t+ 65 root  admin      2210 25 Dez 12:02 Library
drwxr-xr-x@  3 root  wheel       102 26 Feb 20:43 Network
drwxr-xr-x   4 root  wheel       136 10 Sep 01:28 Shared Items
drwxr-xr-x   4 root  wheel       136 10 Sep 02:02 System
drwxr-xr-x+  5 root  admin       170 10 Sep 01:37 Users
drwxrwxrwt@  4 root  admin       136 26 Feb 20:43 Volumes
drwxr-xr-x@ 39 root  wheel      1326 10 Sep 02:09 bin
drwxrwxr-t@  2 root  admin        68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel      4013 26 Feb 20:43 dev
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 etc -> private/etc
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 home
-rw-r--r--@  1 root  wheel  20828964  8 Jun  2011 mach_kernel
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 net
drwxr-xr-x@  6 root  wheel       204 10 Sep 01:28 private
drwxr-xr-x@ 68 root  wheel      2312 10 Sep 02:09 sbin
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 tmp -> private/tmp
drwxr-xr-x@ 14 root  wheel       476 25 Dez 11:57 usr
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 var -> private/var

После выполнения sudo rm *только одного файла ссылки исчезли:

drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 .
drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 ..
-rw-rw-r--   1 root  admin  21508 26 Feb 19:41 .DS_Store
drwx------   3 root  admin    102  9 Sep 23:37 .Spotlight-V100
d-wx-wx-wt   2 root  20        68  9 Sep 23:23 .Trashes
----------   1 root  admin      0 23 Jun  2009 .file
drwx------  38 root  admin   1292  4 Jan 13:59 .fseventsd
-rw-------   1 root  wheel   4096  9 Sep 23:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel     68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin   1190 25 Dez 15:49 Applications
drwxrwxr-x@ 16 root  admin    544 25 Dez 11:04 Developer
drwxrwxr-t+  2 root  admin     68  9 Sep 23:37 Groups
drwxrwxr-t+ 65 root  admin   2210 25 Dez 11:02 Library
drwxr-xr-x@  3 root  wheel    102 26 Feb 19:39 Network
drwxr-xr-x   4 root  wheel    136  9 Sep 23:28 Shared Items
drwxr-xr-x   4 root  wheel    136 10 Sep 00:02 System
drwxr-xr-x+  5 root  admin    170  9 Sep 23:37 Users
drwxrwxrwt@  4 root  admin    136 26 Feb 19:39 Volumes
drwxr-xr-x@ 39 root  wheel   1326 10 Sep 00:09 bin
drwxrwxr-t@  2 root  admin     68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel   4013 26 Feb 19:39 dev
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 home
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 net
drwxr-xr-x@  6 root  wheel    204  9 Sep 23:28 private
drwxr-xr-x@ 68 root  wheel   2312 10 Sep 00:09 sbin
drwxr-xr-x@ 14 root  wheel    476 25 Dez 10:57 usr

При нестандартной установке все другие файлы и символические ссылки в корневой папке (если они вообще есть) также будут удалены. Все нестандартные папки (например, / opt) сохраняются.

  • Если вы не удалили файл ядра (что маловероятно), попробуйте загрузиться в однопользовательском режиме и перестройте три удаленные символические ссылки с помощью ln -s /.../folder /folder(например ln -s /private/etc /etc)

  • Если у вас есть резервная копия и вы удалили файл ядра, попробуйте восстановить файл mach_kernel, символические ссылки, папку с вашим именем администратора в ../sudo/ и отсутствующий файл состояния. Для восстановления этих файлов из резервной копии необходим загрузочный жесткий диск или флэш-накопитель.

  • Если у вас нет резервной копии, попробуйте скопировать файл mach_kernel с другого Mac с той же системой (например, 10.6.8). Воссоздайте символические ссылки. Вы, вероятно, должны настроить владельца и разрешения (см. Листинг).

    «mach_kernel» также доступен в Mac OS X Combo Update 10.6.8 и, возможно, в других комбинированных средствах обновления, таких как Mac OS X Combo Update 10.6.6 и Mac OS X Combo Update 10.6.7. Таким образом, обновление поврежденной системы с помощью комбинированного средства обновления с внешнего загрузочного флэш-накопителя или подключенного в режиме целевого диска к другому Mac также должно работать.

    После восстановления файла ядра и символических ссылок вы можете загрузиться в режим суперпользователя и войти mount -o rw,remount /и создать отсутствующую папку в / private / var / db / sudo / with mkdir /private/var/db/sudo/adminname. Отсутствующий файл .state восстанавливает сам себя.

Если вы казнили, sudo rm -dR *вы обречены без надлежащей резервной копии. Моя система впоследствии не загружалась, но изумительно, только ~ 524 МБ из 9860 МБ были удалены после подтверждений переопределения для '/System/Library/CoreServices/boot.efi' и '/ dev / fd / 4'.
Во второй попытке я удалил 8445 МБ из 9860 МБ sudo rm -dR *. Первая попытка также могла быть исправлена ​​с помощью Combo Update, но оставшиеся после второй попытки скудные остатки, конечно, нет.

klanomath
источник
Все это прекрасно, правильно и замечательно, но мой опыт показывает, что если / System или / Library попали в систему, система не сможет загрузиться или выйти за серый экран. Синий экран во время загрузки означает, что ОС проверена, запущена должным образом (или в основном так), и фаза пользовательской среды launchd началась. Простая проверка для этого - очень тщательно удалить файл /var/db/.AppleSetupDone в однопользовательском режиме, а затем посмотреть, сможете ли вы создать нового пользователя-администратора и хотя бы выполнить одно резервное копирование Time Machine, чтобы увидеть, какие пользовательские файлы можно использовать. ,
bmike
@klanomath интересно отметить, что rm * не удалял файлы изображений в корне. Интересно, почему.
Volatil3
@klanomath-rw-r-----@ 1 Adnan staff 2404856 Feb 26 21:33 mountain.jpg
Volatil3
@klanomath файл jpg был загружен из сети. Я вошел в систему от того же пользователя, который выполнил команду rm *.
Volatil3
1
@ Volatil3 Может быть, rm просто отказался от удаления файлов до того, как добрался до mountain.jpg, потому что все эти папки были неудачны. Или гора была слишком большой, чтобы ее можно было удалить. ;-) Проверяя sudo rm -dR * в корне моей виртуальной машины, я также получил некоторые противоречивые результаты: просто проверьте самую последнюю часть моего ответа. В 1-й попытке только 7% контента было удалено, во 2-й попытке 85%.
klanomath