虚拟盒创建一个分区的 vmdk 并创建整个硬盘的 vmdk

虚拟盒创建一个分区的 vmdk 并创建整个硬盘的 vmdk

我正在尝试在磁盘 /dev/sda 上创建我的 Windows 分区(Win 10 x64 Pro - 内部预览版)的 VMDK,其中我的 Windows 分区是 /dev/sda1。

Virtual Box 可以选择通过以下方式从分区创建 vmdk:-partitions

从此处的文档页面:

要在 Linux 主机上创建用于原始分区支持的特殊映像(如前所述,它将包含少量数据),请使用以下命令

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk
  -rawdisk /dev/sda -partitions 1,5

如您所见,该命令与“全硬盘”访问命令相同,只是多了 -partitions 参数。此示例将创建映像 /path/to/file.vmdk(同样,必须是绝对的),并且 /dev/sda 的分区 1 和 5 将可供客户机访问。

我的尝试:

请注意:为了允许每个用户创建和编辑磁盘,我使用了

sudo usermod -a -G disk cx

我的用户在哪里cx

开始:

因此,通过以下方式应用上述命令:

VBoxManage internalcommands createrawvmdk -filename win_hdd_raw.vmdk -rawdisk /dev/sda -partitions 1

输出:

RAW host disk access VMDK file win_hdd_raw.vmdk created successfully.

运行命令时创建2个文件createrawvmdk

# ls -la win_hdd_raw*

-rw------- 1 cx cx 161280 Nov 23 00:37 win_hdd_raw-pt.vmdk
-rw------- 1 cx cx    929 Nov 23 00:37 win_hdd_raw.vmdk

加载到 VBox 中,使用我看到的文件win_hdd_raw.vmdk

在此处输入图片描述

然后启动它,保留所有设置作为默认设置,我收到以下错误:

在此处输入图片描述

此错误被诊断为来自评论部分的某人我发布的另一个问题

在评论部分: @塞思解决的原因是整个硬盘都在被使用,因此 VBox 尝试加载 grub(我的引导加载程序),这导致了我上面指定的错误。

信息:

VBoxManage internalcommands listpartitions -rawdisk /dev/sda

VBox 分区:

Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x07  0   /32 /33  1023/254/63        235520         2048
2       0x83  1023/254/63  1023/254/63          1024    482347008
5       0x83  1023/254/63  1023/254/63        173595    484446208
6       0x83  1023/254/63  1023/254/63         32580    839970816
7       0x83  1023/254/63  1023/254/63         14760    906696704
8       0x83  1023/254/63  1023/254/63         15360    936927232
4       0x82  1023/254/63  1023/254/63          4096    968384512

fdisk 输出

fdisk -l

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 482347007 482344960   230G  7 HPFS/NTFS/exFAT
/dev/sda2       482347008 484444159   2097152     1G 83 Linux
/dev/sda3       484444160 968384511 483940352 230.8G  5 Extended
/dev/sda4       968384512 976773119   8388608     4G 82 Linux swap / Solaris
/dev/sda5       484446208 839968767 355522560 169.5G 83 Linux
/dev/sda6       839970816 906694655  66723840  31.8G 83 Linux
/dev/sda7       906696704 936925183  30228480  14.4G 83 Linux
/dev/sda8       936927232 968384511  31457280    15G 83 Linux

从以上信息可以看出,分区“1”指的是 NTFS 类型的 230Gb 分区,这是我的 Windows 分区。

我不知道自己是否犯了错误,也不知道哪里犯了错误,

有什么建议么?

@alinourzad回答后更新

启用 EFI(特殊操作系统) -已启用

运行虚拟机,我得到:

在此处输入图片描述

这与我在@Seth 评论的帖子中遇到的问题相同/类似

答案1

我倾向于-partitions彻底废除该旗帜-rawdisk /dev/sda**1**并看看会发生什么。

一种解决方法是dd if=/dev/sda1 of=~/Desktop/win_nt.img使用您选择的工具将 .img 转换为 .cow 或 .vmdk

相关内容