无忧启动论坛

标题: 战胜windows霸权,从此自由选择系统 [打印本页]

作者: plutoshen    时间: 2024-5-16 15:54
标题: 战胜windows霸权,从此自由选择系统
本帖最后由 plutoshen 于 2024-5-16 16:41 编辑

微软越来越霸道了,根本不想让大家用其它家系统。我有很多系统,很少进Windows的,但是每进一次就会发现微软强行抢夺系统启动权,一旦重启就又进入Windows了,原来的启动管理器被挡住。

最近突发奇想,解决了本来是多系统但是只要进入一次Windows重启后就自动进入Windows无法进入原来的启动管理器这个让人恼火的问题。

具体办法是通过vhd来模拟esp分区,启动Windows以后这个分区就不存在了,Windows再怎样霸道也没办法抢夺启动权。

这么做需要在winpe下把自己ESP分区里的文件复制到一个新建的vhd文件里,再通过自己的启动管理器启动这个vhd即可。

为了简化操作,我已经把自己的文件打包出来,谁需要的话替换一下自己的BCD就能使用了。

1. 自己通过启动管理器引导到grubfmx64.efi文件管理器。




2. 浏览到模拟esp的vhd文件。



3. 选择map模式启动vhd文件。


4. 进入Windows系统。


注意我的BCD不一定适合你,如果启动不了请替换成你自己的。
还有一点忘了说,测试成功以后要删除ESP分区里的\EFI\Microsoft文件夹,这才是最终目的,既防止反弹又能减少杂乱无章的文件。

点击下载





作者: oar    时间: 2024-5-16 15:56
有意思,这个好
作者: plutoshen    时间: 2024-5-16 15:57
不知道有没有人发过,希望这个是最完美的解决方案。
作者: pbmmm    时间: 2024-5-16 16:05
感谢分享
作者: yc2428    时间: 2024-5-16 16:06
谢谢分享
作者: wjsk10    时间: 2024-5-16 16:09
谢谢分享
作者: huyz    时间: 2024-5-16 16:12
谢谢分享,这个很好意思。
作者: bsdgsos    时间: 2024-5-16 16:13
思路收藏
作者: zlq_hysy    时间: 2024-5-16 16:20
好,支持了
作者: 2012andyle113    时间: 2024-5-16 16:25
感觉有点扯,什么样的多系统进了一次win系统就变成默认进win了,这不应该是启动器的事情吗
作者: Bluebells    时间: 2024-5-16 16:29
不需要这么复杂,这种现象其实是 bcd 里的数据导致的
因此,只需要在 Windows 中用 bcdedit 调整一下 efi 启动条目的顺序即可
作者: plutoshen    时间: 2024-5-16 16:33
2012andyle113 发表于 2024-5-16 16:25
感觉有点扯,什么样的多系统进了一次win系统就变成默认进win了,这不应该是启动器的事情吗

我用各种efi文件的启动管理器,比如grub/xorboot/limine等,进入win10家庭版重启就变成win10第一顺序启动了。你如果是纯Windows用户就没有这个问题。
作者: plutoshen    时间: 2024-5-16 16:35
Bluebells 发表于 2024-5-16 16:29
不需要这么复杂,这种现象其实是 bcd 里的数据导致的
因此,只需要在 Windows 中用 bcdedit 调整一下 efi  ...

原来的方法都失效了,如果能简单一些我也不想麻烦。
作者: 心雨飞飞    时间: 2024-5-16 16:42
很好奇,不知道麻烦不,支持一下。
作者: Bluebells    时间: 2024-5-16 16:46
plutoshen 发表于 2024-5-16 16:35
原来的方法都失效了,如果能简单一些我也不想麻烦。

所以试试
bcdedit /set {fwbootmgr} displayorder {bootmgr} /addlast
作者: gander6    时间: 2024-5-16 16:50
打倒微软!打倒 windows !
作者: szwp    时间: 2024-5-16 16:56
俺不让生\EFI\Microsoft这个文件夹,加上万能BCD
作者: 假大空    时间: 2024-5-16 17:12
没看懂。不是替换bootmgrfw.efi就可以吗
作者: as8686886    时间: 2024-5-16 17:18
四叶草应该还行吧,之前玩黑苹果用过
作者: 进士小站    时间: 2024-5-16 17:26
感谢楼主分享
作者: qj_tzy    时间: 2024-5-16 17:39
szwp 发表于 2024-5-16 16:56
俺不让生\EFI\Microsoft这个文件夹,加上万能BCD

