请求的用例是让 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) :-) 和一些咖啡