Answers:
这是我用来从Fedora 17访问LVM的步骤,它应该适用于大多数形式的Linux。
启动Fedora 17。
确保已安装lvm2:
$ sudo yum install lvm2
以root身份加载必要的模块:
$ 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 GB的分区可以作为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 Disk Utility中的信息相对应。
另外,将磁盘与已安装的磁盘列表进行比较(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\+'