回答:
Fedora 17からLVMにアクセスするために使用した手順は次のとおりです。Fedora17はほとんどの形式のLinuxで動作するはずです。
Fedora 17を起動します。
lvm2がインストールされていることを確認します。
$ sudo yum install lvm2
必要なモジュールをルートとしてロードします。
$ sudo modprobe dm-mod
システムでLVMボリュームをスキャンし、Fedoraボリューム(VolGroup00であることが判明したボリューム)を持つボリュームグループ名を出力で特定します。
$ sudo vgscan
ボリュームをアクティブにします。
$ sudo vgchange -ay VolGroup00
Fedoraのルートファイルシステム(LogVol00であることが判明したもの)がある論理ボリュームを見つけます。
$ sudo lvs
そのボリュームのマウントポイントを作成します。
$ sudo mkdir /mnt/fcroot
マウント:
$ sudo mount /dev/VolGroup00/LogVol00 /mnt/fcroot -o ro,user
完了したら、/ mnt / fcrootに移動してファイルをコピーし、別の場所に貼り付けます。
vgscan
、その後vgchange -a y'
は必要な手順です。
しばらく前にこの問題に直面したので、ブログに投稿しました
すべてのパーティションをリストし、入力します
linux:/ # lvmdiskscan
このようなリストを取得します
File descriptor 3 left open
File descriptor 4 left open
/dev/dm-0 [ 9.67 GB]
/dev/sda1 [ 78.41 MB]
/dev/dm-1 [ 6.44 GB]
/dev/sda2 [ 115.52 GB]
/dev/dm-2 [ 2.00 GB]
/dev/sda3 [ 18.11 GB] LVM physical volume
/dev/sda5 [ 15.33 GB]
に注意してください/dev/dm-x
。これらは、LVMパーティションに対応するデバイスです。サイズにも注意してください。
次に、lvdisplayと入力して、使用可能なすべての論理ボリュームの詳細リストを表示します。
lvdisplay |more
LV Name /dev/system/home
VG Name system
LV UUID 1QP9XM-vlKi-umNO-CXvV-TnZN-RCLk-e1FDIr
LV Write Access read/write
LV Status available
# open 1
LV Size 9.67 GB
Current LE 2475
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
— Logical volume —
LV Name /dev/system/root
VG Name system
LV UUID D1fKUJ-uU1C-jlVB-4imh-rrgy-FQu0-TC2Ssm
LV Write Access read/write
LV Status available
# open 1
LV Size 6.44 GB
Current LE 1649
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
— Logical volume —
LV Name /dev/system/swap
VG Name system
LV UUID w5LqIb-xvcr-Xsbk-y3wg-lT3i-LqdN-GFK8Mi
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
今、データの上記セットから、私たちは私のことを推論できる/home
サイズのパーティション、9.67ギガバイトは、LVグループとして利用可能である/dev/system/home
上/dev/dm-0
パーティションが利用できる場所がわかったので、次のようにmountコマンドを使用してマウントを続行できます。
mount /dev/dm-0 /home
これで、LVパーティションがマウントされました!
を実行すると、ボリューム名のリストを取得できますlvscan
。出力は次のようになります
/dev/VG1/LV1
/dev/VG1/LV2
/dev/VG2/LV3
すなわち、中央にボリュームグループ名があり、最後に論理ボリュームがあります。それらのいずれかがPalimpsestディスクユーティリティの情報に対応しているかどうかを確認します。
また、既にマウントされているディスクのリスト(mount
)と比較し、どのディスクが存在しないかを確認します。少し違って見えるかもしれません、例えば:
$ mount
/dev/mapper/VG1-LV1 is mounted on /usr
/dev/mapper/VG1-LV2 is mounted on /home
ボリュームグループと論理ボリュームが最後に表示される場所を確認できます。
適切なものが見つかったら、通常の方法でマウントします。
mount /dev/VG2/LV3 /mnt
guestmount(1)が最も簡単な方法です。
# guestmount -m /invalid/path -a /path/to/block/device /mnt/
guestmount: '/invalid/path' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
(...)
guestmount: /dev/vg0/root (ext4)
(...)
# guestmount -m /dev/vg0/root -a /path/to/block/device /mnt
http://libguestfs.org/guestmount.1.htmlも参照してください。
guestmount
Ubuntu、libguestfs-tools
RHEL、および派生製品でパッケージ化。
これをマウントする別の方法が便利だと思いました:
DISK=mydisk
lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g'
LV_DISK=$(lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g')
fdisk -l $LV_DISK
fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}'
OFFSET=$(fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}')
OFFSET=$((OFFSET * 512))
MOUNT=/mnt/$DISK
mkdir -p $MOUNT
mount -o loop,offset=$OFFSET $LV_DISK $MOUNT
findmnt
コマンドについて誰も言及していないことに驚いています。あなただけを行うことができfindmnt -l
、あなたが欲しいものを手に入れるでしょう。そして、より良いバージョンのためにこれを試してください:findmnt -l | grep ' /dev/\S\+'