![虚拟盒创建一个分区的 vmdk 并创建整个硬盘的 vmdk](https://linux22.com/image/1513663/%E8%99%9A%E6%8B%9F%E7%9B%92%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%88%86%E5%8C%BA%E7%9A%84%20vmdk%20%E5%B9%B6%E5%88%9B%E5%BB%BA%E6%95%B4%E4%B8%AA%E7%A1%AC%E7%9B%98%E7%9A%84%20vmdk.png)
我正在尝试在磁盘 /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