我在之前的一个帖子中,照你指点的方法,也删除了\efi\microsoft文件夹,而在\efi\win文件夹下,建立win7、win10、win11、winpe目录,在这些目录下拷入bootx64.efi和bcd文件,再用CLOVER或OC来引导3个win+1个winpe+2个linux(UOS+deep)+2个MAC系统。而CLOVER引导还可在引导界面有引导legacy的引导项进入grub4dos(legacy方式),可引导32位+64位win系统+linux系统等。不会出现楼主所说的一进入win就更改为windows bootmgr为第一引导顺序的问题。
作者: weikangqian    时间: 2024-5-16 17:42
帮顶一下
作者: yyz2191958    时间: 2024-5-16 17:54
谢谢分享
作者: WUMEIHAI    时间: 2024-5-16 17:57
softwarezheng:thanks you very  much
作者: wang1126    时间: 2024-5-16 18:30
谢谢分享
作者: d9o    时间: 2024-5-16 18:41
论坛置顶的xorboot就很完美,我生产应用很多年了,建议试用一下。
http://bbs.wuyou.net/forum.php?m ... 6orderby%3Ddateline
作者: 481416322    时间: 2024-5-16 19:01
真的不必要这么复杂,我的电脑一直在用grubfmx64.efi,用它替换了系统默认启动文件就可以了。
作者: 2011wolfsina    时间: 2024-5-16 19:36
的确弄得有点复杂
作者: sulong    时间: 2024-5-16 20:14
有时间了试试看,现在Windows都这么“霸道”了么
作者: wtow    时间: 2024-5-16 20:46
2012andyle113 发表于 2024-5-16 16:25
感觉有点扯,什么样的多系统进了一次win系统就变成默认进win了,这不应该是启动器的事情吗

是他自己不会弄,没听说自己会变的,就象苹果,你选择默认那个就个
作者: uo07s    时间: 2024-5-16 20:46
感觉稍微有点麻烦
作者: 深秋的落叶    时间: 2024-5-16 21:06
谢谢分享
作者: lanmeizhuangyua    时间: 2024-5-16 21:18
多谢楼主分享
作者: JOINT    时间: 2024-5-16 21:22
本帖最后由 JOINT 于 2024-5-16 21:30 编辑


太花哨了。删除一个bootmgfw.efi就解决的问题,弄成啥样了?
用VHD(ESP)引导win也算是神技了!



作者: plutoshen    时间: 2024-5-16 21:27
wtow 发表于 2024-5-16 20:46
是他自己不会弄,没听说自己会变的,就象苹果,你选择默认那个就个

你没见过没听过不等于没有。
作者: plutoshen    时间: 2024-5-16 21:31
JOINT 发表于 2024-5-16 21:22
太花哨了。删除一个bootmgfw.efi就解决的问题,弄成啥样了?

删掉或者改名是可以防止自动夺权,但是我这里再想进Windows就提示错误,只能用原来的文件名原来的文件才能正常启动。
作者: qwe    时间: 2024-5-16 21:44
谢谢分享
作者: Gzhq3721456    时间: 2024-5-16 22:28
学习了,还是不会。
作者: wn168cn@163.com    时间: 2024-5-16 23:44
谢谢分享
作者: 481416322    时间: 2024-5-17 04:51
支持探索,1次好的方案,如果有99次尝试,那就是值得的!
作者: hehuiying    时间: 2024-5-17 05:54
谢谢分享
作者: wanghh    时间: 2024-5-17 07:15
谢谢分享
作者: liuzhaoyzz    时间: 2024-5-17 07:21
一直都是美国优先,微软优先,他们都是霸权。

