ルートデバイスを待ってあきらめました、ubuntu--vg-rootは存在しません


16

今日、ネットブックにUbuntu 64ビットをインストールしました。ネットブックがこれを起動すると、エラーレポートが表示されます。パーティションに問題があると思います。

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/ubuntu--vg-root does not exist. Dropping to a shell! 

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

(initramfs)

要求されたlsblkの出力:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
実行lsblkして質問に出力を追加します。
-psusi

6
@psusi lsblkが利用できない場合はどうなりますか?
シチルジュ

回答:


10

lsblk -fsの出力、pフラグ付きのfdisk / dev / sdaおよびgrub修復のレポートをpastebinリンクとして質問に追加してください。

検索に基づいて、日付まで何の答えを持っていませんASK Ubuntuの上で同様の質問があるように思われるここここここでは、raidとubuntuについて説明する1つの回答があります。

いくつかの提案があるようで、そのうちのいくつかは一部の人々のために働くようです。

  1. initframsプロンプトから入力ls /dev/mapperして、ルートボリュームがリストされているかどうかを確認してください。リストされていない場合は、10秒待ってからlsを再度実行してください。

    現在リストされている場合は、タイプexitして、ルートデバイスを見つけて起動するはずです(ここから取得)

  2. 編集押して、ブート設定eグラブアラートがOSを選択し、交換する際root=UUID-6500...によりroot=/dev/sdxSDXは、ブートパーティションです。ここでの問題は、UUIDが間違っているか、/dev/disk/by-UUID...存在しないことです(1)

  3. all_generic_ideブートラインの最後にパラメータを追加するのはkernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ide、一部の人にとってはうまくいくようです(2)
  4. スーパーユーザーの質問ここでは、エラーがLVMによるものであることを示唆しているようです。解決策も、lvm2をインストールするという同じ方法で提供されます。
  5. 同じスーパーユーザーサイトでは、利用可能な場合、古いカーネルを使用してブートすることも推奨しています。それは一部の人々のために働くようです。Recoveryオプションを使用して起動しようとすると、一部の人々のために働くかもしれません
  6. nux_man777による投稿はこちらは、エラーがインストールメディアにある可能性を示唆してようです。
  7. ここで/dev/mapper/ubuntu-vg-root説明さているように、エラーはraidに関連しているようです

    「コピープロセスが開始する直前のインストーラの概要画面で、[詳細設定]ボタンをクリックします。ブートパーティション(これはLinuxパーティションではなくMSDOSスタイルの「親」パーティション)を/ dev / mapper / pdc_feddabdf(またはdmraidリスト)に変更しますfakeraidパーティションとして)このディスクから起動するには、チェックボックスをクリックしてください。インストーラはgrub2を修正して、正しい論理パーティション/ dev / mapper / pdc_feddabdf1または何でも/をオンにします。

    インストールに関する詳細な手順は、参照サイトに記載されています。GRUBのインストールの詳細については、こちらをご覧ください。

  8. ライブインストールメディアを起動し、rootを使用してubuntuを更新することはchroot、一部の人にとってはうまくいくようですここで cpttripzzが推奨)。chrootに関する説明はこちらです。Unix&Linuxでこの質問を参照することもできます。詳細については、Arch Wiki Gentoo Wikiを
  9. RAIDからネイティブIDEにSATAコントローラーを変更し、新規インストールを行うことは何人かの人々のために働くようだここここです
  10. IDEケーブルまたはハードディスクが不良である可能性があります(上記の40ページと同じUbuntuフォーラム)

以前のOSはWin7
Jonas Franz





8

特定のUbuntuバージョン(Xubuntu 18.10など)では、この問題はによって引き起こされる場合がありapt autoremoveます。このバグにより、aptは削除することを提案します

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

これにより、システムがブート不能になります(LVMを使用してルートパーティションをマウントおよび暗号化解除できないため)。

LVMとディスク暗号化を使用していない場合、この答えはおそらくあなたのためではありません。

chroot環境にcryptsetupとlvm2を再インストールすることで修正できました。ライブUSBスティックから起動し、ターミナルで以下のコマンドを実行し、再起動します。

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

このQ&Aは、コマンドの収集に役立ちました。


1
ああ、あなたはちょうど私が新しいデバイスをセットアップすることに費やしただろう約3日間の仕事を救ってくれました。完全に機能しました!置換nvme0n1p3sda5nvme0n1p2sda1(それぞれ、LVM内部LinuxパーティションとLVM外部小さなブートパーティション)
オリバーU

1
@OliverUそれはうまくいったことを素晴らしい!ブートできなくなったとしても、ホームディレクトリと/ etcの一部などを新規インストールにコピーできるはずです。これはおそらく初期設定よりも作業が少ないはずです。
umbric

1
Ubuntu 18.10で問題なく動作し、問題が発生した後に私に問題が発生しましたapt autoremove。上記のOliverのように、説明の中でnvme0n1p3sda5nvme0n1p3sda5_cryptnvme0n1p2→ を置き換える必要がありましたsda1。そのように正しい推測を行います。2 chroot回入力する必要はありません。cat /etc/crypttab | cut -f1 -d " "内部でchroot正しい推測を行ったことを確認するだけです。2回入力する必要がある場合は、リブートせずにcrytpsetup + LVM2環境を閉じて再度開くと複雑に思えるので、再起動後に入力してください。
タニウス

