警告! /dev/disk/by-uuid/xxxxxxxxx が存在しません。シェルにドロップします

警告! /dev/disk/by-uuid/xxxxxxxxx が存在しません。シェルにドロップします

Ubuntu 14.04を使用しています。

ターミナルで実行しましたsudo apt-get update。その後、システムを再起動しました。そして、次のように表示されます。

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_

USB フラッシュ ドライブから LIVE Ubuntu を起動できません。はい、BIOS セットアップを再確認しましたが、USB フラッシュ ドライブは正常で、別のマシンで動作します。今すぐ DVD を購入し、別のラップトップから Live DVD を書き込むつもりです。

sudo blkid私に与えてくれるもの:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   

/etc/fstab同じでありUUID="xxxx"、次の行があります:

errors=remount-ro 0   

ブート修復を使用しようとしましたが、まだ Ubuntu にログインできません。

Ubuntu には大量のデータがあるので、再インストールしたくありません。

これを解決する方法について何かアドバイスはありますか?

答え1

解決策は、これらのコマンドをライブDVDから実行することで、そのライブDVDからsda1で操作できるようになります(私の理解では)

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
update-initramfs -u
update-grub
reboot

Ubuntu PLフォーラムの友人解決に役立ちましたこの問題。

彼は、カーネル更新の一環として更新されるはずの initramfs にエラーがある可能性があることを発見しました。更新中に何か問題が発生すると、私のような問題が発生する可能性があります。

答え2

人々は望むならこれに眉をひそめるかもしれませんが、/dev/sdX私の個人的なシステムでは、UUID よりも " " を使用する方が信頼性が高いことがわかりました。エンタープライズ環境では、"/dev/" アドレスではなく UUID で動作するようにもっと努力しますが、/etc/ fstab に正しい UUID が/dev/sdaXあるに/etc/fstabもかかわらず、なぜ起動が失敗するのかという答えを探し続ける間、少なくともシステムを起動できるようにするには、UUID 参照ではなく in を使用するのが安全です。

この方法を使用する場合は、次の手順に従います。

  1. リカバリシェルを起動するか、ライブUSBドライブまたはCDを起動します

  2. 起動に失敗したシステムパーティションをマウントする

  3. /etc/fstab手順 2 で説明したシステム パーティション内のファイルを root として編集し、関連するすべてのエントリ内のUUID=XXXXX対応するラベルに置き換えます。/dev/sdX/etc/fstab

注: この手順は、Ubuntu および Ubuntu 派生ディストリビューションでは信頼できることがわかっています (この記事の執筆時点では、今後のリリースで簡単に変更される可能性があります)。knoppix や Arch Linux などの他のディストリビューションでは確実に機能しないことはわかっています (これは、UDEV がデバイスをスキャンして /dev ファイルシステムに名前を付ける方法が異なるためです)。Ubuntu 派生以外のディストリビューションを使用している場合は、この方法を使用しないでください。または、自己責任で使用してください。

関連情報