无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 15888|回复: 71
打印 上一主题 下一主题

[求助] 【已解决】当从U盘efi启动时可不可以有菜单能转到启动硬盘系统?

  [复制链接]
跳转到指定楼层
1#
发表于 2017-6-10 18:59:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2011qt 于 2017-6-12 21:05 编辑

很多主板默认uefi优先引导,U盘插上就从U盘的efi分区启动,然后直接进pe了,
我的想法是能不能有办法从U盘efi启动后可以默认从硬盘系统启动。


在各位热心帮助下,已找到完美方法,感谢各位!!
感谢Pauly的辛苦付出:Pauly大大的  XORBOOT(Uefi 版)
一点点小瑕疵:loading files...... 不能为显示为中文了。



经测试也不怎么完美,有些电脑没法引导XORBOOT(Uefi 版)里导出的efi文件,如果为此还要改主板设置就有点多此一举了。
2#
发表于 2017-6-10 19:08:43 来自手机 | 只看该作者
听不懂你的意思。

点评

U盘装完系统重启后,默认从U盘efi分区启动又进pe了,人不在电脑边就比较麻烦  详情 回复 发表于 2017-6-10 19:14
回复

使用道具 举报

3#
 楼主| 发表于 2017-6-10 19:14:49 | 只看该作者
窄口牛 发表于 2017-6-10 19:08
听不懂你的意思。

U盘装完系统重启后,默认从U盘efi分区启动又进pe了,人不在电脑边就比较麻烦
回复

使用道具 举报

4#
发表于 2017-6-10 19:36:57 | 只看该作者
改 [bcd 或 Grub.CFG 或 refind.conf...] 裡面默认从硬盘某分區启动

点评

能适合不同的电脑吗?  详情 回复 发表于 2017-6-10 19:38
回复

使用道具 举报

5#
 楼主| 发表于 2017-6-10 19:38:19 | 只看该作者
parsons 发表于 2017-6-10 19:36
改  裡面默认从硬盘某分區启动

能适合不同的电脑吗?

点评

适合不同的电脑 但是不同的电脑可能需設定默认从U盘efi启动  详情 回复 发表于 2017-6-10 19:56
回复

使用道具 举报

6#
 楼主| 发表于 2017-6-10 19:42:41 | 只看该作者
有个法子,可以在装完系统后把系统分区添加进U盘efi里的BCD菜单并设为默认,但这样每次装完系统就会写入U盘一次,感觉不太好
回复

使用道具 举报

7#
发表于 2017-6-10 19:53:52 | 只看该作者

点评

谢谢,我试试  详情 回复 发表于 2017-6-10 19:56
回复

使用道具 举报

8#
发表于 2017-6-10 19:56:21 | 只看该作者
2011qt 发表于 2017-6-10 19:38
能适合不同的电脑吗?

适合不同的电脑
但是不同的电脑可能需設定默认从U盘efi启动

点评

不知有没有grub的模板可以套套?  详情 回复 发表于 2017-6-10 20:30
回复

使用道具 举报

9#
 楼主| 发表于 2017-6-10 19:56:35 | 只看该作者
2012yjgsz 发表于 2017-6-10 19:53
可参考https://bbs.deepin.org/forum.php?mod=viewthread&tid=139552

谢谢,我试试
回复

使用道具 举报

10#
 楼主| 发表于 2017-6-10 20:09:33 | 只看该作者
似乎用GRUB2可以实现,但我完全不懂,不知有没有现成的模板? 要启动的硬盘系统不一定是gpt的
回复

使用道具 举报

11#
发表于 2017-6-10 20:16:08 来自手机 | 只看该作者
把你的优盘菜单默认为启动硬盘系统,有人干预才是启动其它优盘里的项目。

点评

mbr引导有大大们写的菜单,没找到uefi引导的类似菜单,我等菜鸟离开了大大们就更菜了  详情 回复 发表于 2017-6-10 20:26
回复

使用道具 举报

12#
发表于 2017-6-10 20:19:00 | 只看该作者
装完后提示重启,在他关机时候直接拔掉U盘
回复

使用道具 举报

13#
发表于 2017-6-10 20:21:29 | 只看该作者
装完后提示重启,在他关机时候直接拔掉U盘

点评

有这样干过!  详情 回复 发表于 2017-6-10 20:27
回复

使用道具 举报

14#
 楼主| 发表于 2017-6-10 20:26:56 | 只看该作者