作者: plezhong    时间: 2024-5-17 07:54
听说到2025年win10系统也停止支持了,这简直就是一家独大啊。看后面国产华为系统能否超越。
作者: czg2008    时间: 2024-5-17 07:56
很新颖,不错啊,感谢
作者: dkzzlf    时间: 2024-5-17 08:05
进来学习一下
作者: nba136369    时间: 2024-5-17 08:06
谢谢分享
作者: yzw92    时间: 2024-5-17 08:11
感谢分享
作者: reninhouse    时间: 2024-5-17 08:25
感谢分享
作者: zynt1012    时间: 2024-5-17 08:29
学习一下实用干货
作者: 東咩    时间: 2024-5-17 08:33
虽然看不懂 但是感觉挺厉害的   
作者: 2010kingkang    时间: 2024-5-17 08:46
谢谢楼主分享
作者: x光人    时间: 2024-5-17 09:03
谢谢分享,这个很好意思。
作者: 2013ertert    时间: 2024-5-17 09:18
省心设计  感谢分享
作者: godsend    时间: 2024-5-17 09:20
哎,你文化不好呀,什么叫战胜windows霸权,你都比不上人家一根毛呢
作者: rgfwqx@163.com    时间: 2024-5-17 09:40
看看
作者: luoshui336    时间: 2024-5-17 09:42
感谢分享。
作者: hnol    时间: 2024-5-17 09:55
没看明白,所以再学习……
作者: iaanqrm    时间: 2024-5-17 10:07

作者: 邪    时间: 2024-5-17 10:48
是不是个例,我一直都多系统,也没出现强抢权限的事
作者: weikangqian    时间: 2024-5-17 10:58
帮顶一下
作者: zds1210    时间: 2024-5-17 11:09
Bluebells 发表于 2024-5-16 16:29
不需要这么复杂,这种现象其实是 bcd 里的数据导致的
因此,只需要在 Windows 中用 bcdedit 调整一下 efi  ...

用bootice编辑bcd文件不行嘛?
作者: 4424442    时间: 2024-5-17 11:15
多硬盘独立多系统,会不会更好
作者: Bluebells    时间: 2024-5-17 11:21
zds1210 发表于 2024-5-17 11:09
用bootice编辑bcd文件不行嘛?

应该不行,但注册表编辑器肯定能(要编辑的话,注意要提升相关特权
作者: Bluebells    时间: 2024-5-17 15:12
zds1210 发表于 2024-5-17 11:09
用bootice编辑bcd文件不行嘛?

给张截图你研究研究



作者: fegr    时间: 2024-5-17 15:16
感谢分享
作者: hlowld    时间: 2024-5-17 16:02
本帖最后由 hlowld 于 2024-5-17 16:09 编辑

我理解楼主的意思是,在UEFI启动序列里,希望用自己喜欢的启动器(例如grub/refind等),但windows系统有时会强行把UEFI启动序列改为ESP下 EFI\Microsoft\Boot\bootmgfw.efi

我也遇到过相同问题,我希望UEFI序列里默认执行grub4dos UEFI,在menu.lst里写几个引导项,例如
bootmgfw.efi(defaut)
WePE_64_V2.3.iso
ventoy.vhd
...
这样就很灵活,想进什么进什么,当然如果最常用windows,就默认进bootmgfw.efi

我的办法是:将微软原版bootmgfw.efi改名为bootmgfw.efi1,用grub4dos UEFI的BOOTX64.EFI替换bootmgfw.efi

但我经常安装windows系统到vhdx文件里,不管你用什么工具来安装(例如winntsetup/dism/dism++/wimlib-imagex),文件释放后,调用bcdboot添加启动项到BCD是最简单的,但bcdboot会做两个事情,一是将新系统添加到BCD启动项,二是用新系统\windows\boot\EFI\下的bootmgfw.efi及其对应的mui文件替换ESP下 EFI\Microsoft\Boot\bootmgfw.efi,这就让我的办法失效了。

解决办法也很简单,安装系统时,重启前,重新用grub4dos UEFI的BOOTX64.EFI替换bootmgfw.efi即可。
当然,搞多了就写成批处理了,分享一下我安装系统的批处理供参考
@ECHO OFF & PUSHD "%~DP0" & setlocal ENABLEDELAYEDEXPANSION
fltmc>nul||mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close)&&exit
if exist Z:  echo Z盘已存在,请先弹出 Z 盘 & pause & goto end
set "dir=\\?\globalroot\Device\HarddiskVolume2\"
:want_lbl
set "lbl=" & set /p lbl=请输入系统标识(例如 Win11pro):
if "%lbl%" == "" goto want_lbl

