如何在 Ubuntu 18 和 vbox Windows 7 之间共享 FAT32 分区

如何在 Ubuntu 18 和 vbox Windows 7 之间共享 FAT32 分区

我有以下磁盘设置:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 195944447 195942400  93,4G 83 Linux
/dev/sda2       195944448 937701375 741756928 353,7G  c W95 FAT32 (LBA)

sda1是 Linux Ubuntu 18.04 和运行 Windows 7 的 vbox。
sda2只是 Linux 和 VM Windows7 之间共享的数据。

我怎样才能让我的 Windows 7 vbox 访问这个 FAT32 分区?

答案1

欢迎,

这种技术被称为:“原始分区支持“您可以在 Virtualbox 手册章节“9.9 高级存储配置”中找到出色的解释

首先我假设你已经知道(从你的 Linux 主机读写):如何

随意挂载和卸载 Linux 主机上的 FAT32 分区 (/dev/sda2),以及最终如何在 /etc/fstab 文件中添加一行来挂载 FAT32 分区,

您的虚拟机名为“Windows 7”,并且

您只有 1 个虚拟磁盘连接到“Windows 7”。

为了完成任务,您可以输入一些类似这样的命令(适应您的需要!!):

$ sudo VBoxManage internalcommands createrawvmdk -filename /path/to/file_of_the_fat32_partion.vmdk -rawdisk /dev/sda -partitions 2

$ sudo VBoxManage storageattach "Windows 7" --storagectl "SATA" --port 1 --device 0 --type hdd --medium /path/to/file_of_the_fat32_partion.vmdk -rawdisk /dev/sda -partitions 2

第一个命令创建

“...特殊的 VMDK 映像文件,定义数据的存储位置...”

第二条命令附加

“...新创建的图像...”

到您的“Windows 7”虚拟机。

(我引用了 Virtualbox 用户手册中的第 9.9.1 章)。

然后您可以启动“Windows 7”虚拟机,您将在字母 D: 上找到新的分区(dev/sda2)(注意:找到新分区后,Windows 可能会要求您重新启动操作系统)。

要找出虚拟机的名称,请启动以下命令:

$ sudo VBoxManage list vms

找出参数:--storagectl "SATA"--port 1--device 0

此命令很有用(对于虚拟机“Windows 7”,您应该根据您的需要进行调整):

$ sudo VBoxManage showvminfo "Windows 7" | grep SATA

你会看到类似这样的内容:

Storage Controller Name (0)   SATA
SATA (0, 0): /path/to/your_actual_windows_7_virtual_machine_already_working.vdi (UIDD:....)
SATA (1, 0): Empty

请注意,“SATA (1, 0): Empty”是您要连接分区(端口 1,设备 0)的位置 = --storagectl“SATA” and--port 1 and--device 0


您应该首先尝试的另一种方法是:- 将 /dev/sda2 挂载到 Linux 主机上的某个位置(例如 /mnt/diskFAT32),然后使用 Virtualbox Manager GUI 上的共享文件夹部分添加一个 /mnt/diskFAT32 共享,并对其设置自动挂载和读/写权限。对我来说,这是在虚拟机“Windows 7”上开始使用 Linux 主机分区的最安全模式。

我希望这可以帮到你。

相关内容