窄口牛 发表于 2017-6-10 20:16
把你的优盘菜单默认为启动硬盘系统,有人干预才是启动其它优盘里的项目。

mbr引导有大大们写的菜单,没找到uefi引导的类似菜单,我等菜鸟离开了大大们就更菜了
回复

使用道具 举报

15#
 楼主| 发表于 2017-6-10 20:27:54 | 只看该作者
1904860494 发表于 2017-6-10 20:21
装完后提示重启,在他关机时候直接拔掉U盘

有这样干过!

点评

其实pe启动菜单也有呢个选项的,可以加感觉没大用  详情 回复 发表于 2017-6-11 09:01
回复

使用道具 举报

16#
 楼主| 发表于 2017-6-10 20:30:10 | 只看该作者
parsons 发表于 2017-6-10 19:56
适合不同的电脑
但是不同的电脑可能需設定默认从U盘efi启动

不知有没有grub的模板可以套套?

点评

楼上帖子中grub(MBR)和grub2(UEFI)的模板都在里面了。  详情 回复 发表于 2017-6-11 12:46
grub2 xorbooot refind clover 等都是特殊需求時才用 使用bootice 改 BCD 就可以了  详情 回复 发表于 2017-6-10 21:17
回复

使用道具 举报

17#
发表于 2017-6-10 20:49:08 来自手机 | 只看该作者
grub2教程里看看,抄一个就行
回复

使用道具 举报

18#
发表于 2017-6-10 20:50:09 | 只看该作者
把uefi的主引导换成GRUB2,添加一个"启动现有 windows 系统"的菜单并设为默认启动项,应该就可以了!
回复

使用道具 举报

19#
发表于 2017-6-10 21:17:05 | 只看该作者
2011qt 发表于 2017-6-10 20:30
不知有没有grub的模板可以套套?

grub2 xorbooot refind clover 等都是特殊需求時才用

使用bootice 改 BCD 就可以了

点评

谢谢帮助,刚到grub区转了一圈,发现XorBoot满足要求,马上行动,经测试完美解决!  详情 回复 发表于 2017-6-10 21:20
回复

使用道具 举报

20#
 楼主| 发表于 2017-6-10 21:20:55 | 只看该作者
parsons 发表于 2017-6-10 21:17
grub2 xorbooot refind clover 等都是特殊需求時才用

使用bootice 改 BCD 就可以了

谢谢帮助,刚到grub区转了一圈,发现XorBoot满足要求,马上行动,经测试完美解决!
回复

使用道具 举报

21#
发表于 2017-6-10 21:32:43 | 只看该作者
可以看看这个grub2菜单:
  1. if  search --no-floppy -f -s /EFI/Microsoft/Boot/bootmgfw.efi; then
  2. menuentry "启动现有 Windows 系统" --class windows2 --class os{
  3. search --file /EFI/Microsoft/Boot/bootmgfw.efi --set=root
  4. chainloader ($root)/EFI/Microsoft/Boot/bootmgfw.efi
  5. }
  6. fi
复制代码


可以检测磁盘上是否装有Windows系统,有就显示菜单并启动,没有的话就不显示菜单。

点评

谢谢,如果硬盘不是gpt格式,是mbr引导的话,这个还需要怎么修改?  详情 回复 发表于 2017-6-10 22:14
回复

使用道具 举报

22#
 楼主| 发表于 2017-6-10 22:14:43 | 只看该作者
rgy 发表于 2017-6-10 21:32
可以看看这个grub2菜单:

谢谢,如果硬盘不是gpt格式,是mbr引导的话,这个还需要怎么修改?

点评

rgy
mbr引导的话,不推荐用grub2,主流都用GRUB4DOS,用GRUB4DOS的PE一般都带有启动硬盘的选项,比如我这个: [attachimg]347685[/attachimg] 下面是我在uefi上使用之前grub2菜单的测试 1.装有系统: [attachimg]34  详情 回复 发表于 2017-6-11 07:56
yjd
搜bootmgr文件。  详情 回复 发表于 2017-6-10 23:03
回复

使用道具 举报

23#
发表于 2017-6-10 23:03:28 | 只看该作者
2011qt 发表于 2017-6-10 22:14
谢谢,如果硬盘不是gpt格式,是mbr引导的话,这个还需要怎么修改?

搜bootmgr文件。
回复

使用道具 举报

24#
发表于 2017-6-10 23:15:49 | 只看该作者
本帖最后由 comzhongwy 于 2017-6-10 23:18 编辑

