Pet*_*tah 102 virtualbox operating-systems hard-drive virtualization virtual-machine
使用 Virtual Box,我如何将操作系统安装到辅助物理磁盘,并在(在不同时间)Virtual Box 和典型的辅助操作系统安装中引导它?
Яро*_*лин 141
当这个问题最初发布时,我做了一个自鸣得意的评论(“直截了当”),几个月后我发现自己在这个页面上寻找相同的答案
今天,我设法从物理驱动器启动。这个成就是必需的;
20 分钟在 VirtualBox 中尝试不同的选项
亲爱的读者,您的注意力集中在这样一个事实,即以这种方式访问光盘时,杀死您的数据同样直接。如何完成此操作的过程留作练习...

要创建代表整个物理硬盘的映像(其中不包含任何实际数据,因为这些数据都将存储在物理磁盘上),在 Linux 主机上,使用命令
VBoxManage internalcommands createrawvmdk \
-filename /path/to/file.vmdk \
-rawdisk /dev/sda
Run Code Online (Sandbox Code Playgroud)
您必须具有对物理磁盘设备文件的读取权限/dev/sda。为此,您可以更改设备文件的所有者和访问权限,或者VBoxManage internalcommands createrawvmdk以 root 身份运行……(放在sudo命令之前)。
在 Windows 主机上,使用例如 \\.\PhysicalDrive0 代替上述设备规范。在 Mac OS X 主机上,使用例如 /dev/disk1(并卸载 disk1 上的所有分区)。
(all on one line)
C:\VirtualBoxDrives>"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
internalcommands createrawvmdk
-filename C:\VirtualBoxDrives\raw-0.vmdk
-rawdisk \\.\PHYSICALDRIVE0
(output)
RAW host disk access VMDK file C:\VirtualBoxDrives\raw-0.vmdk created successf..
Run Code Online (Sandbox Code Playgroud)
虚拟机->设置->存储->添加ide/sata->选择现有磁盘->浏览

文件 -> 虚拟媒体管理器 -> 例如 raw-0.vmdk -> [修改] -> (o) 直写

