web-dev-qa-db-ja.com

「アラート!/ dev / mapper / server--vg-rootは存在しません。シェルにドロップしています!」

だから私は今、Ubuntuサーバーを台無しにしたと思う。

500GBのハードドライブをインストールし、ext4でフォーマットした後、/ etc/fstabとUUIDを編集して静的にマウントしたいと考えました。

何らかの理由で、理由が分からないため、UUIDの「-」を何らかの形で削除しました。再起動後、次のようになります:

"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 module (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/server--vg-root does not exist. Dropping to Shell!"

その後、非常に限られたBusyBoxシェルを入手します。

私がこれまで試したのは、ライブUSB Ubuntuデスクトップで起動し、ブートドライブをマウントすることでしたが、アクセスすると、カーネルバージョンとgrubなどがあり、ルートファイル「/ etc、/ usr、/それ以外の場合は、fstabの変更を元に戻して試してみましたが、そこにたどり着きさえしませんでした。

編集(fdisk -lの出力):

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
81 heads, 63 sectors/track, 122504 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00094364

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048   625142447   312570200   83  Linux
1
Fabian

initramfsに次を入力します。

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

問題を解決できない場合は、次を入力してください:

ls /dev/mapper

これで、ルート(/dev/vgname/lvnameなど)が見つかりました。

reboot

次に、画面でカーネルを選択し、eを選択して、次の場所でルート値(/dev/vgname/lvnameなど)を編集および貼り付けます。

/boot/vmlinuxxxxx root=uuid/dev/xxx.

次に、最後に Ctrl+X 起動します。

サーバーの再起動時に問題が繰り返される場合

に行きます

  #/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
  1. これを実行する

     #/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

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

この行が見つからない場合は、lvm vgchange -ayactivate_vg "$ ROOT"

出口0の上のファイルの終わりに2行以下で書き込みます

           #lvm vgchange -ayactivate_vg "$ROOT"
           #activate_vg="$ROOT"
save the file

それから

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

手順に従って、lvmパーティションをマウントします。

ライブセッションで、ターミナルを開きます

押す Ctrl+Alt+T

Sudo fdisk -l

これにより、システムのパーティションテーブルが一覧表示され、次のようになりました。

Device Boot Start End Blocks Id System
/dev/sda1* 1    4864 39070048+ 83 Linux
/dev/sda2  4865 6691 14675377+ 83 LVM2_member ...

次のステップは、/ dev/sda2パーティションにアクセスすることでした。これはlvmパーティションです。

必要なツールをインストールするには、次のコマンドを実行します。

Sudo apt-get update
Sudo apt-get install lvm2

このpvsの実行が完了したら:

Sudo pvs

これにより、物理ボリューム/ dev/sda2が属していたボリュームグループが一覧表示されます。それは形になります

PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup01 lvm2 a- 148.94G 32.00M

フィールドVG:はボリュームグループを示します。

上記の出力は単なる例であり、ボリュームグループ "VolGroup01"に関係していることを示しています。

次の手順では、このボリュームグループに関する情報を一覧表示します。

Sudo lvdisplay /dev/VolGroup01

大量の出力がスローされますが、懸念しているのはLV名です。次のようになります。

LV Name /dev/VolGroup01/LogVol00

上記のパーティションがマウントする必要があるパーティションであると仮定して、通常の方法でマウントします。

Sudo mount /dev/VolGroup01/LogVol00 /mnt

これで、/mntフォルダーで探していたデータを見つけることができます。

1
kyodake