虚拟机安装win11与ubuntu引导相关问题

ubuntu引导修复

现在电脑一般支持 uefi 启动,但是仍然存在因为不小心没有开启相关开关,或者其他原因,导致根目录下没有对应的 /boot/efi 分区,对于有些电脑,可能是 /efi 分区,或者总总原因导致,此分区损害或者被删除

efi分区

正常情况下 uefi 启动的,电脑都会有这个分区,在windows系统中,使用 DG 等软件也可以看到,一般分区为 300M,很小,因为这里只需要一个目录

/EFI/BOOT/bootx64.efi

如果装了双系统,这里可能多几个文件夹,比如

/EFI/ubuntu/

这里会有几个类似 grubx64.efi grub.cfg 的文件,这几个文件说明一些启动配置

  • 对于windows如果这个分区被不小心删除了,用 微pe 等刻录u盘,里面有恢复的工具
  • 对于只安装了ubuntu等linux的,可以刻录ubuntu,u盘进入试用,可以进行相关操作

如果能进入grub

1
ls

看到

1
(hd0) (hd0,gpt9) (hd0,gpt8) (hd0,gpt7) (hd0,gpt6) (hd0,gpt5) (hd0,gpt2) (hd0,gpt1)

这个其实就是你的分区, (hd0),就是其中一硬盘,类之linux中看到的 /dev/sda,(hd0,gpt1)类似/dev/sda1

注意你应该知道你的 efi分区在那里,或者你自己一个个看

1
2
3
4
# 查看
ls
# 查看某个盘
ls (hd0,gpt1)/

我的分区规则是

  • / 单独 /dev/sda3
  • /boot 单独 /dev/sda2
  • /boot/efi 单独 /dev/sda1
  • /home 单独 /dev/sda4

所以

1
2
3
4
5
set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/grub
insmod normal
normal
# 即可启动,启动成功以后,更新一下grub的配文件

如果还不行,内核也自己设置一下,因为有时候是因为内核问题启动错误

1
2
3
linux /vmlinuz root=/dev/sda3
initrd /initrd.img
boot

这时候你应该进入系统了,更新一下efi配置

如果grub都进入错误,

一种,你可以用pe类u盘,用dg之类的软件,创建对应的efi启动条目,有的主板也带有,自己添加即可

但是,也可以自己手动引导,虚拟机安装win11就遇到这个问题了

注意提示,第一条应该是,输入

1
fs0:

回车,进入了efi分区,

1
cd EFI
  • 对于ubuntu,
1
cd ubuntu && ls

输入看到的类似 grubx64.efi 的文件名,回车,即可启动

  • 对于window11虚拟机
1
cd boot && ls

输入看到的类似 grubx64.efi 的文件名,回车,即可启动

windows11

虚拟机或者u盘安装时,windows11不符合要求,可以这样,目前测试可以正常更新,激活

按 Shift+F10组合键

1
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1
1
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /t REG_DWORD /d 1
1
REG ADD HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1

等同于

按 Shift+F10组合键,在弹出的命令窗口中输入regedit并回车,打开注册表编辑器。 导航至" HKEY_LOCAL_MACHINE",创建新项 “LabConfig”,并在此项内新建 BypassTPMCheck、BypassRAMCheck、BypassSecureBootCheck等三个DWORD (32位) 值,赋值均为1,如下图所示:

参考于

  • https://www.modb.pro/db/148405
  • https://blog.csdn.net/bealei/article/details/124270047

对于直接下载windows11的iso文件,在windows10上升级的

可以下载最新的 windows10 镜像,复制其中的 sources/appraiserres.dll 文件,懒得下载的可以试试我下载的这个文件/appraiserres.dll,解压windows11的镜像文件,并替换win11中的此文件

安装时,会提示不符合要求,点接受即可


本文作者:yuhldr
本文地址https://yuhldr.github.io/posts/67b80cff.html
版权声明:转载请注明出处!