だから私は今、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
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
これを実行する
#/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
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
フォルダーで探していたデータを見つけることができます。