web-dev-qa-db-ja.com

暗号化されたファイルシステムにGRUB)を再インストールできません

間違いを犯して、GRUBを含む/ bootディレクトリの内容を削除しました(これは簡単ですが、システムが起動できなくなるという通知はありません)!

再起動する前にGRUBをディレクトリに再コピーしようとしましたが、忘れて再起動しました。当然のことながら、起動しませんでした。暗号化されたファイルシステムがあり、暗号化されたホームディレクトリ。

今liveUSBで、あらゆる種類のフォーラムアドバイスを試してみてください(自分自身を投稿せずに)...運が悪い。暗号化されたドライブをなんとかマウントできましたが(イェーイ)、boot-repairパッケージとgrub-repairの両方でエラーが発生します。これが私のペーストビンです: http://paste.ubuntu.com/14875709/

誰かがこの状況に遭遇し、おそらく私を助けることができますか?

fdisk:

Device       Start       End   Sectors  Size Type   
/dev/sda1     2048   1050623   1048576  512M BIOS boot   
/dev/sda2  1050624   1550335    499712  244M Linux filesystem   
/dev/sda3  1550336 976771071 975220736  465G Linux filesystem   
/dev/sdb1  *      128 3911679 3911552  1.9G  b W95 FAT32  

以下に提案されているgrub-install、update-grubシーケンスを試しました-それは次の警告の束を投げました:

/run/lvm/lvmetad.socket: connect failed: No such file or directory  
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.  

しかし、grub-installが終了し、成功したように見えました。

Installation finished. No error reported.  

およびupdate-grubの終了:

Adding boot menu entry for EFI firmware configuration  
done  

ところで、私も(以前に)編集したことを言及する必要があります/etc/default/grubそして追加

GRUB_ENABLE_CRYPTODISK=y  

それは別のフォーラムで提案されたように-それは必要ですか?

とにかく再起動すると、すぐに暗号化されたディスクパスフレーズを要求し、それを受け入れているように見え、grubメニューが表示され、ほとんどの起動シーケンスを実行した後、このエラーが表示されます(正確ではない可能性があります。書き留めました)。

drm:intel_pipe_config_compare error: mismatch in ips_enabled (expected 1, found 0)  

それは私をbusyboxの緊急シェルプロンプトに送り、私はcat /proc/cmdline理由:

/dev/mapper/ubuntu--vgroot does not exist  

ただし、存在します。liveCDを介してマウントできます。暗号化されているだけです。だから私は再び立ち往生しています。

更新:アドバイスに従って「/etc/lvm/lvm.conf」を編集しようとしましたが、再起動するとgrubメニューが表示されますが、 Ubuntuは、同じエラーで再び緊急シェルに移動します。

drm:intel_pipe_config_compare [i915] ERROR mismatch in ips_enabled (expected 1, found 0)
2
troff

あなたがUbuntuについて話しているので、私はあなたがそれを使うと仮定するつもりです。

修正するには、次の手順を実行します。

  • まず、ライブシステムではなく、インストール済みシステムで作業していることを確認します。ライブイメージには通常、独自のルートファイルシステムがあり、grubの再インストールが困難になります。インストールしたルートファイルシステムを/mntにマウントすると仮定すると、次のコマンドを実行することでこれを実行できます(すべてルートとして、必要に応じてSudoなどを使用します)。

    mount -o bind /dev /mnt/dev
    mount -t process proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    chroot /mnt
    

    この最後のコマンドは、インストールされたシステム内でシェルを起動します。そのシェルで次のコマンドを実行します。

  • grubをMBRに再インストールします:grub-install --boot-directory=/boot /dev/sda。これは、コンピュータにハードディスクが1つしかない場合、またはハードディスクがそれ以上ある場合は、sdaから起動するように設定されていることを前提としています。そうでない場合は、必要に応じて調整してください。
  • グラブメニューを適切に再生成します:update-grub
  • そのシェルを終了し、再起動します。

物事は再び機能するはずです。そうでない場合は、問題がどのように失敗するかについての詳細を質問に更新してください。

pdate:update-grubがゲストではなくホストシステムで実行されているlvmetadと通信したいため、まだ失敗しているようです。これを修正する最も簡単な方法は、そのデーモンの使用を(一時的に)無効にすることです。これを行うには、/etc/lvm/lvm.confを編集し、use_lvmetad = 1という設定を見つけて、0に設定します。次に、update-initramfs -u -k allを実行してinitramfsを再生成します。

1
Wouter Verhelst