Pulihkan dari shutdown selama peningkatan distribusi Ubuntu

18

Saya memiliki komputer yang tiba-tiba mati saat peningkatan distribusi (Ubuntu 8.10 -> 9.04). Sekarang tidak akan menyelesaikan booting - berbagai kesalahan X, kemudian masuk ke layar login tetapi tidak akan mengizinkan login.

Saya memiliki cadangannya dan / home data semua masih OK pada drive sehingga tidak ada keadaan darurat, tetapi pembangunan kembali yang lengkap masih merupakan proses yang mengganggu dan memakan waktu. Apakah ada cara untuk pulih dari ini? Saya memiliki CD 9,04, saya sedang berdebat mencoba menginstal dari atas - apakah itu ide yang bagus?

Kegagalan itu, apakah ada cara yang baik untuk memeriksa drive dan membuat daftar perangkat lunak yang diinstal, dan lebih disukai bahkan penyelesaian dari luar / rumah (seperti / dll)?


Jika saya harus memulai lagi dari awal, ada rekomendasi untuk berurusan dengan orang yang bertanggung jawab atas penutupan yang tidak terduga? :)


EDIT: Terima kasih banyak atas semua jawaban, saya benar-benar harus menerima semua jawaban karena saya perlu menggunakan bit dari masing-masing. Saya dapat sepenuhnya memperbaiki pemasangan menggunakan sesuatu seperti ini:

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
Colin Pickard
sumber
1
Gunakan LART ( catb.org/jargon/html/L/LART.html ): "Klasik LART adalah 2x4 atau billet besar dari kayu yang dapat digunakan sebagai knobkerry, senjata otomatis, penyembur api, dan taktik klub [...] nuklir semua memiliki partisan mereka. "
David Schmitt
Dapatkah Anda benar-benar mengetik kredensial login Anda, atau apakah keyboard dan / atau mouse tidak tersedia?
Oddmund
Saya bisa mengetikkan kredensial, tetapi tidak akan melangkah lebih jauh. CTRL + ALT + F1 memberi saya terminal namun dan saya bisa masuk di sana
Colin Pickard
Anda mungkin mendapatkan masalah ketika / usr, / home dan folder serupa dipasang dari disk yang terpisah, dalam situasi ini mengikat membantu. gunakan mount --bind / proc / chrooted / proc mount --bind / mnt / usr / chrooted / usr ...

Jawaban:

11

Jika Anda bisa sampai ke tempat di mana Anda bisa menggunakan dpkg sebagai root, Anda bisa lari dpkg --configure -a

Namun, Anda mungkin menemukan itu meledak untuk upgrade borked, jadi Anda mungkin perlu:

dpkg --configure -a --abort-after=99999
Oli
sumber
7

Coba tekan CTRL-ALT-F1 dan lihat apakah Anda mendapatkan prompt perintah. Lihat apakah Anda dapat masuk, lalu coba jalankan sudo apt-get dist-upgrade . Ini seharusnya memungkinkan Anda juga menyelesaikan upgrade. Anda mungkin mendapatkan kesalahan sehingga Anda mungkin juga perlu mencoba menggunakan sudo dpkg --configure -a .


Untuk mendapatkan daftar perangkat lunak yang diinstal, Anda dapat menjalankan perintah dpkg --get-choices . Jika Anda menyimpan output dari perintah itu ke file, Anda dapat menggunakan perintah cat pilihan | sudo dpkg --set-pilihan dan kemudian gunakan perintah sudo apt-get dselect-upgrade untuk benar-benar mendapatkan semua paket diinstal.

Jika Anda pergi dengan rute itu, Anda mungkin harus mencadangkan folder / etc dan / home ke perangkat lain.

Sakit kepala
sumber
Saya akan menambahkan dpkg --get-selection ke skrip cadangan saya, saya kira. Sangat berguna.
Colin Pickard
5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

Baris pertama menyegarkan tingkat repo yang sedang Anda unduh

Baris ke-2 mengkonfigurasi ulang paket yang berada dalam kondisi "buruk"

