Bị mắc kẹt trên màn hình màu xanh sau khi chạy rb * r * trong /


12

Tôi vô tình thực hiện rm *trên /và kể từ đó tôi không thể nhìn thấy máy tính để bàn của tôi. Tất cả những gì tôi thấy là một màn hình màu xanh với thiết bị quay.

Thật trớ trêu là bằng cách nào đó tôi đã bỏ lỡ hệ điều hành và các đĩa CD khác đi kèm với máy Mac của mình. Tôi đã theo dõi bài viết này về việc khởi động ở chế độ an toàn nhưng nó hiển thị thanh tiến trình trong một thời gian dài và sau đó lại bị kẹt vào màn hình xanh

Kèm theo là màn hình tôi thấy khi khởi động.

nhập mô tả hình ảnh ở đây

Tôi cũng không thể vào chế độ an toàn, vậy làm cách nào tôi có thể quay lại hệ thống làm việc?

PS: Tôi cũng tự hỏi liệu tôi có thể lấy lại cài đặt máy tính để bàn của mình mà không ảnh hưởng đến tất cả các cài đặt không? Tôi đặc biệt quan tâm đến phần mềm được cài đặt qua nhà sản xuất bia, Cơ sở dữ liệu, v.v. Có thể khôi phục hoặc sao chép các tệp đã bị xóa bằng một số loại sửa chữa qua CD không?. Các tập tin ẩn của tôi truyền bash_profile, v.v. cũng ở đó. Bạn có thể hướng dẫn tôi nên tiến hành như thế nào?

cập nhật tôi đăng nhập vào chế độ duy nhất. Kiểm tra hình ảnh. Tôi làm gì bây giờ?

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

cập nhật số 3

nhập mô tả hình ảnh ở đây

cuối cùng

nhập mô tả hình ảnh ở đây


Bạn có nhớ chính xác lệnh bạn chạy, người dùng mà bạn đã đăng nhập cùng lúc và bất kỳ đầu ra nào mà lệnh được tạo không?
nohillside

Bạn đã sử dụng -rtùy chọn (hoặc -Rtùy chọn)? Nếu bạn không thì điều đó không nên xảy ra.
0942v8653

Không tôi biết chạy rm với dấu hoa thị. Chỉ xóa các tập tin. Tất cả các thư mục đều ở đó vì ngay cả sau khi chạy lệnh tôi đã sử dụng hệ thống của mình trong GUI, chỉ tôi không thể sử dụng nó sau khi khởi động lại
Volatil3

@patrix chỉ có đầu ra mà nó nói các thư mục không bị xóa vì chúng là thư mục
Volatil3

2
Tại thời điểm này, mối quan tâm lớn nhất của bạn là làm thế nào để quay lại hệ thống làm việc, chứ không phải liệu cài đặt homebrew của bạn có tồn tại hay không.
nohillside

Câu trả lời:


24

Tùy thuộc vào thiết lập hệ thống và lệnh của bạn, bạn có thể chỉ mất một số tệp - bao gồm một tệp thiết yếu - và các thư mục và một số liên kết tượng trưng.

Sử dụng lệnh rm *- được thực hiện bởi quản trị viên trong thư mục gốc - thường chỉ xóa sym-link / etc:

  • Khởi động đến chế độ người dùng, kiểm tra hệ thống tệp của bạn /sbin/fsck -fyvà gắn kết đọc / ghi gốc với /sbin/mount -rw /. Sau đó tạo lại sym-link / etc với ln -s /private/etc /etcvà khởi động lại máy Mac của bạn với shutdown -r now.

Sử dụng lệnh sudo rm *- được thực thi bởi một sudoer trong thư mục gốc - trong thiết lập tiêu chuẩn, bạn sẽ chỉ mất tệp 'mach_kernel' và các liên kết sym 'etc', 'tmp' và 'var'.

(Không có tệp nào khác bị xóa trong hệ thống tệp) . Sau khi điều tra thêm, hóa ra một số tệp và thư mục khác cũng thường bị xóa: một thư mục có tên sudoer (thường là tên viết tắt của tài khoản quản trị viên của bạn) trong / private / var / db / sudo / và một tệp .state với một tệp tên tùy ý (được tạoUID của tài khoản quản trị viên / sudoer của bạn) liên quan đến một tệp có cùng tên khác trong / private / var / db / Shadow / hash /. Tôi không thể xác định liệu chúng có bị xóa bởi 'sudo', 'rm' hoặc 'sudo rm' hay không. Những tập tin và thư mục có tầm quan trọng nhỏ mặc dù.

fsevent

Tôi đã kiểm tra rằng trong một máy chủ Mac OS X 10.6.8 gần như vanilla.

Trước khi thực hiện sudo rm *thư mục gốc trông như thế này - bao gồm các tệp, thư mục và liên kết sym - với 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

