カーネルが削除されたシステムをどのように修復できますか?


10

HDDの空き容量を増やしたいと思ったので、古いカーネルを削除しました(なぜ私がそんなに怒っていたのか尋ねないでください)。アクティブなカーネルも誤って削除しました(Ubuntu 12.04の3.2.0-27)。

まず、起動できませんでした。カーネル3.2.0-23および3.2.0-27をライブシステム経由でインストールしました(こちらを参照)。

ここで、システムを今すぐ起動すると、次の行しか取得できません。

mountall: Event failed
fsck from util-linux 2.20.1
/dev/sda1: clean, 832254/40099840 files, 21092083/160394239 blocks
 * Stopping Flush boot log to disk
 * Stopping Enabling additional executable binary formats
 * Starting bluetooth daemon

その他のPC仕様:

  • Intel i5 2500K 4x 3.3 GHz
  • 8 GBのRAM
  • / dev / sda1はUbuntuで、約1400GB
  • Zotac Nvidia GTX 560
  • ASRock Z68 Pro3

前もって感謝します!

編集:ここで/ var / logからいくつかのログファイルを見つけることができます:kern.log boot.log


からのログを提供してください/var/log/messages。ログインできない場合は、ライブCDから起動したときに取得できます。
Andrejs Cainikovs

dmesg | pastebinitしてください
ISH

私はもともと、ここでの問題はカーネルが適切に再インストールされていないことだと思っていました。しかし、これが真実であると私は確信していません。私の回答に対する賛成投票(より詳細な再インストール手順を提供)により、この質問は質問リストで回答されたように見えました。だから私はその答えを削除し、それがより適切に属している質問に(適切な変更を加えて)投稿しまし。それを必要とする人なら誰でもそれを見つけることができます。この問題で頑張ってください!
Eliah Kagan 2012

ライブCDを使用してインターネットに接続し、長いプロセスに頼る代わりにソフトウェアの更新を実行してみませんか?
all4naija

1
あなたが投稿したペーストビン出力は、ライブCDブートからのもののようです。[ 0.000000] Command line: noprompt cdrom-detect/try-usb=true file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
John S Gruber

回答:


4

オプションは手動リカバリです。

ファイルは最も簡単な部分です。Ramchandraが提案したことを実行できますが、アプリを保持したい場合は、再インストールを回避する必要があります(見たように、アプリを削除します)。カーネルが見つからない状態でブートをアンインストールしないようにするには、

  1. LiveCDを起動します。

  2. nautilusを使用して、壊れたパーティションを開きます。

  3. / home / myusernamehereに移動します。すべてのファイルがそこにあります。

保存したい他のいくつかのファイル:

  • /etc/apt/sources.list(手動のリポジトリがある場合)。

これが完了したら、フラッシュドライブに貼り付けるか、自分にメールで送信します。

アプリは扱いにくい部分です。私は少し時間がかかる解決策を考え出しました(ほとんどの場合、積極的に参加していない場合)、これはアプリを回復するはずです(設定/構成なし)

  1. LiveCDにこだわる。

  2. / usr / libに移動します。(ロードに時間がかかる場合があります。)

  3. わあ!膨大な量のフォルダ。liveeditでgeditを開きます。

  4. これをgeditに入力します。

    #!/bin/sh

    sudo apt-get install folder1 folder2 folder3

...ここで、folder1 folder2 folder3はフォルダの名前です。

これらは、ubuntuにインストールしたすべてのプログラムです(私はそう思います)。これらの一部(約50%、おそらくそれ以上)はシステムに付属しているため、 必要な料金はありませんが、安全な賭けはすべてを投入するだけです。

アプリを探すもう1つの場所は、/ etcおよび/ etc / alternativesです。(スポット、インターネットがない場合は更新してください!)

ファイルを.shとして保存し、電子メールまたはフラッシュドライブで保存します。

これで、コンピュータを最初に起動したときに(完全に再インストールした後)、このスクリプトを実行して、以前に持っていたすべてのプログラムをsudo apt-getできます。彼らは新品同様になるでしょう!


1
この答えは少なくとも2つの点で正しくありません。(1)システムを修復する方法ではなく、システムをバックアップ、削除、および再インストールする方法を説明しています。(2)後部・再装着部も間違える!参考までに:/ usr / lib /にパッケージのリストが含まれておらず、/ etc / alternativesも含まれていません。システムにインストールされているパッケージのリストが必要な場合は、<code> dpkg --get-selections </ code>で簡単に取得でき、<code> dpkg --set-selection </ code>でそれを復元できますUbuntuの最新バージョンでは、dselectを使用せずに再インストールを実行するには、多少の労力が必要です。
ベンジャミンマコヒル

5

livecdから起動し、ハードディスクをマウントして、カーネルを再インストールします。例えば:

sudo -s
mount /dev/sda1 /mnt
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
chroot /mnt
apt-get install linux-image-3.2.0-27-generic-pae

こんにちはPsusi-私は昨日、小さなラップトップでこれらのコマンド(askubuntu.com/questions/89710/…)を実行し、誤ってカーネルを消去しました。この投稿の指示に従って、システムを2分で回復しました。他の指示に従ったとしても、回復するために戦っていたでしょう。再度、感謝します!
root-11

14.04にもこれらの手順が機能することを確認できます
Gianluca Della Vedova '18年

これは正しいですが、注目に値する点がいくつかあります。(1)ルートファイルシステムが/ dev / sda1ではない可能性があります。(2)apt-getでパッケージをダウンロードする必要がある場合、通常、ネットワークはchroot内からアクセスできません。(3)ファイルシステムが暗号化されている場合、/ dev / sda1ではない可能性があるだけでなく、新しいカーネル(LiveCDから実行されたもの)には、起動中にディスクの暗号化を解除するLUKS cryptsetupツールが含まれていません。これを修正することは可能ですが、はるかに困難です。
ベンジャミンマコヒル

3

回復オプションを試しましたか?既存のUbuntuインストールの上にUbuntuをインストールできます-ファイルはすべて残ります。ただし、システムファイルを変更すると、それらの変更は消去されます。

これを行うには、インストーラーで詳細パーティションを選択し、ubuntuにインストールされているパーティションを/として使用します。

私はそれをテストしていません。


まず、回答ありがとうございます。フォーマットなしの新規インストールが役立ちました!これで、ホームディレクトリからすべてのデータを取得できました。しかし:すべてのアプリケーション、すべての設定、すべての設定が失われます。それに加えて、ウィンドウマネージャーとUnityには多くのバグと不具合があります。私はまた新しいインストールを試みました、そしてこれは私にとってよりうまくいきました。
スラッシュクラック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.