Baris ke-3 ada di sana kalau-kalau repositori "bergerak" ke versi baru selama proses baris ke-2.

Baris ke-4 harus menyelesaikan pekerjaan.

Avery Payne
sumber
5

Saya dapat pulih dari situasi bencana di mana Xubuntu tidak mau boot setelah daya padam saat upgrade. Sekitar 10 detik setelah POST, Xubuntu akan berhenti dengan sejumlah kesalahan (mencoba memuat opsi "pemulihan" di grub bahkan tidak akan bekerja).

Jadi jika ada yang menemukan ini, saya memposting beberapa info dari forum Ubuntu yang membantu saya untuk sampai ke jendela terminal sehingga saya bisa menggunakan perintah Colin dan Avery yang diposting di atas.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

Katakanlah sistem Anda baru saja meleleh setelah upgrade, atau kernel baru Anda tidak bisa boot. Anda tidak dapat memperbaiki masalah dengan apt-get, karena Anda bahkan tidak bisa mendapatkan ke baris perintah; kernel hanya memuntahkan kesalahan dan hang saat boot. Untungnya, dengan live cd, Anda dapat memperbaiki sistem Anda dan menjalankannya. Anda memiliki 2 opsi untuk live cd: Knoppix atau live cd Ubuntu. Karena Knoppix umumnya memiliki deteksi perangkat keras yang lebih baik, ini akan digunakan sebagai contoh.

  1. Pertama, unduh iso dari http://www.knoppix.org/ dan bakar ke disk.
  2. Dapatkan BIOS Anda diatur untuk boot dari cd, pop di disk Knoppix, dan boot.
  3. Hard drive Anda akan muncul di desktop KDE sebagai hda1 atau sdb2 atau apalah, tergantung pada sistem Anda.
  4. Klik untuk memasangnya, lalu klik kanan, tindakan -> ubah ke mode baca-tulis. Ini akan membuka dialog; klik ya.
  5. Sekarang, buka terminal root, ditemukan di menu Knoppix (yang di sebelah K pada panel). Masukkan: chroot / mnt / hda1 atau apa pun ikon untuk harddisk Anda katakan di desktop.

Anda sekarang dapat menggunakan semua perintah di hard drive, termasuk apt-get. Jika Anda pernah mendapatkan kesalahan ini: "/ dev / null: Izin ditolak" maka lakukan ini: "sudo rm / dev / null" dan itu akan hilang. Sekarang, gunakan apt-get untuk memutakhirkan kernel Anda, udev, atau apa pun yang mengacaukan sistem Anda.

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

Itu bekerja dengan sempurna juga! Saya memasang hard drive saya sesuai instruksi, membuka jendela terminal, memasukkan "sudo chroot / media / hda1", dan akhirnya memiliki akses ke hard drive saya. Saya kemudian dapat menggunakan perintah yang diposting sebelumnya di utas ini untuk memulai kembali proses peningkatan. :)

Tidak heran mengapa CD Ubuntu Live / Installation tidak memiliki "konsol pemulihan" yang terpasang untuk memfasilitasi seluruh proses pemulihan ini.


sumber
Ini bekerja untuk saya dalam situasi yang sama. Jawaban pada SU ini memberikan instruksi hebat tentang cara me-mount partisi dengan benar dari live CD.
zelanix
1

Bagi saya juga perintah lain membantu dalam lingkungan chroot untuk semua paket mengkonfigurasi dengan benar (jalankan ini sebelum dpkg ,distdll):

Pekerjaan pemula tidak dapat dimulai dalam chroot karena pemula mulai bertindak sebagai pengawas layanan, dan proses dalam chroot tidak dapat berkomunikasi dengan pemula yang berjalan di luar chroot (Bug: 430224). Ini akan menyebabkan beberapa paket yang telah dikonversi menggunakan pekerjaan pemula alih-alih skrip init gagal untuk memutakhirkan dalam chroot. Pengguna disarankan untuk mengkonfigurasi chroot mereka dengan / sbin / initctl yang menunjuk ke / bin / true, dengan perintah berikut dijalankan di dalam chroot:

Kode:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
Chris Suszyński
sumber