今日、ネットブックに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
Lsblk -fs、fdisk/dev/sdaの出力とpフラグ、grub修復のレポートをPastebinリンクとして質問に追加してください。
検索に基づいて、Ask Ubuntuには同様の質問があり、最新の回答はありません here および Here raidとubuntuについて説明する1つの回答があります。
いくつかの提案があるようですが、そのうちのいくつかは一部の人々にとってはうまくいくようです。
Initframsプロンプトからls /dev/mapper
と入力して、ルートボリュームがリストされているかどうかを確認してください。リストされていない場合は、10秒待ってからlsを再度実行してください。
リストに表示されている場合は、exit
と入力すると、ルートデバイスが見つかり、ブートするはずです( here から取得)
GrubアラートでOSを選択するときにe
を押してブート構成を編集し、root=UUID-6500...
をroot=/dev/sdx
に置き換えます。sdxはブートパーティションです。ここでの問題は、UUIDが間違っているか、/dev/disk/by-UUID...
が存在しないことです (1)
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)Recovery
オプションを使用して起動しようとすると、一部の人にとってはうまくいくかもしれませんエラー/dev/mapper/ubuntu-vg-root
は here で説明されているようにraidに関連しているようです。
「コピープロセスが開始する直前のインストーラの概要画面で、[詳細設定]ボタンをクリックします。ブートパーティション(これはLinuxパーティションではなくMSDOSスタイルの「親」パーティションです)を/ dev/mapper/pdc_feddabdf(またはdmraidリスト)に変更しますfakeraidパーティションとして)このディスクから起動するには、チェックボックスをクリックしてください。インストーラはgrub2を修正して、正しい論理パーティション/ dev/mapper/pdc_feddabdf1または/がオンになっているものを指すようにします。
インストールに関する詳細な手順は、参照サイトに記載されています。 GRUBのインストールに関する詳細については、こちらをご覧ください。
chroot
を使用してrootを変更することでubuntuを更新することは、一部の人にとってはうまくいくようです(cpttripzz here で推奨)。 chrootに関する指示は here です。 UnixとLinuxで この質問 を参照することもできます。詳細は Arch Wiki および Gentoo Wiki にあります。私はこの問題を抱えており、ここや他の場所の投稿には何も助けられませんでした。特に私の場合、/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 the
cryptsetup`が見つかりません。
解決策は、LiveCDから起動し、cryptsetup
、chroot
を使用してルートファイルシステムにドライブを手動でロック解除し、cryptsetup
を再インストールして、update-initramfs
を呼び出すことでした。
特定の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 は、コマンドの収集に役立ちました。
@Zannaの答えのように、暗号化に関連する問題に苦しんでいる人のために、次のような手順に従う必要があります。
ライブdistro/USBを使用してシステムを起動します。
暗号化されたパーティションをマウントします(Ubuntuでは、デスクトップ上に暗号化されたボリュームが表示されます。ダブルクリックしてパスワードを入力するだけで十分です)。パーティションは/media/ubuntu/[mount point]
にマウントされます。 (ユーザー名はディストリビューションに基づいて変更されます。たとえば、Xubuntuはxubuntu
を使用します。)
ターミナルウィンドウとバーボンを開きます。
システム内のマウントポイントに適切なバインドを設定します。
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
chroot
を暗号化ディスクのルートディレクトリに:chroot /media/ubuntu/[mount point]
システムに適切なinitramfs
パッケージがインストールされていることを確認してください:Sudo apt install cryptsetup-initramfs lvm2
。
重要なのは、構成ファイルがinitramfs
にcryptsetupバイナリを含めるように強制することも必要です。 ある時点で削除されたようです :nano /etc/cryptsetup-initramfs/conf-hook
、コメントを外しますCRYPTSETUP
行で、CRYPTSETUP=Y
を読み取ります。
最後に、update-initramfs -u -k all
を実行し、シャットダウンし、ライブメディアを引き出して、起動し直します。
ここでのマイレージは、システムで何が起こったかによって異なります。たとえば、LVMグループ名またはUUIDを変更した場合、/etc/crypttab
と/etc/fstab
を揃えて正しい識別子を使用する必要がある場合があります。私のように、あるリリースから別のリリースに移行する場合、同じグループ名の暗号化ボリュームが2つあることがわかります。これにより、ディスクのマウントがかなり難しくなります(UUIDを明示的に使用する必要があります)。
全体として、Xubuntu 18.10へのアップグレードはこのためひどいものでした。 (カーネルへのアップグレードが取り込まれると、ストックシステムは再起動しません!)少なくとも現在のセットアップでは、システムは再起動を通じて安定しています。
N.b.、インターネット上で解決策を探していたACPIエラーは赤ニシンでした。暗号化されたディスクから起動できるかどうかは関係ありません。
以下を試してください:
(initramfs) reboot
次に、OSセレクタプロンプトで、古いカーネルで起動してみます。
成功した場合は、@ One Faceの箇条書き4および5で示されているように、おそらくこれで問題が解決するでしょう。
Sudo apt-get install lvm2