本文共 4248 字,大约阅读时间需要 14 分钟。
看文章前啥都别说,先一起大喊: 巨硬,巨硬,真**的硬!
本文同步发在我的Github Blog上
锦心的电脑上已经安装了Windows 10 [1st], Ubnntu[2nd], Phoenix OS[3rd], 突发奇想决定安装一个VHD Windows8.1,本文纯属记录如何用VHD安装Windows以及拿Grub引导两个Windows系统的过程以及巨硬留下的天坑。
教程同样适用于只有单系统的情况。
数据无价,谨慎操作
材料准备
(标*的是必须准备的)
- [*] Windows 8或更高版本(得有挂载VHD和ISO的功能)
- [*] Windows 8.1 ISO文件 (或光盘)
- Linux系统如Ubuntu
- GParted(Linux软件)
VHD 安装 Windows 8.1
创建VHD
打开Powershell(管理员),键入diskpart命令进入diskpart:
PS C:WINDOWSsystem32> diskpart
使用cre
命令创建一个vhd文件,名称自选 其中,maximum是vhd的大小(单位:MB)。创建后VHD为固定大小,因此用时较久
DISKPART> cre vdi file="D:vhdswin8.vhd" maximum=51200 100 百分比已完成DiskPart 已成功创建虚拟磁盘文件。
连接虚拟磁盘文件,格式化,并分配驱动器号。
DISKPART> attachMicrosoft DiskPart 版本 10.0.18362.1VDISK - 连接虚拟磁盘文件。DISKPART> attach vdi 100 百分比已完成DiskPart 已成功连接虚拟磁盘文件。DISKPART> cre par priDiskPart 成功地创建了指定分区。DISKPART> for quick fs=ntfs 100 百分比已完成DiskPart 成功格式化该卷。DISKPART> assDiskPart 成功地分配了驱动器号或装载点。DISKPART> exit退出 DiskPart...
安装Windows 8.1
首先把你的Windows安装ISO挂载。如果你是Win8以上直接双击即可。
这里ISO被挂载在了E盘。PS C:WINDOWSsystem32>E:PS E:> cd sources
使用dism获取install.wim的信息
PS E:sources> dism /get-wiminfo /wimfile:install.wim部署映像服务和管理工具版本: 10.0.18362.900映像的详细信息: install.wim索引: 1名称: Windows 8.1 专业版描述: Windows 8.1 专业版大小: 12,855,928,858 个字节操作成功完成。
安装Windows 8.1 其中applydir是你的VHD挂载的盘符(这里是F), index是你要安装的系统所处于install.wim的索引。
PS E:sources> dism /apply-image /imagefile:install.wim /index:1 /applydir:F:部署映像服务和管理工具版本: 10.0.18362.900正在应用映像[==========================100.0%==========================]操作成功完成。
等待,完成后,键入:
PS E:sources> bcdboot f:windows -l zh-cn已成功创建启动文件
到此,Windows下的双系统安装宣告完毕,可以重启进入Windows8进行安装了。
注意bcdboot会默认把Windows 8.1作为默认系统,完成安装步骤时还好,要是对此不满了,请win
+R
运行msconfig
把默认OS变为Windows 10
如果看到这里的你没有安装Linux系统,可以直接关闭网页走入了。
Linux修复引导
嗯,在此之前的微软还是那个体贴的微软,安装非常方便,然而要是你安装了Linux,巨硬的硬才刚刚开始
重启,熟悉的Windows启动画面出现……Grub引导又没了。
恢复Grub引导
巨硬:用了我家的Windows你就是我家的人了,必须得用Windows Boot Manager启动,Grub滚远点!
进入BIOS,改启动顺序,把Windows Boot Manager调到后面,把ubuntu的Grub改回前面。重启,出现Grub引导界面,OK。
要是没有……请自行百度“ubuntu引导修复”
优化Windows Boot Manager
现在出现了一个问题:你用上了Grub,Grub里只有一个Windows Boot Manager, 巨硬又非常贴心地在Windows Boot Manager里自动启动默认系统,启动第二系统需要重启:于是你想启动被放置在非默认系统位置的Windows 8.1需要:
开机 -> Grub选Windows Boot Manager -> 启动默认系统后选择启动Windows 8.1 -> 重启- > Grub再选Windows Boot Manager
我就想开个机您整出3遍选择菜单也太过分了吧?
分离bootmgfw
(以下步骤请确保已经安装完成Windows 8.1)
进入Ubuntu
开启GParted,随意分一个大小260MiB(和你原有的EFI分区一样大就好),格式化为fat32,右键点击管理标识为boot
这里锦心原有的EFI分区为/dev/sda1
,新的分区为/dev/sda7
,lhcfl是锦心的linux用户名,请自行替换
挂载EFI分区和你的新分区EFI2:
lhcfl@lhcfl-Ubuntu-PC:~$ sudo mkdir /media/lhcfl/EFIlhcfl@lhcfl-Ubuntu-PC:~$ sudo mkdir /media/lhcfl/EFI2lhcfl@lhcfl-Ubuntu-PC:~$ sudo mount /dev/sda1 /media/lhcfl/EFIlhcfl@lhcfl-Ubuntu-PC:~$ sudo mount /dev/sda7 /media/lhcfl/EFI2
把EFI分区里的EFI/Microsoft/Boot
文件夹保留原格式整个复制到EFI2里。
lhcfl@lhcfl-Ubuntu-PC:~$ sudo mkdir /media/lhcfl/EFI2/EFIlhcfl@lhcfl-Ubuntu-PC:~$ sudo mkdir /media/lhcfl/EFI2/EFI/Microsoftlhcfl@lhcfl-Ubuntu-PC:~$ sudo cp -r /media/lhcfl/EFI/EFI/Microsoft/Boot /media/lhcfl/EFI2/EFI/Microsoft/Boot
现在你拥有了两份Windows Boot Manager
更改grub
首先,umonut掉两个EFI分区
lhcfl@lhcfl-Ubuntu-PC:~$ sudo umount /dev/sda1lhcfl@lhcfl-Ubuntu-PC:~$ sudo umount /dev/sda7
然后,更新grub
lhcfl@lhcfl-Ubuntu-PC:~$ sudo update-grub
不出所料的话,你将拥有两个Windows Boot Manager:
Windows Boot Manager (on /dev/sda1)Windows Boot Manager (on /dev/sda7)
在/boot/grub/grub.cfg里,找到形如这样的内容:
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-48AC-0E64' { insmod part_gpt insmod fat set root='hd0,gpt1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 48AC-0E64 else search --no-floppy --fs-uuid --set=root 48AC-0E64 fi chainloader /EFI/Microsoft/Boot/bootmgfw.efi}
使用sudo身份强制编辑,把两个Windows Boot Manager换成你想要的名字,如
Windows 10Windows 8.1 (VHD)
重启,进入Grub界面,进入你的主Windows系统
win
+R
运行msconfig
,在OS中删掉另一个系统。关机。
巨硬这时候就体现了她·无·微·不·至·的关怀,如果你直接重启,恭喜你grub又没了……
进BIOS把被巨硬放上第一的Windows Boot Manager调到下面。重启。进入另一个系统。
对于下面所有的操作,进入的时候记得时刻关注可能弹出的"即将进行磁盘扫描,x秒内按任意键取消",并以你最快的速度按任意键取消掉。
你可能因为巨硬的关·怀而多次进入错误的系统,请关机然后进BIOS把不听话的Windows Boot Manager调下去。总之,进入Windows 10就把Windows 8.1的启动项删掉,进入Windows 8.1就把Windows 10的启动项删掉。如果误删了,用bcdboot把引导重建。然后……总是可以调好的……
后继
秀一波我的桌面
Windows 8.1
Windows 7
Ubuntu 20.04
Phoenix OS
Windows XP
装巨硬的系统总是让我有种不知道是在装巨硬的系统还是被巨硬的系统装的感觉……
转载地址:https://blog.csdn.net/weixin_40006779/article/details/109961900 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!