ローカルに複製する必要があるリモートサーバー(物理的にアクセスできない)があります。そのため、セカンダリHDをローカルLinuxサーバーに接続し、ブート、スワップ、およびルートパーティションを作成し、リモートサーバー上のすべてのデータを再同期しました。コピープロセスはうまくいきますが、新しいドライブを起動できるようにgrubを有効にしようとすると、これが発生します(リモートサーバーにはLVMパーティションがあり、ローカルドライブは起動、スワップ、およびルートを正常に作成しました)。
コピーした画像を次のようにインストールします。
mount /dev/sdb3 /mount && mount /dev/sdb1 /mount/boot/
mount --bind /dev /mount/dev && mount --bind /dev/pts /mount/dev/pts && mount --bind /proc /mount/proc && mount --bind /sys /mount/sys
chroot /mount
その後、grubをインストールしようとしています。
grub-install /dev/sdb
デバイスが見つかりません/dev/mapper/VolGroup-lv_root
ファイルを/boot/grub/stage1
誤って読みました。
(該当するドライブから起動しようとしましたが、「grub Rescue」のプロンプトが表示されます)
/dev/mapper/VolGroup-lv_root
リモートサーバーのルートパーティション。ここで何をすべきかわかりません。フォルダを削除し/boot/grub/
てgrubを再インストールしてみましたが、同じ現象が発生しました。では、これがルートパーティションであることをgrubにどのように知らせることができますか?/dev/sda3
それともこの問題をどのように解決しますか?
grub.confファイル:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-573.7.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 root=/dev/sda1
initrd /initramfs-2.6.32-573.7.1.el6.x86_64.img
複製されたドライブのfdisk -l出力:
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 66 524288 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 66 2155 16777216 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sdb3 2155 41774 318241792 83 Linux
Partition 3 does not end on cylinder boundary.
答え1
/etc/fstab
LVMから非LVMへの変更を反映するには、ファイルとGRUB構成を更新する必要があります。元のGRUB(つまり、GRUBのより良いバージョン)を使用している場合に実行できます/boot/grub/grub.conf
。 GRUB2(つまり、GRUBの面倒なバージョン)を使用する場合は、いくつか変更する必要があります。マウント以外の物理デバイスを参照する他のサービス(特にudev)がある可能性があるため、すべてのLVMデバイスが参照されている場所を確認するには、ディレクトリ全体/etc/defaults/grub/
で時間を費やす価値があります。/etc
?)。
grep -r 'VolGroup' /etc