また、これらの手順は、ブートされていないハードドライブをドライブエンクロージャーに入れ、USBを介して別の(正常に動作している)Ubuntuコンピューターに接続してもうまく機能しました。稼働中のシステムは必要ありません。
タニウス

ありがとう Ubuntu 19.10でも動作します
WellBloud

3

私はこの問題を抱えており、ここや他の場所の投稿には何も助けられませんでした。私の場合、具体的にはそれ/dev/mapperが含まれていないubuntu--vg-rootか、それ以外のことは何もありませんでした。これは、LVMがボリュームのマウント/マッピングを試みたときに何かが間違っているか、ブートプロセスの早い段階で何かが間違っていたことを意味します。

これらの2番目は私にとって事実であり、私が読んだことでinitramfs問題を理解し、診断することができました。これは、LVMが実行する前に何かが間違っていると思われる場合に最初にするべきことです。

私の場合(あなたと同じではないかもしれませんが、文書化する価値があります)、私はフルディスク暗号化(LUKS)を有効にしており、何らかの理由でcryptsetupツールが削除されていたinitramfsため、ロック解除するパスフレーズの入力を求められませんでしたドライブにアクセス/dev/sdaXできなかったため、マウントubuntu--vg-rootできなかったため、にマウント/マッピングできませんでした/dev/mappercryptsetupBusyBoxプロンプトから実行しようとすると、ll know you have the same issue if thecryptsetup`が見つかりません。

解決策は、LiveCDから起動しcryptsetup、を使用chrootして手動でドライブのロックを解除し、ルートファイルシステムに再インストールしcryptsetup、呼び出しますupdate-initramfs


Ask Ubuntuへようこそ!:-)最後の行を実際のコマンドに展開できますか?
ファビー

1
NVMeドライブでこのケース用のスクリプト(LUKS + LVM)を作成しましたが、/dev/sd*スタイルドライブにも拡張できます。unix.stackexchange.com/a/467113/103652
dragon788

2

@Zannaの答えのように、暗号化に関連する問題に苦しんでいる人のために、次のような手順に従う必要があります。

  1. ライブディストリビューション/ USBを使用してシステムを起動します。

  2. 暗号化されたパーティションをマウントします(Ubuntuでは、デスクトップに暗号化されたボリュームが表示されます。ダブルクリックしてパスワードを入力するだけで十分です)。パーティションはにマウントされ/media/ubuntu/[mount point]ます。(ユーザー名はディストリビューションに基づいて変更されます。たとえば、Xubuntuはを使用しxubuntuます。)

  3. ターミナルウィンドウとバーボンを開きます。

  4. システム内のマウントポイントに適切なバインドを設定します。

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot 暗号化されたディスクのルートディレクトリに: chroot /media/ubuntu/[mount point]

  6. システムに適切なinitramfsパッケージがインストールされていることを確認しますsudo apt install cryptsetup-initramfs lvm2

  7. 重要なのは、構成ファイルinitramfsにcryptsetupバイナリを強制的に含めることを確認する必要があることです。これは、ある時点で削除されたようです。行のnano /etc/cryptsetup-initramfs/conf-hookコメントを外し、CRYPTSETUP必ず読み取りますCRYPTSETUP=Y

  8. 最後に、実行しupdate-initramfs -u -k all、シャットダウンし、ライブメディアを引き出して、起動し直します。

ここでの走行距離は、システムで何が起こったかによって異なります。たとえば、LVMグループ名またはUUIDを変更した場合、正しい識別子を調整/etc/crypttab/etc/fstabて使用する必要がある場合があります。私のように、あるリリースから別のリリースに移行する場合、同じグループ名の暗号化ボリュームが2つあることがわかります。これにより、ディスクのマウントがかなり難しくなります(UUIDを明示的に使用する必要があります)。

全体として、Xubuntu 18.10へのアップグレードはこのためひどいものでした。(カーネルへのアップグレードが取り込まれると、ストックシステムは再起動しません!)少なくとも現在のセットアップでは、システムは再起動を通じて安定しています。

ちなみに、インターネット上で解決策を探していたACPIエラーは赤ニシンでした。暗号化されたディスクから起動できるかどうかは関係ありません。


sdXこの場合は何ですか?LiveCDから起動する場合、/bootパーティションがないため、そこに何を入れるべきかは明確ではありません。
-ralien

@ralien — sdXおそらくsdaほとんどのシステムで、暗号化されたパーティションを保持するドライブです。私の場合、sda新規インストール中にメインディスク()を暗号化しました。
イーサン

0

以下を試してください:

(initramfs) reboot

次に、OSの選択プロンプトで、古いカーネルで起動してみてください。

成功した場合、@ One Faceの箇条書き4および5で示されているように、おそらくこれで問題が解決するでしょう。

sudo apt-get install lvm2

lvm2がインストールされていない場合、古いカーネルは起動しません。lvm2パッケージとカーネルはリンクされていません。Rescue Systemで起動し、chroot経由でパッケージをインストールする必要があります。
プリフロップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.