从虚拟化访问双启动分区

从虚拟化访问双启动分区

我当前的系统是 Fedora 14 和 Windows 7 双启动系统。我刚刚通过 Virtualbox 安装了一个 Ubuntu 分区进行虚拟化。有时候我需要在 Windows 中执行某些操作,但又想将 Linux 放在手边。

虚拟化工作正常,但我希望能够使用虚拟化的 Ubuntu 访问 Fedora 分区中的文件。问题是 Virtualbox 中共享文件夹的选项会带您通过 Windows 文件夹选择器,而 Fedora 分区不会出现在我的计算机下,因为 Windows 无法读取它。

有没有什么办法可以从我的 Ubuntu 虚拟化访问 Fedora 中的文件?

我见过这个帖子。如果我可以从 Fedora 分区启动虚拟化,那就更好了。我正在等待答案的同时做这件事。

答案1

您可以挂载 Fedora 分区,然后将其作为 CIF/SMB 共享进行共享,本质上将 Windows 变成文件服务器。这样,您就可以通过 Ubuntu 客户端(或任何其他联网机器)访问它们,而无需创建虚拟文件夹。

这里你遇到的困难是,你需要适合 Windows 的驱动程序来识别和安装 Linux 文件系统。我测试了一个名为Ext2Fsd在 Windows XP/32bit 下,它可以运行,但有以下限制...

Ext2Fsd 对 EXT4 的 RO 访问存在已知限制,并且不支持 LVM。默认的 Fedora 安装会创建一个 Ext3 启动分区和一个带有 Ext4 分区的 LVM 卷组。在我的测试机器上,Ext2Fsd 成功安装了 Ext3 启动分区,但无法访问 LVM。因此,如果您的配置是 Fedora 默认配置,则尝试此操作可能成功率有限。如果您不使用 LVM,您应该能够 RO Ext4 分区或 EW Ext2/3 分区。

如果您尝试此操作并挂载文件系统,则可以通过 Windows 界面共享它们。然后从 Ubuntu,您可以在文件管理器中浏览共享。我通常使用 Gnome,而 Nautilus 在连接 SMB 共享时遇到问题,因此我使用 IP 地址而不是服务器名称进行连接 - smb://192.168.1.150/sharename 而不是 smb://windowshostname/sharename。但是,两者都可能适合您。您可能还需要配置防火墙以允许 SMB 流量。

答案2

您可以使用此VBoxManage工具创建vmdk指向硬盘上真实分区的文件。您可以使用它在 Ubuntu 虚拟机中挂载 Fedora 分区,或者在 VirtualBox 中启动 Fedora。

警告: 如果您尝试使用上述技术在虚拟机中启动当前正在运行的 Windows 安装,则可能会损坏 Windows 安装,无法修复。因此,您可能希望使用第二种技术将 Fedora 安装到 Ubuntu 上,或将 GRUB 安装到 Fedora 的分区中。

为此,请以管理员身份打开命令提示符,方法是按“开始”,输入cmd,然后按Ctrl+ Shift+ Enter。进入命令提示符后,cd转到实用程序所在的 VirtualBox 安装目录VBoxManageC:\Program Files\Oracle\VirtualBox默认),除非它恰好在您的 中PATH

vmdk创建代表您的第一个硬盘的命令C:\Users\YGomez\mydisk.vmdk是:

VBoxManage internalcommands createrawvmdk -filename C:\Users\YGomez\mydisk.vmdk -rawdisk \\.\PhysicalDrive0

如果 Fedora 安装在不同的硬盘上,请将0in替换PhysicalDrive0为硬盘的编号。要找出驱动器编号,请运行磁盘分区在命令行中,然后运行列出磁盘在 DiskPart 命令行上。

您还可以创建一个vmdk仅代表 Fedora 分区的分区。如果您只打算在 Ubuntu 中安装 Fedora 分区,或者希望直接在 Fedora 分区中安装 GRUB 并从那里启动,则可能需要这样做(请参阅上面的警告,了解您可能想要这样做的原因)。为此,请在上面的命令-partitions中添加一个开关VBoxManage,其中包含分区号,用逗号分隔。要找出 DiskPart 中的分区号,请运行磁盘号所在的select disk n位置n,然后运行list partition

例如,如果您在 Fedora 中的分区 2、3 和 4 上分别有单独的根、/boot和分区,则可以运行:/home

VBoxManage internalcommands createrawvmdk -filename C:\Users\YGomez\fedoraparts.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 2,3,4

要将 GRUB 安装到 Fedora 的分区中,请启动 Fedora 并blkid以 root 身份运行,以找出 Fedora 的/boot分区设备(如果您未配置分区设备,则找出其根设备)。然后,grub-install在其上运行。例如,如果 Fedora 的启动分区在 上/dev/sda2,则您将以超级用户身份运行以下命令:

 grub-install /dev/sda2

相关内容