VM -> 设置 -> 系统 -> 启动顺序
[./] Hard Disk
[./] CD/DVD
[ ] Floppy
[ ] Network
Run Code Online (Sandbox Code Playgroud)
VM -> Settings -> Storage -> Controller: SATA -> eg raw-5.vmdk -> Hard Disk: Sata Port 0
第 9 章高级主题
第 5 章虚拟存储
在 Windows 中枚举物理驱动器:
C:\Users\win7>wmic diskdrive list brief
Caption DeviceID Model Partitions Size
Samsung SSD 840 EVO 250GB ATA Device \\.\PHYSICALDRIVE3 Samsung SSD 840 EVO 250GB ATA Device 6 250057228288
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE1 ST1000DM003-1CH162 ATA Device 5 1000202273280
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE2 ST1000DM003-1CH162 ATA Device 5 1000202273280
ST1000DM003-1CH162 ATA Device \\.\PHYSICALDRIVE0 ST1000DM003-1CH162 ATA Device 5 1000202273280
WDC WD1000DHTZ-04N21V0 ATA Device \\.\PHYSICALDRIVE5 WDC WD1000DHTZ-04N21V0 ATA Device 6 1000202273280
WDC WD1000DHTZ-04N21V0 ATA Device \\.\PHYSICALDRIVE4 WDC WD1000DHTZ-04N21V0 ATA Device 5 1000202273280
ST1000DM 003-1CH162 SCSI Disk Device \\.\PHYSICALDRIVE6 ST1000DM 003-1CH162 SCSI Disk Device 5 1000202273280
Run Code Online (Sandbox Code Playgroud)
您还可以使用 PowerShell 获取驱动器编号:
PS C:\ Get-Disk
Run Code Online (Sandbox Code Playgroud)
trp*_*him 14
VirtualBox 文档是指访问原始硬盘:
http://www.virtualbox.org/manual/ch09.html#rawdisk
要创建代表整个物理硬盘的映像(其中不包含任何实际数据,因为这些数据都将存储在物理磁盘上),在 Linux 主机上,使用命令
Run Code Online (Sandbox Code Playgroud)VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda这将创建映像 /path/to/file.vmdk(必须是绝对的),所有数据将从 /dev/sda 读取和写入。
要为原始分区支持创建一个特殊的映像(将包含少量的数据,如前所述),在 Linux 主机上,使用命令
Run Code Online (Sandbox Code Playgroud)VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5VirtualBox 使用与 Linux 主机相同的分区编号。因此,上述示例中给出的数字将分别指代扩展分区中的第一个主分区和第一个逻辑驱动器。
有关注意事项和特定于 Windows 的说明,请参阅文档。
我很长时间都无法在 Windows 10 中使用此功能;VERR_ACCESS_DENIED我在尝试附加 VMDK 时不断收到错误消息。
然而,我(终于)能够通过一些技巧来实现这一点:
以管理员身份打开 PowerShell(我不知道为什么,但我无法让某些命令在管理员命令提示符下运行)
运行以下命令创建VMDK:
VBoxManage.exe internalcommands createrawvmdk \
-filename "path\to\physical\disk\file.vmdk" \
-rawdisk \\.\PhysicalDrive[n]
Run Code Online (Sandbox Code Playgroud)
...其中path\to\physical\disk\file.vmdk是要创建的代表磁盘的文件,[n]是磁盘编号(使用磁盘管理来获取该编号)
运行以下命令附加 VMDK:
VBoxManage.exe storageattach [VM NAME] \
--storagectl [CONTROLLER] \
--device 0 \
--port 0 \
--type hdd \
--medium "path\to\physical\disk\file.vmdk"
Run Code Online (Sandbox Code Playgroud)
...[CONTROLLER]您要连接的磁盘控制器的名称在哪里 - 在我的例子中为“IDE”
运行以下命令启动虚拟机:
VBoxManage.exe startvm [VM NAME]
Run Code Online (Sandbox Code Playgroud)小智 7
只想详细说明如何在 Windows 10 中执行此操作
我尝试在 macOS 上启动 Linux VM(特别是 Ubuntu 19.10),其中 Ubuntu 安装在物理 ext4 格式的分区上。我找到的许多答案,包括来自 @\xd0\xaf\xd1\x80\xd0\xbe\xd1\x81\xd0\xbb\xd0\xb0\xd0\xb2\xd0\xa0\xd0\xb0\xd1\ x85\xd0\xbc\xd0\xb0\xd1\x82\xd1\x83\xd0\xbb\xd0\xbb\xd0\xb8\xd0\xbd 大部分情况下都得到了我的帮助,但我不断收到以下错误消息:
\n\n\n\n\n致命:找不到可启动介质!系统停止。
\n
一个答案是引导到 LiveCD,然后更改 GRUB 配置来解决这个问题。然而,我的 Mac 上甚至没有安装 GRUB。最终,我发现我的情况的关键是确保虚拟机能够访问物理磁盘上的 EFI 分区,并在虚拟机设置中启用 EFI 支持。
\n\n\n\ndiskutil list以下是我的 Mac 主机的输出:
/dev/disk0 (internal, physical):\n #: TYPE NAME SIZE IDENTIFIER\n 0: GUID_partition_scheme *251.0 GB disk0\n 1: EFI NO NAME 536.9 MB disk0s1\n 2: Apple_HFS Macintosh HD 161.1 GB disk0s2\n 3: Microsoft Basic Data Development 9.1 GB disk0s3\n 4: Apple_HFS Recovery HD 650.0 MB disk0s4\n 5: Linux Filesystem 79.2 GB disk0s5\nRun Code Online (Sandbox Code Playgroud)\n\n由此,我生成了 VMDK 文件,如下所示,为来宾 VM 提供了对 EFI 分区的只读访问权限以及对 NTFS (3) 和 Ext4 (5) 分区的完全写入访问权限。
\n\nsudo VBoxManage internalcommands createrawvmdk -filename disk0.vmdk -rawdisk -partitions 1r,3,5\nRun Code Online (Sandbox Code Playgroud)\n\n现在我可以双启动 MacOS 或 Ubuntu,当已经在 MacOS 中时,如果需要,我可以将 Ubuntu 作为虚拟机启动。快乐的时光!
\n| 归档时间: |
|
| 查看次数: |
152633 次 |
| 最近记录: |