Khôi phục từ tắt máy trong quá trình nâng cấp phân phối Ubuntu


18

Tôi có một máy tính bị tắt đột ngột trong quá trình nâng cấp phân phối (Ubuntu 8.10 -> 9.04). Bây giờ nó sẽ không hoàn thành việc khởi động - nhiều lỗi X khác nhau, sau đó nó sẽ chuyển đến màn hình đăng nhập nhưng sẽ không cho phép đăng nhập.

Tôi có một bản sao lưu của nó và dữ liệu / home vẫn ổn trên ổ đĩa nên không có gì nổi bật, nhưng việc xây dựng lại hoàn toàn vẫn là một quá trình khó chịu và tốn thời gian. Có cách nào để phục hồi từ điều này? Tôi có CD 9.04, tôi đang tranh luận về việc thử cài đặt trên đầu trang - đó có phải là một ý tưởng tốt?

Không có cách nào, có cách nào tốt để kiểm tra ổ đĩa và tạo danh sách phần mềm được cài đặt, và tốt nhất là ngay cả các khu định cư từ bên ngoài / nhà (như / etc) không?


Nếu tôi phải bắt đầu lại từ đầu, có đề xuất nào để đối phó với người chịu trách nhiệm cho việc tắt máy đột xuất không? :)


EDIT: Cảm ơn bạn rất nhiều vì tất cả các câu trả lời, tôi thực sự cần chấp nhận tất cả các câu trả lời khi tôi cần để sử dụng các bit từ mỗi câu trả lời. Tôi đã có thể sửa chữa hoàn toàn cài đặt bằng cách sử dụng một cái gì đó như thế này:

sudo dpkg --configure -a
sudo apt-get update
sudo dpkg --configure -a
sudo dpkg --configure -a --abort-after=99999
sudo apt-get dist-upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade

1
Sử dụng LART ( catb.org/jargon/html/L/LART.html ): "LART classic là một loại gỗ 2x4 hoặc phôi lớn khác có thể sử dụng như một câu lạc bộ [...] núm, vũ khí tự động, súng phun lửa và chiến thuật tất cả các hạt nhân đều có đảng phái của họ. "
David Schmitt

Bạn thực sự có thể nhập thông tin đăng nhập của bạn, hoặc bàn phím và / hoặc chuột không có sẵn?
Oddmund

Tôi có thể nhập thông tin đăng nhập, nhưng nó sẽ không đi xa hơn. CTRL + ALT + F1 đã cho tôi một thiết bị đầu cuối tuy nhiên và tôi đã có thể đăng nhập vào đó
Colin Pickard

Bạn có thể gặp rắc rối khi / usr, / home và các thư mục tương tự được gắn từ các đĩa riêng biệt, trong tình huống này liên kết giúp. sử dụng mount --bind / Proc / chroote / Proc mount --bind / mnt / usr /

Câu trả lời:


11

Nếu bạn có thể đến một nơi mà bạn có thể sử dụng dpkg làm root, bạn có thể chạy dpkg --configure -a

Tuy nhiên, bạn có thể thấy rằng phát nổ để nâng cấp xa, vì vậy bạn có thể cần:

dpkg --configure -a --abort-after=99999

7

Hãy thử nhấn CTRL-ALT-F1 và xem bạn có nhận được dấu nhắc lệnh không. Xem nếu bạn có thể đăng nhập, sau đó thử chạy sudo apt-get dist-Nâng cấp . Điều này sẽ cho phép bạn quá hoàn thành việc nâng cấp. Bạn có thể gặp lỗi, do đó, bạn cũng có thể cần phải thử sử dụng sudo dpkg - thông minh -a .


Để có danh sách các phần mềm đã cài đặt, bạn có thể chạy lệnh dpkg --get-select . Nếu bạn lưu chúng đầu ra của lệnh đó vào một tệp, bạn có thể sử dụng các lựa chọn lệnh cat | sudo dpkg --set-select và sau đó sử dụng lệnh sudo apt-get dselect-nâng cấp để thực sự có được tất cả các gói được cài đặt.

Nếu bạn đi theo con đường đó, có lẽ bạn nên sao lưu các thư mục / etc và / home của mình sang một thiết bị khác.


Tôi nghĩ rằng tôi sẽ thêm dpkg --get-tests vào các kịch bản sao lưu của mình. Rất hữu dụng.
Colin Pickard

5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

Dòng thứ 1 làm mới cấp độ hiện tại của repo mà bạn đang tải xuống

Dòng thứ 2 cấu hình lại bất kỳ gói nào ở trạng thái "xấu"

Dòng thứ 3 nằm trong đó chỉ trong trường hợp kho lưu trữ "di chuyển" sang phiên bản mới trong quy trình của dòng thứ 2.