grub2可以参考这个写法,支持 BIOS + UEFI 的哦!

  1. menuentry 'Windows Boot Manager 菜单' --unrestricted {
  2.     if [ 'pc' == $grub_platform ] ; then
  3.         if search --file --set --no-floppy /bootmgr ; then
  4.             chainloader +1
  5.         elif search --file --set --no-floppy /ntldr ; then
  6.             chainloader +1
  7.         else
  8.             echo '没有找到Windows'
  9.             sleep --verbose 5
  10.         fi
  11.     fi

  12.     if [ 'efi' == $grub_platform ] ; then
  13.         if search --file --set --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
  14.             chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  15.         else
  16.             echo '没有找到Windows'
  17.             sleep --verbose 5
  18.         fi
  19.     fi
  20. }
复制代码

点评

yjd
多一个判断的语法是什么。感觉应该再增加判断window文件夹。 不然在维护的时候U盘一般是第一个启动,而有的人可能U盘用的bootmgr来引导。这样就会误判。  详情 回复 发表于 2017-6-11 10:57
yjd
赞。  发表于 2017-6-11 10:54
回复

使用道具 举报

25#
 楼主| 发表于 2017-6-10 23:52:41 来自手机 | 只看该作者
请问chainloader +1这样会不会破坏win7的破解激活。还有从当前启动U盘的efi启动该怎么写

点评

chainloader +1 不会破坏slic激活 chainloader /ntldr 或chainloader /bootmgr才会  详情 回复 发表于 2017-6-11 08:05
回复

使用道具 举报

26#
发表于 2017-6-11 07:56:48 | 只看该作者
2011qt 发表于 2017-6-10 22:14
谢谢,如果硬盘不是gpt格式,是mbr引导的话,这个还需要怎么修改?

mbr引导的话,不推荐用grub2,主流都用GRUB4DOS,用GRUB4DOS的PE一般都带有启动硬盘的选项,比如我这个:


下面是我在uefi上使用之前grub2菜单的测试
1.装有系统:

2.没装系统:


好像还可以用!
回复

使用道具 举报

27#
发表于 2017-6-11 08:05:02 | 只看该作者
2011qt 发表于 2017-6-10 23:52
请问chainloader +1这样会不会破坏win7的破解激活。还有从当前启动U盘的efi启动该怎么写

chainloader +1 不会破坏slic激活
chainloader /ntldr 或chainloader /bootmgr才会

点评

明白了,谢谢!  详情 回复 发表于 2017-6-11 14:21
回复

使用道具 举报

28#
发表于 2017-6-11 09:01:57 | 只看该作者

其实pe启动菜单也有呢个选项的,可以加感觉没大用
回复

使用道具 举报

29#
发表于 2017-6-11 10:57:08 | 只看该作者
本帖最后由 yjd 于 2017-6-11 20:23 编辑
comzhongwy 发表于 2017-6-10 23:15
grub2可以参考这个写法,支持 BIOS + UEFI 的哦!


多一个判断的语法是什么,编程上的and。感觉应该再增加判断window文件夹。
不然在维护的时候U盘一般是第一个启动,而有的人可能U盘用的bootmgr来引导。这样就会误判。

查了下好像是这个2个:

-d file  [file存在并且是一个目录]
expression1 -a expression2   与(AND)


没环境测试
  1. menuentry '  Windows Boot Manager' {
  2.     if [ $grub_platform == 'efi' -a -d /Windows ] ; then
  3.         if search --file --set --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
  4.             chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  5.         else
  6.             echo ‘没找到bootmgfw.efi’
  7.             sleep --verbose 5
  8.         fi
  9.     fi
  10. }
复制代码


点评

你是说: if [ 'pc' == $grub_platform ] ; then 这个?这个是判断 BIOS 还是 UEFI 固件启动  详情 回复 发表于 2017-6-12 11:34
回复

使用道具 举报

30#
发表于 2017-6-11 12:46:38 | 只看该作者
本帖最后由 2012yjgsz 于 2017-6-11 12:51 编辑
2011qt 发表于 2017-6-10 20:30
不知有没有grub的模板可以套套?


https://bbs.deepin.org/forum.php?mod=viewthread&tid=139552
帖子中grub(MBR)和grub2(UEFI)的模板都在里面了。
配置文件分别为:menu.lst、grub.cfg,自行修改一下就行了。

点评

改起来头疼,还是把Pauly大的工具拿来用算了。  详情 回复 发表于 2017-6-11 14:24
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 00:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表