Sau khi thực hiện sudo rm *chỉ một tệp và các liên kết sym biến mất:

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

Sử dụng một thiết lập không chuẩn, tất cả các tệp và liên kết sym khác trong thư mục gốc (nếu có tồn tại) cũng sẽ bị xóa. Tất cả các thư mục không chuẩn (ví dụ / opt) tồn tại.

  • Nếu bạn không xóa tệp kernel (điều này là không thể), hãy thử khởi động sang chế độ người dùng duy nhất và xây dựng lại ba liên kết sym đã xóa bằng ln -s /.../folder /folder(ví dụ ln -s /private/etc /etc)

  • Nếu bạn có một bản sao lưu và xóa tệp kernel, hãy thử khôi phục tệp mach_kernel, symlink, thư mục có tên người dùng quản trị viên của bạn trong ../sudo/ và tệp trạng thái bị thiếu. Bạn cần một số ổ đĩa cứng / ngón tay cái có thể khởi động để khôi phục các tệp đó từ bản sao lưu.

  • Nếu bạn không có bản sao lưu, hãy thử sao chép tệp mach_kernel từ một máy Mac khác có cùng hệ thống (ví dụ: 10.6.8). Tái tạo các liên kết tượng trưng. Bạn có thể phải điều chỉnh quyền sở hữu và quyền (xem danh sách).

    "Mach_kernel" cũng có sẵn trong Bản cập nhật Combo 10.6.8 của Mac OS X và có lẽ các bản cập nhật kết hợp khác như Cập nhật Combo Mac OS X 10.6.6 và Cập nhật Combo Mac OS X 10.6.7. Do đó, việc cập nhật hệ thống bị hỏng của bạn bằng trình cập nhật kết hợp từ ổ đĩa khởi động bên ngoài hoặc được gắn trong chế độ đĩa đích sang máy Mac khác cũng sẽ hoạt động.

    Sau khi khôi phục tệp kernel và các liên kết tượng trưng, ​​bạn có thể khởi động sang chế độ siêu người dùng và nhập mount -o rw,remount /và tạo thư mục bị thiếu trong / private / var / db / sudo / with mkdir /private/var/db/sudo/adminname. Tệp .state bị thiếu sẽ tự xây dựng lại.

Nếu bạn đã thực hiện, sudo rm -dR *bạn sẽ phải chịu một bản sao lưu thích hợp. Hệ thống của tôi không thể khởi động được sau đó nhưng chỉ đáng lo ngại ~ 524 MB 9860 MB đã bị xóa sau khi ghi đè xác nhận cho '/ System / L Library / CoreService / boot.efi' và '/ dev / fd / 4'.
Trong lần thử thứ hai, tôi đã xóa được 8445 MB 9860 MB sudo rm -dR *. Lần thử đầu tiên cũng có thể được phục hồi với Bản cập nhật Combo, phần còn lại của lần thử thứ hai chắc chắn không có.


Tất cả điều này là tuyệt vời, chính xác và tuyệt vời, nhưng kinh nghiệm của tôi là nếu / Hệ thống hoặc / Thư viện bị tấn công, hệ thống không thể khởi động hoặc vượt qua màn hình màu xám. Màn hình xanh trong khi khởi động có nghĩa là hệ điều hành đã được kiểm tra, khởi động đúng cách (hoặc chủ yếu là như vậy) và giai đoạn môi trường người dùng của launchd đã bắt đầu. Một kiểm tra dễ dàng cho việc này sẽ là xóa rất cẩn thận tệp /var/db/.AppleSetupDone trong chế độ người dùng và sau đó xem bạn có thể tạo người dùng quản trị viên mới hay không và thực hiện một bản sao lưu Time Machine để xem tệp nào của người dùng có thể cứu được .
bmike

@klanomath Thật thú vị khi lưu ý rằng rm * đã không xóa các tệp hình ảnh trên root. Tôi tự hỏi tại sao.
Volatil3

@klanomath-rw-r-----@ 1 Adnan staff 2404856 Feb 26 21:33 mountain.jpg
Volatil3

@klanomath tệp jpg đã được tải xuống từ mạng. Tôi đã đăng nhập từ cùng một người dùng chạy lệnh rm *.
Volatil3

1
@ Volatil3 Có lẽ rm đã từ bỏ việc xóa các tập tin trước khi đến Mountain.jpg, thực sự không thành công khi xóa tất cả các thư mục đó. Hoặc ngọn núi quá lớn để bị xóa. ;-) Kiểm tra sudo rm -dR * trong thư mục gốc của máy ảo tôi cũng nhận được một số kết quả không nhất quán: chỉ cần kiểm tra phần cuối cùng của câu trả lời của tôi. Trong lần thử thứ nhất, chỉ có 7% nội dung bị xóa, trong lần thử thứ 2 là 85%.
klanomath
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.