Dòng thứ 4 nên hoàn thành công việc.


5

Tôi đã có thể phục hồi sau một tình huống thảm khốc khi Xubfox không khởi động được sau khi mất điện trong quá trình nâng cấp. Khoảng 10 giây sau POST, Xubfox sẽ dừng lại với một loạt lỗi (cố gắng tải tùy chọn "recovery" trong grub thậm chí sẽ không hoạt động).

Vì vậy, nếu bất cứ ai vấp phải điều này, tôi sẽ đăng một số thông tin từ các diễn đàn Ubuntu giúp tôi vào cửa sổ đầu cuối để tôi có thể sử dụng các lệnh Colin và Avery đã đăng ở trên.

---------- bắn tỉa ---------- bắn tỉa ---------- bắn tỉa ---------- bắn tỉa ------ ----

ubuntuforums.org/showthread.php?t=157250

Giả sử hệ thống của bạn bị tan chảy sau khi nâng cấp hoặc nhân mới của bạn sẽ không khởi động. Bạn không thể khắc phục sự cố với apt-get, vì bạn thậm chí không thể truy cập vào một dòng lệnh; kernel chỉ phát sinh lỗi và treo khi khởi động. Rất may, với một đĩa CD trực tiếp, bạn có thể sửa chữa hệ thống của mình và khởi động nó. Bạn có 2 tùy chọn cho cd trực tiếp: Knoppix hoặc Ubuntu live cd. Vì Knoppix thường có khả năng phát hiện phần cứng tốt hơn, nên điều này sẽ được sử dụng làm ví dụ.

  1. Đầu tiên, tải xuống iso từ http://www.knoppix.org/ và ghi nó vào đĩa.
  2. Nhận BIOS của bạn được thiết lập để khởi động từ đĩa cd, bật trong đĩa Knoppix và khởi động.
  3. Ổ cứng của bạn sẽ hiển thị trên màn hình KDE dưới dạng hda1 hoặc sdb2 hoặc một cái gì đó, tùy thuộc vào hệ thống của bạn.
  4. Nhấp vào nó để gắn kết nó, sau đó nhấp chuột phải, hành động -> thay đổi sang chế độ đọc-ghi. Nó sẽ bật một hộp thoại; bấm vào có.
  5. Bây giờ, hãy mở một thiết bị đầu cuối gốc, được tìm thấy trong menu Knoppix (cái bên cạnh chữ K trên bảng điều khiển). Nhập: chroot / mnt / hda1 hoặc bất cứ biểu tượng nào cho ổ cứng của bạn nói trên màn hình nền.

Bây giờ bạn có thể sử dụng tất cả các lệnh trên ổ cứng, bao gồm cả apt-get. Nếu bạn từng gặp lỗi này: "/ dev / null: Quyền bị từ chối" thì hãy làm điều này: "sudo rm / dev / null" và nó sẽ biến mất. Bây giờ, sử dụng apt-get để nâng cấp kernel, udev hoặc bất cứ thứ gì khác làm rối hệ thống của bạn.

---------- bắn tỉa ---------- bắn tỉa ---------- bắn tỉa ---------- bắn tỉa ------ ----

Nó làm việc hoàn hảo quá! Tôi đã gắn ổ cứng của mình theo hướng dẫn, mở một cửa sổ đầu cuối, nhập "sudo chroot / media / hda1", và cuối cùng đã có quyền truy cập vào ổ cứng của tôi. Sau đó tôi đã có thể sử dụng các lệnh được đăng trước đó trong chuỗi này để khởi động lại quá trình nâng cấp. :)

Không có gì thắc mắc tại sao CD Live / Cài đặt Ubuntu không có "bảng điều khiển phục hồi" được tích hợp để hỗ trợ toàn bộ quá trình khôi phục này.


Điều này làm việc cho tôi trong một tình huống tương tự. Câu trả lời này trên SU đưa ra những hướng dẫn tuyệt vời về cách gắn (các) phân vùng chính xác từ đĩa CD trực tiếp.
zelanix

1

Đối với tôi cũng có một lệnh khác giúp trong môi trường chroot cho tất cả các gói được cấu hình đúng (chạy lệnh này trước khi dpkg ,distv.v.):

Các công việc mới bắt đầu không thể được bắt đầu trong một chroot vì upstart đóng vai trò là người giám sát dịch vụ và các quy trình trong chroot không thể giao tiếp với người mới bắt đầu chạy bên ngoài chroot (Bug: 430224). Điều này sẽ khiến một số gói đã được chuyển đổi để sử dụng các công việc mới bắt đầu thay vì các tập lệnh init không thể nâng cấp trong một chroot. Người dùng nên cấu hình các chroot của họ với / sbin / initctl trỏ đến / bin / true, với các lệnh sau chạy trong chroot:

Mã số:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
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.