web-dev-qa-db-ja.com

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

今日、ネットブックに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
12
Jonas Franz

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

検索に基づいて、Ask Ubuntuには同様の質問があり、最新の回答はありません here および Here raidとubuntuについて説明する1つの回答があります。

いくつかの提案があるようですが、そのうちのいくつかは一部の人々にとってはうまくいくようです。

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

    リストに表示されている場合は、exitと入力すると、ルートデバイスが見つかり、ブートするはずです( here から取得)

  2. GrubアラートでOSを選択するときにeを押してブート構成を編集し、root=UUID-6500...root=/dev/sdxに置き換えます。sdxはブートパーティションです。ここでの問題は、UUIDが間違っているか、/dev/disk/by-UUID...が存在しないことです (1)

  3. パラメータall_generic_idekernel /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による投稿 here は、エラーがインストールメディアにある可能性を示唆しているようです。
  7. エラー/dev/mapper/ubuntu-vg-roothere で説明されているようにraidに関連しているようです。

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

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

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

私はこの問題を抱えており、ここや他の場所の投稿には何も助けられませんでした。特に私の場合、/dev/mapperにはubuntu--vg-rootなどの問題は含まれていませんでした。これは、LVMがボリュームをマウント/マップしようとしたときに何かが失敗したことを意味しますOR何かがブートプロセスの早い段階で失敗しました。

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

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

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

2
cwilko

特定の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 は、コマンドの収集に役立ちました。

2
lumbric

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

  1. ライブdistro/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へのアップグレードはこのためひどいものでした。 (カーネルへのアップグレードが取り込まれると、ストックシステムは再起動しません!)少なくとも現在のセットアップでは、システムは再起動を通じて安定しています。

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

1
Ethan

以下を試してください:

(initramfs) reboot

次に、OSセレクタプロンプトで、古いカーネルで起動してみます。

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

Sudo apt-get install lvm2
0
e18r