set "file=%lbl%.vhdx"
if exist "%dir%%file%" ( echo 该标识已被占用,请重新输入 & goto want_lbl )

echo 即将创建并挂载 "%dir%%file%" 为 Z 盘
pause
echo.
(
echo create vdisk file="%dir%%file%" maximum=40960 type=expandable
echo select vdisk file="%dir%%file%"
echo attach vdisk
echo convert gpt
echo create partition primary
timeout /t 1 /nobreak
echo assign letter=Z
echo format fs=ntfs quick label="%lbl%"
) | diskpart >nul || (echo 创建挂载VHD失败 & goto end)
echo 已成功创建并挂载 "%dir%%file%" 为 Z 盘,请在WinNTSetup中选择正确的 “操作系统版本”
pause
"%~dp0winntsetup_x64.exe" nt6 /tempdrive:Z: /compact:xpress4k /regTweaks:win11 /noBootSect /bcd:UEFI /timeout:2 /setup /silent || (echo WinNTSetup 执行失败 & goto end)
call :activate_grub
echo 完成
:end
pause & exit

:activate_grub
for /f "delims=" %%i in ('powershell -Command "Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty BootDevice"') do set "BootDevice=%%i"
copy "\\?\GLOBALROOT%BootDevice%\EFI\grub\bootx64.efi" "\\?\GLOBALROOT%BootDevice%\EFI\microsoft\boot\bootmgfw.efi" /y
goto :eof

作者: shenglan158    时间: 2024-5-17 16:26
有时也用VEKET系统,但还是WINDONWS系统更加方便一些,虽然不用,感谢分享并提供思路。学习ING。
作者: szwp    时间: 2024-5-17 16:30
qj_tzy 发表于 2024-5-16 17:39
我在之前的一个帖子中,照你指点的方法,也删除了\efi\microsoft文件夹,而在\efi\win文件夹下,建立win7 ...

是不是曾经将引导文件放入一个img来安装过系统?
作者: qj_tzy    时间: 2024-5-17 16:57
szwp 发表于 2024-5-17 16:30
是不是曾经将引导文件放入一个img来安装过系统?

是以下这个帖子:
http://bbs.wuyou.net/forum.php?m ... d=437260&extra=
作者: temp2005    时间: 2024-5-17 17:05
win还是主流
作者: lyddd    时间: 2024-5-17 21:59
感谢分享
作者: plutoshen    时间: 2024-5-17 22:08
godsend 发表于 2024-5-17 09:20
哎,你文化不好呀,什么叫战胜windows霸权,你都比不上人家一根毛呢

你比不上人家一个屁。
作者: 2267981144    时间: 2024-5-18 12:09
感谢提供分享!
作者: Tatsumki    时间: 2024-5-18 12:23
谢谢分享
作者: xianglang    时间: 2024-5-18 12:34
安装好 Windows 系统后,从来没有试过 Windows 系统会自动改启动项的。

作者: plutoshen    时间: 2024-5-19 12:53
xianglang 发表于 2024-5-18 12:34
安装好 Windows 系统后,从来没有试过 Windows 系统会自动改启动项的。

我的机器是2019年华为笔记本,硬盘NVME+UEFI+GPT,随机装的win10家庭版,目前ESP分区被我格式化过无数遍,使用grub2作为启动管理器。您可能没遇到类似的硬件,否则不可能没见过win10抢班夺权的现象。
作者: favospace    时间: 2024-5-19 13:01
楼主的电脑有问题,用过100++的电脑都像这样,一般是设置的问题
作者: plutoshen    时间: 2024-5-19 13:05
favospace 发表于 2024-5-19 13:01
楼主的电脑有问题,用过100++的电脑都像这样,一般是设置的问题

