仮想マシンのLVM LVコンテナにgrubをインストールする際に問題があります。以下はパーティションテーブルです。
# parted /dev/mgtvg/linux2os print
Model: Linux device-mapper (linear) (dm)
Disk /dev/dm-7: 129GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 6469MB 6468MB primary ext3 boot
2 6469MB 11.8GB 5369MB primary xfs
3 11.8GB 17.2GB 5369MB primary xfs
4 17.2GB 129GB 112GB extended lba
5 17.2GB 22.6GB 5369MB logical xfs
パーティション1には、ルートファイルシステム(/bootなし)が含まれています。 grubをインストールしてみてください:
# grub --device-map=/dev/null
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/mgtvg/linux2os
device (hd0) /dev/mgtvg/linux2os
grub> root (hd0,0)
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup
setup
Error 1: Unrecognized device string
grub>
grub.conf
以下は、VMを含むLVのファイルです。
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=1 --speeed=19200
terminal --timeout=8 console serial
title CentOS (2.6.32-279.22.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro root=/dev/sda1
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img
title CentOS (2.6.32-279.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/sda1
initrd /initramfs-2.6.32-279.el6.x86_64.img
また何が必要ですか?
ベストアンサー1
LVが存在する物理パーティションではなく名前でLVを参照しようとしています。
物事の構造は次のとおりです。私は3つあります:
- 物理ボリューム(PV)
- ボリュームグループ(VG)
- 論理ボリューム(LV)
私のラップトップには次のものがあります。
$ pvs
PV VG Fmt Attr PSize PFree
/dev/sda6 vg_grinchy lvm2 a- 304.22g 0
メモ:PV=/dev/sda6,VG=vg_grinchy
$ lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv_home vg_grinchy -wi-ao 248.53g
lv_root vg_grinchy -wi-ao 50.00g
lv_swap vg_grinchy -wi-ao 5.69g
メモ:したがって、私のVG(vg_grinchy)には3つのLV(lv_home、lv_root、およびlv_swap)が含まれています。
次のコマンドでこれを確認できますvgs
。
$ vgs
VG #PV #LV #SN Attr VSize VFree
vg_grinchy 1 3 0 wz--n- 304.22g 0
メモ:#LV=3、#PV=1と表示されます。
これで、次のコマンドを使用してLVのフルネームを表示できますlvdisplay
。
$ lvdisplay |grep "LV Name"
LV Name /dev/vg_grinchy/lv_root
LV Name /dev/vg_grinchy/lv_home
LV Name /dev/vg_grinchy/lv_swap
ファイルにインストールするLVを指定するには、この名前を使用する必要がありますgrub.cfg
。
はい
以下は私のファイルの一部ですgrub.cfg
。
title Fedora (2.6.35.14-106.fc14.x86_64)
root (hd0,4)
kernel /vmlinuz-2.6.35.14-106.fc14.x86_64 ro root=/dev/mapper/vg_grinchy-lv_root rd_LVM_LV=vg_grinchy/lv_root rd_LVM_LV=vg_grinchy/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=l
atarcyrheb-sun16 KEYTABLE=us rhgb quiet
initrd /initramfs-2.6.35.14-106.fc14.x86_64.img
もちろん、私のカーネルが以下を渡すのを見ることができます。
root=/dev/mapper/vg_grinchy-lv_root