ルートVGがありません。 initramfsシェルに入れてください。

ルートVGがありません。 initramfsシェルに入れてください。

私のLinux Mint 17.1(64ビット)はOSドライブ(SSD)でLVMを使用しています。最後に再起動したときに起動が失敗したため、システムを損傷する「何か」作業を行ったことは間違いありません。代わりにメッセージを受け取りました。「警告!/dev/mapper/mint--vg-rootが存在しません。シェルに入ります!」そしてinitramfsシェル。どのように進むべきかわかりません。

私は通常、一般的なシステムアップデートを実行しますが、カスタムカーネルやそれに似たものは使用しません。私も再起動をしないかかなり古いので、これが最近発生した問題なのか、それとも再起動が必要なので、ただ目立たないように過ぎたのかもしれません。

私はgrubやinitramfsを知らず、そのようなものから回復した経験もありません。もちろん、私のデータへのアクセスは必須です!

他の記事では、この問題がlvm2をサポートしていないカーネルにアップグレードしたために発生する可能性があります。問題はまだこの画面が表示されるため、USBまたはDVDから起動できなくなることです。

次のステップは、SSDを取り外して動作していることを確認することです。それから他のメディアから起動しますが、実際には解決策ではありません。

メディアから起動する方法を見つけた場合はどうすればよいですか?私の状況についてもっと話す必要がありますか?

スクリーンショット

修正する:

「lvm lvs」そして「lvm pvs」次のように教えてください。すべてが正常に動作するとき、この出力がどのようなものかわかりません。これは、それらがすべて同じ(悪い)状態にあることを意味しますか、それとも何ですか?

ここに画像の説明を入力してください。

ルートとスワップ用の2つのLVを持つSSDと、2つの別々のドライブにある2つのPVに基づく別のLVがあります。 LVとVGには期待どおりに番号が付けられ、名前が付けられます。

しかし、他の列を読む方法がわかりません。すべてのボリュームの状態が似ているようですが(すべて良いかすべてが悪い)、私が間違っている可能性があります。

"fdisk -l"私のinitramfsシェルでは利用できませんが、メディアから起動することがわかりました。したがって、LinuxMint 17.1 Live USB(現在のOSと同じ)で実行している場合、このコマンドの出力は次のようになります(ボリュームをマウントした後)。

$ fdisk -l
$ fdisk -l /media/mint/verylonguuidstring
last_lba(): I don't know how to handle files with mode 40755
$ fdisk -v
fdisk (util-linux 2.20.1)
$

まあ、あまり居ませんでした。これは、REDOのバックアップと復元と呼ばれるLive CDを時折使用した結果です。これにより、より良い結果が得られるか、少なくとも実際の出力が得られます。

ここに画像の説明を入力してください。

少なくとも私のすべてのディスクはマウント可能で破損していないように見えるので、起動するだけで問題になります。

書き直す!

何か大胆なことをしたのに効果があるようでした。別のメディアからブートした後、ブートパーティションをマウントし、/boot/grub/grub.cfgを修正しました。このファイルには、「問題のある」識別子「/dev/mapper/mint--vg-root」が複数回表示されます。すべて「/dev/mapper/ssd_vg-root_lv」に変更、保存、再起動しました。望むより!これで、基本的なOSを通常のデスクトップとして起動できるようになりました。エヤディー!

GRUB選択画面はまだ10秒間待っていますが、「/etc/default/grub」で「TIMEOUT」設定をオフにしました。

@Bratchley、@nkms、ありがとうございました!

答え1

"/boot/grub/grub.cfg"に正しいVGとLVがリストされていることを確認してください。私の場合は、VG名が「ssd_vg」、LV名が「root_lv」なので、grub.cfgファイルは「/dev/mapper/ssd_vg-root_lv」を参照する必要があります(使用に注意してください)。スラッシュとダッシュ! )。

答え2

initramfsタイプから

 #/sbin/lvm vgchange -a y
 # vgchange -a y
 #exit

問題が解決できない場合は、次のように入力してください。

  #ls /dev/mapper

root(例:/ dev / vgname / lvname)#rebootを見つけて、画面でカーネルを選択し、e編集を選択してルート値(例:/ dev / vgname / lvname)/xxxを貼り付けます。その後、ctrl + xが起動します。

If problem repeats when reboot the server

行く

      #/boot/grub/grub.cfg

/vm/vmlinuz root=に完全なlvパスを作成します。

問題が解決しない場合は、次のようにinitramfsを修復してみてください。

1. サーバー端末に接続

  # sudo rmmod floppy

    #echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklis-floppy.conf
     #dpkg-reconfigure initramfs-tools
     #update-initramfs -u
     #update-grub
     #reboot

2. これを実行してください

       #/etc/initramfs-tools/scripts/local-top/forcelvm

次のコンテンツが含まれています。

       #!/bin/sh
       PREREQ=""
     prereqs()
        {
       echo "$PREREQ"
     }
     case $1 in
     prereqs)
     prereqs
    exit 0
      ;;
    esac
      . /scripts/functions
       lvm vgchange -ay

それから

      # chmod +x `/etc/initramfs-tools/scripts/local-top/forcelvm`
       # update-initramfs -u -k all
  1. バックアップlvm2

     #apt-get install lvm2
     #cp /usr/share/initramfs-tools/scripts/local-top/lvm2  /tmp
    

    lvm2 編集

        #vi /usr/share/initramfs-tools/scripts/local-top/lvm2
    

    lvm を初期化するには、modprobe -q dm-mod と activate_vg "$ROOT" の間に次の行を追加します。

      lvm vgchange -ayactivate_vg "$ROOT" if you not find this line
    

終了 0 上記のファイルの末尾に次の 2 行を作成します。

       #lvm vgchange -ayactivate_vg "$ROOT"
       #activate_vg="$ROOT"

その後、ファイルを保存します

        #update-initramfs -u
        #update-grub
        #reboot

答え3

update-initramfsDebianベースのシステムでコマンドを実行する前に、パーティションがLUKSで暗号化されている場合は、パッケージがインストールされていることをcryptsetup-initramfs確認してください。そうでない場合は、まずインストールしてください。

apt-get install -y cryptsetup-initramfs

関連情報