通过 Virt.manager 0.8.5/Qemu/KVM 从 Windows XP 访问主机 LVM 分区

通过 Virt.manager 0.8.5/Qemu/KVM 从 Windows XP 访问主机 LVM 分区

请求的用例是让 Windows XP SP3 客户机在 64 位 Ubuntu 中运行。
(Linux pcs 2.6.35-22-server #35-Ubuntu SMP Sat Oct 16 22:02:33 UTC 2010 x86_64 GNU/Linux)
我希望此客户机访问 Ubuntu 磁盘上的 LVM LV。

我已经设置了以下 LVM 配置:
--- 逻辑卷 ---

  LV Name                /dev/storage/sdc1  
  VG Name                storage  
  LV UUID                Zg5IMC-OlqB-prL5-fgg4-3A9A-OgKP-oZ0QkJ  
  LV Write Access        read/write  
  LV Status              available  
  # open                 0  
  LV Size                1.01 GiB  
  Current LE             259  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     auto  
  - currently set to     256  
  Block device           251:3  

--

1) 我为 /dev/storage 设置了一个存储池
2) 我已 mkfs.vfat /dev/storage/sdc1
3) 并在 virt-manager 设置中为客户机创建了一个虚拟 IDE 磁盘。
目标设备:IDE 磁盘 2
源路径:/dev/storage/sdc1

--

现在,当运行 XP(客户机)时,Windows 会在磁盘管理器中看到一个新磁盘,并希望在其上安装一个分区,因为它认为驱动器是空的。
在 Windows 中格式化后,我可以将数据放在新的磁盘卷上。

--
但是回到 Ubuntu 后我无法再访问它,因为它在 LVM 逻辑卷内创建了一个分区。

运行 fdisk -l 显示以下内容:

root@pcs:/media# fdisk -l /dev/storage/sdc1  

Disk /dev/storage/sdc1: 1086 MB, 1086324736 bytes  
32 heads, 63 sectors/track, 1052 cylinders  
Units = cylinders of 2016 * 512 = 1032192 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x8d72e4f4  

             Device Boot      Start         End      Blocks   Id  System  
/dev/storage/sdc1p1               1        1050     1058368+   c  W95 FAT32 (LBA)  

-
这对我来说似乎没问题,但是当尝试挂载 /dev/storage/sdc1p1 时,我收到以下错误:

mount /dev/storage/sdc1p1 /media/xp  
mount: special device /dev/storage/sdc1p1 does not exist  

这是有道理的,因为在 lvdisplay 中 sdc1p1 不存在

主要问题:
我想在 Ubuntu 和 XP 中挂载 vfat 分区
我这里缺少什么?????

谨此致以问候,感谢您的考虑。

答案1

好的,[已解决]

重点是设备映射器不会自动创建到 XP 客户机(或 Ubuntu 客户机)分区的映射,该分区是客户机在 Ubuntu 主机上的 LV 中创建的 :-)(客户机现在应该如何做到这一点?)

为了解决这个问题,我发现了另一篇文章:http://forums.gentoo.org/viewtopic.php?t=128781并从中取出以下物品来解决我的问题。

1) 执行sfdisk -d /dev/mapper/storage-sdc1(XP 创建分区的 LV 名称
应该打印如下内容:

partition table of /dev/mapper/storage-sdc1
unit: sectors  
/dev/mapper/storage-sdc1p1 : start=       63, size=  2116737, Id= c
/dev/mapper/storage-sdc1p2 : start=        0, size=        0, Id= 0
/dev/mapper/storage-sdc1p3 : start=        0, size=        0, Id= 0  
/dev/mapper/storage-sdc1p4 : start=        0, size=        0, Id= 0  

2)为每个分区创建一个映射文件,在我的情况下这只是一行(我将其命名为 devmap.sdc1p1)使用开始(最后一列)和大小(第二列)

cat devmap.sdc1p1 
#start      size    type    destination start
0 2116737 linear /dev/mapper/storage-sdc1 63

3) 运行dmsetup create sdc1p1 devmap.sdc1p1
此命令将创建 ned DM 设备 sdc1p1(注意,它将其创建为 sdc1,而不是按照惯例创建为 storage-sdc1)

4)将分区挂载为mount -t vfat /dev/mapper/sdc1p1 /media/sdc1

5) :-) 和一些咖啡

相关内容