那你说说是什么问题?自己没见过就肯定别人有问题?盲目自信只能说明井底之蛙没见过广阔天地。
作者: gander6    时间: 2024-5-19 13:18
windows独霸天下久矣,但人家靠的是技术,而不是靠着行政手段。不是吗?
作者: boaz199    时间: 2024-5-19 18:02
頂,謝謝樓主的勞動和分享!數據會記錄每個信息對網絡的奉獻!
作者: xianglang    时间: 2024-5-19 20:03
plutoshen 发表于 2024-5-19 12:53
我的机器是2019年华为笔记本,硬盘NVME+UEFI+GPT,随机装的win10家庭版,目前ESP分区被我格式化过无数遍 ...

只要启动电脑时,用作启动的硬盘没拔下来过,里面的启动项,就不会改变。如果拔下那个启动硬盘启动过电脑,再插上去就会改变启动项。如果存在 Windows 的启动项,会优先启动它,不知道是 BIOS/UEFI 本身设置还是 Windows 的问题——不过我想,大多是 BIOS/UEFI 本身设置的优先级别,毕竟绝大部分电脑安装的是 Windows 系统。

作者: meego    时间: 2024-5-19 20:11
Windows市场太大了
作者: favospace    时间: 2024-5-19 21:17
本帖最后由 favospace 于 2024-5-19 21:19 编辑
plutoshen 发表于 2024-5-19 13:05
那你说说是什么问题?自己没见过就肯定别人有问题?盲目自信只能说明井底之蛙没见过广阔天地。

你那确实是电脑问题,遇到过,bios里的强制项,解除就好了,有些解不了,bios都集成了微软的数字签名,不说多了,又不是我用
作者: 2010laodu    时间: 2024-5-19 21:22
感谢分享
作者: zhyk70    时间: 2024-5-20 16:15
我一般使用refind,一直是双启动
作者: jethroho    时间: 2024-5-20 22:25
~~感谢楼主分享~~
作者: myes001    时间: 2024-5-20 22:45
有创意,轻松摆脱烦恼
作者: for2008    时间: 2024-5-20 23:15
替换系统很容易,但生态呢?浏览器和文档等轻办公类的已经可以替换,但到工业设计相关领域,还有很长的路。
作者: szwp    时间: 2024-5-21 08:05
qj_tzy 发表于 2024-5-17 16:57
是以下这个帖子:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=437260&extra=

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378446
俺指的是这个贴里的winnt6.ima,还在不,可以搞个通用的ima出来。
作者: 415762674    时间: 2024-5-21 10:22
我是删除EFI下的Microsoft文件夹就没有这个问题。微软势大,通用X86计算机哪家敢不兼容不优先适配?不过对于普通用户也并非坏事,提升了易用性和兼容性。
作者: 2694750838    时间: 2024-5-21 17:53

感谢分享
作者: Tatsumki    时间: 2024-5-21 18:09

感谢分享
作者: zengxibiao    时间: 2024-5-22 16:38
还有这样的骚操作,对LZ的敬佩之情如滔滔江水
作者: 3786297    时间: 2024-5-23 00:26

有意思,这个好
作者: myie33    时间: 2024-5-23 07:54
你真好可怜,饱受windows的霸凌使你痛不欲生,最终不得不选择了穿了马甲的linux系统。
作者: 老只牛    时间: 2024-5-23 08:57
好像没有这回事吧,看安装顺序,默认都是后面安装系统优先引导。比如原来win系统,后面安装了国产系统。都是国产系统启动,如需win启动都是手动选或进去国产系统修改引导顺序。
作者: xxwzdc    时间: 2024-5-23 08:57
楼主技术高超,不错
作者: plutoshen    时间: 2024-5-23 12:30
老只牛 发表于 2024-5-23 08:57
好像没有这回事吧,看安装顺序,默认都是后面安装系统优先引导。比如原来win系统,后面安装了国产系统。都 ...

你以为一个一个安装那叫多系统?还好你知道国产系统,不然是不是以为装个win10再装个win11就是多系统?自己不理解的事情就不要评论。
作者: 老只牛    时间: 2024-5-23 14:52
plutoshen 发表于 2024-5-23 12:30
你以为一个一个安装那叫多系统?还好你知道国产系统,不然是不是以为装个win10再装个win11就是多系统?自 ...

服了,系统不是一个个安装好?再通过工具弄成。。。或者找现成的弄到自己的硬盘上。通过工具加载引导。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3