2011qt 发表于 2017-6-15 12:58 grub2区有支持安全启动。不需要导证书的。 用别人的电脑那就没必要测试了。 |
2011qt 发表于 2017-6-15 09:24 感觉是由于U盘在hd0 系统的bootmgr在hd1引起的。grub2又不像g4d那么好可以交换。 或先关闭安全启动看看是否这个问题。 |
yjd 发表于 2017-6-13 19:15 用grub2 2.02版,在第一次u盘启动导入证书后可以找到bootmgr,但仍不能启动提示; not a valid root device |
yjd 发表于 2017-6-13 19:15 现在不在那台电脑旁,当时测试时提示找不到bootmgr,有机会再试吧 |
yjd 发表于 2017-6-13 13:11 这个去掉试过了,找不到bootmgr(硬盘是mbr的) |
2011qt 发表于 2017-6-13 12:01 是因为这个判断不成立。所以后面代码就跳过去了。 if [ 'pc' == $grub_platform -a -d /Boot/de-DE ] ; then 你如果真要bios启动。但U盘引导时候选uefi。那可以把这个判断去掉。直接优先搜索bootmgr 我没测试过,你可以试试 |
yjd 发表于 2017-6-13 11:52 不加判断应该可以,不过不能找mbr磁盘的文件会不会是主板的安全设置问题,还是grub2在uefi环境下无法搜索mbr磁盘的文件? |
2011qt 发表于 2017-6-13 11:40 找硬盘的那不用。我理解错了。。。 这个是判断grub2的环境。你U盘efi引导。grub2环境就已经是efi了。第一段就已经跳过去了。 只能bios模式,你U盘也是用的mbr引导。 感觉第一种用处不大了。bios模式引导有grub4dos这么强的东西可用。实在没必要用啥grub2。功能弱太多。 |
yjd 发表于 2017-6-13 11:07 找硬盘上的系统也要去掉--no-floppy ? |
2011qt 发表于 2017-6-13 10:59 1,本来就是用于bios引导方式。只是com写在一起。通用。省得写成2个菜单。 2,你要是zip模式需要去掉 --no-floppy |
yjd 发表于 2017-6-12 23:47 菜单还是有问题,1,'pc' == $grub_platform 这个在mbr引导的硬盘(u盘uefi引导的情况下)上并不能识别为mbr,2,不加这些判断直接找文件又找不到文件(文件确实存在)。 看来用这个通用性不够。 |
本帖最后由 yjd 于 2017-6-13 09:33 编辑 2011qt 发表于 2017-6-12 23:31 对, 通常U盘启动efi。uefi直接找efi/boot/bootx64.efi文件。不加判断应该不会错。除非有人在U盘里放一个/EFI/Microsoft/Boot/bootmgfw.efi 但是bios下搜bootmgr,U盘如果用原始微软的没修改过名字的就可能误判了。
这样不够严谨,应该够用。通常U盘用bootmgr启动,应该没人会丢其他国家的语言文件在U盘里。 或判断
|
yjd 发表于 2017-6-12 22:30 似乎U盘的efi里的bootmgfw.efi和硬盘efi里的bootmgfw.efi的路径不同或者说硬盘efi里多了一个不同路径下的bootmgfw.efi,通过这个区别,所以就不用再加多余的判断了 |
2011qt 发表于 2017-6-12 22:06 你说的没错。efi和系统windows不是一个分区。。。 bios的我倒是经常装在同一个分区。 要准确不好判断不好办了。 比如找到bootmgfw.efi再找windows目录,判断他们的位置是否是紧挨的。 |
yjd 发表于 2017-6-12 21:25 comzhongwy的原菜单可以,加了你的那个条件就不行了,你的这个条件的是不是找包含Windows目录的盘?硬盘efi分区里也不会有Windows目录。 |
2011qt 发表于 2017-6-12 21:08 你试过了? 我没纯uefi环境和装了win7以上系统。所以没测。可能语法要改改。 |
comzhongwy 发表于 2017-6-12 11:32 你链接里的菜单对我有点复杂了,我只想要从硬盘启动和从U盘的原bootX64.efi启动这两项,用你的试了下从U盘转到gpt磁盘启动后,server2008 r2被显示成未激活状态(因为用的bootX64.efi模拟slic激活),当然重启直接从硬盘启动后又恢复激活状态,关于此问题的影响不大。 |
yjd 发表于 2017-6-12 12:11 加了这个条件后好像就不是从efi分区启动了 |
comzhongwy 发表于 2017-6-12 11:34 这个知道。 我是说需要增加另一个条件。不然误判。 我前面有增加了。我这里没纯uefi +系统测试可测试。 |
yjd 发表于 2017-6-11 10:57 你是说: if [ 'pc' == $grub_platform ] ; then 这个?这个是判断 BIOS 还是 UEFI 固件启动 |
2011qt 发表于 2017-6-11 22:34 UEFI 的 BCD 是启动不了 GRUB2 等等的,不用试了,反过来是可以的,我这个帖子里常用的引导转换都弄了,如果有补充,可以告诉我 简单手动制作BIOS+UEFI的syslinux+grub+boomgr+grub2互转U盘 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=370578 |
123456789op 发表于 2017-6-11 18:29 明天再试试在U盘efi里的bcd添加grub2,然后grub2的菜单只添加comzhongwy的菜单应该就可以满足我的要求了。又可以解决加载pe时loading files...的中文显示问题。感谢各位的指导!谢谢。 |
2012yjgsz 发表于 2017-6-11 12:46 改起来头疼,还是把Pauly大的工具拿来用算了。 |
wintoflash 发表于 2017-6-11 08:05 明白了,谢谢! |
本帖最后由 2012yjgsz 于 2017-6-11 12:51 编辑 2011qt 发表于 2017-6-10 20:30 https://bbs.deepin.org/forum.php?mod=viewthread&tid=139552 帖子中grub(MBR)和grub2(UEFI)的模板都在里面了。 配置文件分别为:menu.lst、grub.cfg,自行修改一下就行了。 |
本帖最后由 yjd 于 2017-6-11 20:23 编辑 comzhongwy 发表于 2017-6-10 23:15 多一个判断的语法是什么,编程上的and。感觉应该再增加判断window文件夹。 不然在维护的时候U盘一般是第一个启动,而有的人可能U盘用的bootmgr来引导。这样就会误判。 查了下好像是这个2个: -d file [file存在并且是一个目录] 没环境测试
|
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.