システムが起動せず、ルートデバイス(initramfs)の待機をあきらめ、/ dev / mapper / gnome-rootが存在しない


10

アップデートをインストールした後、システムが起動しなくなりました。フルディスク暗号化(インストーラーがセットアップするもの)を有効にしているので、通常、GRUBを過ぎて起動してから数秒後にキーを要求します。これで、キーの要求をスキップし、Gnomeのロードを試行して、次の画面に移動します。システムは、Ubuntu Gnome 13.04を実行する64ビットのSystem76ボックスです。これは過去に一度だけ起こりましたが、Ubuntu Gnome Remix 12.10を実行する64ビットのDell XPS 8300で発生しました。その場合はOSを再インストールしました。ただし、今回は実際に修正したいので、今後の対処方法を知っています。また、最初から再インストールするのは非常に不便です。

私の疑いは、ディスクが暗号化されていることを認識しないように、/ bootの構成ファイルに何かがねじ込まれていることです。OSを再インストールする以外に、それを修正する方法のアイデアはありますか?

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/gnome-root does not exist.   
Dropping to a shell! 

BusyBox v.1.20.2 (Ubuntu 1:1.20.2-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

回答:


9

直した!将来の世代のために、あなたが私が苦労した日々と果てしない時間を過ごす必要はありません:

まず、(initramfs)次のように入力して、プロンプトからシステムを起動できました(このフォーラムページを松葉杖として使用しました)。

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

これにより、システムが正しく起動しました。起動したら/etc/crypttab、以前とは異なるUUIDを指すように変更しました。私はからUUIDを選びました/etc/fstab元のUUID値を保存します。 数ステップで必要になります。次に、(ターミナルから)実行しました:

update-initramfs -k all -c

次のような警告が表示された場合:

WARNING: invalid line in /etc/crypttab

次に、最初に戻って、の代わりにsda5_crypt、にあるものを使用しますcrypttab

その後、再起動しました。今回はパスフレーズの入力を求められました!しかし、うまくいかなかったので、あまり興奮しないでください。正しいパスワードを7回ほど入力すると、すべて拒否されました。その後(initramfs)、約90秒後にプロンプトに戻りました。

ステップ1を繰り返して、もう一度起動しました。次に、元の UUID値をに復元し、crypttabステップ2を再実行しました。その後、再起動し、成功しました!


5

フルディスク暗号化がUbuntu 14.04のオプションであるので、私のinitramfsターミナルでは使用できないため、この問題を解決する方法を指摘したかっただけですcryptsetup

  1. ライブDVD / USBから起動します(USBの方がはるかに高速です)。

  2. ターミナルを開き、次のように入力します。

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
  3. 再起動して、うまくいくことを願っています。


initramfsプロンプトを取得したり、複数回再起動したりする方法を理解する必要がなかったので、このソリューションの方が気に入りました。私の場合、Ubuntu 15.04から15.10にアップグレードしていて、起動中にドライブのロックを解除できなくなりました。1つ目は、2行目で提供されたマッピング名(例:sda5_crypt)がcrypttabファイルと一致する必要があることです。
Der Wolf、

1
上記は、にエントリがある場合にのみ機能します/etc/crypttab。上記の手順に従ってchrootに入った後update-initramfs、実行する前にを実行し、nano /etc/crypttabマッパーの名前とドライブのUUIDを含む行があることを確認します。ファイルが存在しないか空の場合update-initramfs、問題は修正されません!chroot環境でcrypttab行を追加します。この回答は、これを反映するように編集する必要があります。また、cryptsetup存在する場合はinitramfsプロンプトにのみ存在し、/etc/crypttabinitramfsが更新されたときにエントリがあると思います。
Nick

0

live-cd / live-usbを介して起動することにより、問題を修正します。プロセスの詳細については、このページを参照してください。ページの「LiveCDターミナルを介して」のセクションを参照してください。

GRUBを修正すると、GRUB構成にある可能性のある不正なファイルが修正されます。


先端をありがとう。私はあなたが提案したものをすべて試しましたが、役に立ちませんでした。私はそれを理解しました。それはかなりクレイジーです...
Freedom_Ben

0

cryptsetupシステムにインストールされているかどうかを確認しますapt-get autoremove。を実行すると削除された可能性があります。詳細情報

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.