在Macs内部驱动器上创建一个MS-DOS(FAT)格式的分区。这是Windows 7的安装位置。您可以使用训练营助理,磁盘工具或命令(distutil
,gpt
和/或fdisk
)在终端窗口中输入。gdisk
也可以使用其他第三方工具,例如。给该分区的标签命名为“ BOOTCAMP”。完成后,退出所有应用程序。
此过程要求“ BOOTCAMP”分区是Mac内部驱动器(disk0)上的第4个分区。如果您使用的是OS X 10.7或更高版本的Disk Utility,并且Mac具有默认的驱动器配置,则应将新的“ BOOTCAMP”分区自动创建为第4个分区。但是,如果您使用的是APFS和默认驱动器配置,则应将新的“ BOOTCAMP”分区自动创建为第3个分区。
确保驱动器正在使用GPT / MBR混合分区方案。有关完成此任务的过程,请参阅我对问题“ 如何在使用High Sierra(macOS 10.13.2)时将驱动器从GPT格式转换为GPT / MBR混合格式 ”的回答。
用户Semi注意到,Boot Camp助理(BCA)将正确地对驱动器进行GPT / MBR混合分区。因此,您可能可以BCA对驱动器进行分区,然后使用闪存驱动器安装Windows。
下载并安装VirtualBox的免费副本。我使用VirtualBox 5.0.14 r105127,版权所有©2016。
执行以下操作,将“ Boot Camp支持软件”传输到与VirtualBox兼容的分区。在文档文件夹中创建名为“ VirtualBox”的文件夹。打开“磁盘工具”,然后从菜单栏中选择“ 文件”->“新建”->“空白磁盘映像”。使用以下参数在“ VirtualBox”文件夹中创建此映像。
使用Finder应用程序,将“ Boot Camp支持软件”复制到此新分区。完成后,此新分区应出现在Finder中,如下所示。(对于使用旧版Mac的读者,您可能仅具有“ BootCamp”文件夹。)
此步骤将创建VirtualBox访问包含“ Boot Camp支持软件”的分区所需的文件。在“终端应用程序”窗口中,输入以下命令。
注意:我假设您正在使用默认的Bourne-Again Shell(bash)。
cd ~/documents/virtualbox
open bcss.dmg
DISK1=$(mount|awk -F s1 '/BCSS/{print$1}')
diskutil unmountDisk $DISK1
vboxmanage internalcommands createrawvmdk -filename "$PWD/bcss.vmdk" -rawdisk $DISK1
结果应该是bcss.vmdk
在“ VirtualBox”文件夹中创建文件。稍后,您将选择此文件以授予虚拟机对此分区的访问权限。
注意:在这一点上,应该意识到从该文档复制命令并将它们粘贴到终端应用程序窗口中会更加容易。
此步骤将创建VirtualBox访问安装Windows的物理分区所需的文件。在“终端应用程序”窗口中,输入以下命令。
cd ~/documents/virtualbox
DISK0=/dev/disk0
PARTITION=4
PARTID="$DISK0"s"$PARTITION"
diskutil unmount $PARTID
sudo chmod go+rw $PARTID
sudo vboxmanage internalcommands createrawvmdk -filename "$PWD/bootcamp.vmdk" -rawdisk $DISK0 -partitions $PARTITION
sudo chown $USER bootcamp*.vmdk
注意:该chmod
命令授予的访问权限将仅持续到重新启动OS X为止。
结果应该是文件的创建bootcamp.vmdk
,并
bootcamp-pt.vmdk
在你的“VirtualBox的”文件夹中。稍后,您将选择文件bootcamp.vmdk
以授予虚拟机访问物理分区的权限。
注意:OS X倾向于自动挂载文件系统。通过创建或修改/etc/fstab
文件,可以为特定分区禁用此功能。/etc/fstab
要求用户重复输入以下命令,而不是使用文件。
diskutil unmount $PARTID;diskutil unmountDisk $DISK1
这些命令卸载物理“ BOOTCAMP”分区和bcss.dmg
包含“ BCSS”分区的磁盘映像文件。
配置虚拟机。打开VirtualBox应用程序,然后单击“新建”标签上方的图标。输入或选择下面显示的值,然后单击“继续”按钮。
使用除硬盘驱动器以外的默认设置。选择“使用现有的虚拟硬盘驱动器文件”按钮。导航到“ VirtualBox”文件夹。突出显示该bootcamp.vmdk
文件。在单击“打开”按钮之前,请在同一终端应用程序窗口中输入以下命令。
diskutil unmount $PARTID;diskutil unmountDisk $DISK1
打开bootcamp.vmdk
文件。您的窗口应类似于下图所示。
点击“创建”按钮。
返回到VirtualBox应用程序的“ Oracle VM VirtualBox Manager”窗口后,单击“设置”标签上方的图标。接下来,单击“存储”标签上方的图标。在“存储树”中,应突出显示“控制器:SATA”。右键单击该突出显示的区域,然后选择“添加硬盘”。选择“使用现有的虚拟硬盘驱动器文件”按钮。导航到“ VirtualBox”文件夹。突出显示该bcss.vmdk
文件。在单击“打开”按钮之前,请在同一终端应用程序窗口中输入以下命令。
diskutil unmount $PARTID;diskutil unmountDisk $DISK1
打开bcss.vmdk
文件。接下来,选择“使用主机I / O缓存”选项。您的窗口应类似于下图所示。
突出显示“空CD / DVD”,然后选择“选择虚拟光盘文件...”以附加Windows 7 iso文件。(提示:查找CD / DVD图标)
单击“确定”关闭窗口。您的“ Oracle VM VirtualBox Manager”窗口应类似于下面所示。
在此步骤中,您将必要的文件复制到物理分区,以便稍后可以重新启动Mac并安装Windows。在同一终端应用程序窗口中输入以下命令。
diskutil unmount $PARTID;diskutil unmountDisk $DISK1
接下来,单击“开始”标签上方的图标以从Windows 7 iso文件启动。按空格键,如果系统提示您“按任意键从CD或DVD引导”。
注意:在按下空格键之前,鼠标指针必须在虚拟机屏幕窗口上方。
出现以下显示时,单击“下一步”按钮。
出现以下显示时,选择“修复计算机”。
带有按钮“使用可帮助修复Windows启动问题的恢复工具”。选中,单击下一步按钮。
选择“命令提示符”选项。
通过输入以下命令,确保默认情况下未将驱动器号C
直通F
分配给卷。
mountvol c: /d >nul
mountvol d: /d >nul
mountvol e: /d >nul
mountvol f: /d >nul
输入以下内容以确定当前卷的列表。
diskpart
list volume
下图显示了在Mac上找到的卷。您可能会得到不同的结果。
输入以下命令,来分配驱动器号D
,C
并E
标有“BOOTCAMP”和“BCSS”,分别是CD-ROM卷和卷。在上图中,这些是卷0、3和4。如果卷索引不同,请进行适当的替换。同样,NTFS格式化“ BOOTCAMP”卷。
select volume 3
assign letter=c
format quick fs=ntfs label=BOOTCAMP
select volume 0
assign letter=d
select volume 4
assign letter=e
list volume
exit
完成后,音量字母应类似于下图所示。
接下来,输入以下命令。该bootsect
命令将启动代码写入分区的卷启动记录(VBR)和相应驱动器的主启动记录(MBR)。
bootsect /nt60 c: /mbr
bootsect /nt60 e: /mbr
下一个命令序列将创建一个虚拟硬盘(VHD)文件。VHD代表一个虚拟闪存驱动器,Windows将从该虚拟闪存驱动器安装到物理“ BOOTCAMP”分区。
注意:如果要安装Windows 10 ,则应将如下所示fs=fat32
的format
命令中的参数替换为fs=ntfs
。
diskpart
create vdisk file=c:\flashdrive.vhd maximum=8000 type=fixed
attach vdisk
create partition primary
format quick fs=fat32 label=FLASHDRIVE
assign letter=f
exit
最后,首先将Windows安装程序iso和“ Boot Camp支持软件”文件复制到VHD,然后直接复制到要安装Windows的物理分区。完成后退出命令提示符窗口。
xcopy d:* f: /s /h
xcopy e:* f: /s /y
xcopy f:* c: /s /h
exit
注:文件\sources\boot.wim
和\sources\install.wim
需要很长的时间进行复制。文件大小分别为168 MB和2.95 GB。
选择“关闭”按钮以关闭虚拟机。退出VirtualBox应用程序。
此步骤将涉及配置物理内部驱动器的主启动记录(MBR)。MBR存储在该驱动器的前512个字节中。引导代码和MBR分区表共享该空间。
在打开了系统完整性保护(SIP)的OS X 10.11(El Capitan)下无法执行此步骤。(这是默认设置。)如果使用OS X 10.11,则必须禁用SIP,完成此步骤,然后还原SIP。请参阅链接:如何在El Capitan的OS X 10.11上禁用“无根”系统完整性保护(SIP)AKA?。
在“终端应用程序”窗口中,输入以下命令。第一条fdisk
命令将“ BOOTCAMP”分区标记为活动分区。第二条fdisk
命令将“ BOOTCAMP”分区ID更改为7。最后一条fdisk
命令将引导代码从包含“ Boot Camp支持软件”分区的磁盘的MBR复制到包含“ BOOTCAMP”分区的物理磁盘的MBR。
cd ~/documents/virtualbox
DISK0=/dev/disk0
PARTITION=4
PARTID="$DISK0"s"$PARTITION"
open bcss.dmg
DISK1=$(mount|awk -F s1 '/BCSS/{print$1}')
INPUT=$(printf "f $PARTITION\nq\ny")
sudo fdisk -e $DISK0 <<<"$INPUT" &>/dev/null
INPUT=$(printf "s $PARTITION\n7\nq\ny")
sudo fdisk -e $DISK0 <<<"$INPUT" &>/dev/null
sudo fdisk -u -y -f $DISK1 $DISK0
diskutil mount $PARTID
注意:要显示变量INPUT的值,请使用命令echo "$INPUT"
。
这是将Windows安装到“ BOOTCAMP”分区的步骤。重新启动Mac并按住option/alt
键。选择Windows图标以从“ BOOTCAMP”分区启动。通过像在步骤7中一样导航浏览显示内容,从而打开“命令提示符”窗口。输入以下命令以附加存储在虚拟硬盘(VHD)文件中的“ FLASHDRIVE”分区。
diskpart
select vdisk file=c:\flashdrive.vhd
attach vdisk readonly
list volume
exit
在我的Mac上,list volume
命令的输出显示E
为分配给“ FLASHDRIVE”分区的驱动器号。如果您的驱动器号不同,则输入e:\setup
此步骤末尾给出的命令时,请进行正确的替换。接下来,从“ BOOTCAMP”分区中删除所有文件,但删除一个。
rmdir /s /q c:\
如果上面的命令正确执行,您应该收到错误消息:“ c:\ flashdrive.vhd-该进程无法访问该文件,因为该文件正在被另一个进程使用。”
通过输入以下命令开始安装Windows 7。选择“ BOOTCAMP”作为您的安装分区。
e:\setup
安装文件存储在“ FLASHDRIVE”分区中。由于此分区作为VHD文件存储在“ BOOTCAMP”分区中,因此请勿尝试重新格式化“ BOOTCAMP”分区。您将在以后的步骤中删除这些安装文件。Mac重新启动时,它将启动到OSX。这是可以预期的。从“系统偏好设置”中,选择Windows作为启动磁盘,然后重新启动Mac。Windows安装将继续。
Windows完成安装后,即可应用“ Boot Camp支持软件”。要访问此软件c:\flashdrive.vhd
,需要附加包含“ FLASHDRIVE”分区的文件。单击“开始”按钮,键入diskmgmt.msc
并按下
return键。进入“磁盘管理”后
,在菜单栏中单击“ 操作”,然后选择“ 附加VHD”。选择文件位置并选中“只读”以防止写入VHD文件。单击“确定”后,驱动器将在磁盘管理中显示带有蓝色图标。关闭磁盘管理。
在“自动播放”弹出窗口中,选择“打开文件夹以查看文件”。(如果没有弹出窗口,请使用Windows资源管理器打开标有“ FLASHDRIVE”的驱动器。)setup.exe
可以在标有“ BootCamp”的文件夹中找到该文件。执行此应用程序以安装“ Boot Camp支持软件”。重新启动计算机时,VHD文件将分离。
- 最后,删除DVD和“ Boot Camp支持软件”文件夹和文件。这可以通过将
c:\flashdrive.vhd
文件拖动到回收站来完成
。如果您收到有关文件打开的错误消息,请重新启动计算机,然后重试。