无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3828|回复: 5
打印 上一主题 下一主题

wee 的 Makefile 的 bug,请 chenall 留意

[复制链接]
跳转到指定楼层
1#
发表于 2016-6-20 23:27:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 不点 于 2016-6-21 13:40 编辑

在 debian 和 ubuntu 之下编译的 wee 是无效的。经查证,是它们的默认 sh 不采用 bash 而是 dash 造成的。

临时变通的 Workaround(解决办法)如下:

编辑 Makefile,在其最开头添加如下一行即可


SHELL=/bin/bash


补充提醒一下 chenall,需要做两个工作,

其一是在 Makefile 的开头添加一行 SHELL=/bin/bash

其二是修改 preset_menu_used 文件,把它修改为下文所提到的内容。

【2016-06-21 13:25】内置菜单也改进了,可以使用了。

wee63.mbr.gz

19.43 KB, 下载次数: 38, 下载积分: 无忧币 -2

重新编译的,菜单也改进了。

2#
 楼主| 发表于 2016-6-20 23:29:42 | 只看该作者
参考文献:

makefile中使用echo -e引发的思考(涉及dash和bash)
http://blog.csdn.net/benkaoya/article/details/12410295


回复

使用道具 举报

3#
 楼主| 发表于 2016-6-21 09:21:29 | 只看该作者
本帖最后由 不点 于 2016-6-21 11:19 编辑

在目前的内置菜单中已经发现如下的问题:

find --set-root --active /bootmgr /bootmgr <---- bootmgr 虽然能启动,但不能进入 Win7(显示失败信息)

当 bootmgr 存在而 BCD 不存在时,bootmgr 虽然能启动,但不能进入 Win7,因为只安装了 XP
而这个 bootmgr 也可能是从别处随便拷过来玩的。


考虑改为:

    find --set-root --active /boot/BCD /bootmgr

同理,把 ntldr 一行改为

    find --set-root --active /boot.ini /ntldr

同理,把 io.sys 一行改为

    find --set-root --active /config.sys /io.sys 【更正】config.sys 也可以不存在,而 command.com 是必须存在的。

【2016-06-21 11:20 更新】添加了 FreeDOS 的启动指令。有些机器预装的就是 FreeDOS。

因此,整个菜单(暂时)修改如下(以后可能还会有改进):


  1. find --set-root /boot/grub/grldr
  2. /boot/grub/grldr
  3. timeout 1
  4. default 0

  5. title 1. DOS/Windows
  6.     find --set-root --active /boot/BCD /bootmgr
  7.     find --set-root --active /boot.ini /ntldr
  8.     find --set-root --active /command.com /io.sys
  9.     find --set-root --active /command.com /kernel.sys
  10.     find --set-root /boot/BCD /bootmgr
  11.     find --set-root /boot.ini /ntldr
  12.     find --set-root /command.com /io.sys
  13.     find --set-root /command.com /kernel.sys

  14. title 2. GRUB4DOS
  15.     find --set-root /boot/grub/grldr /boot/grub/grldr
  16.     find --set-root /boot/grub.exe /boot/grub.exe
  17.     find --set-root /boot/grldr /boot/grldr
  18.     find --set-root /grldr /grldr

  19. title 3. Plop Boot Manager
  20.     find --set-root /boot/grub/plpbt.bin /boot/grub/plpbt.bin

  21. title 4. Vboot
  22.     find --set-root /vbootldr /vbootldr

  23. title 5. Burg
  24.     find --set-root /buldr /buldr

  25. title 6. Previous MBR
  26.     (hd0)1+1

  27. title 7. Command Line
  28.     exit
复制代码

大家不要忘了,wee 支持启动时快速按 Insert 或 c 键。

Insert 键是单步执行内置菜单的每一条指令。用户可以控制每一条命令是否执行,通常是为了禁用那些导致死机的命令。

c 键是用来立即进入命令行的。如果菜单工作不正常,而你又不想了解究竟哪条命令导致死机,于是就可以直接按 c 键,跳过所有的菜单命令,而进入命令行。

用 wee 的最大好处就是 “死不了”。这一点可别忘了,否则你安装 wee (与其他启动软件相比)就没有多大优势了。



点评

感谢你们所作的更新工作,下载了,谢谢!  详情 回复 发表于 2016-6-22 19:08
回复

使用道具 举报

4#
发表于 2016-6-22 16:16:09 | 只看该作者
最近比较忙,很少上来了,已经更新。
回复

使用道具 举报

5#
发表于 2016-6-22 19:08:19 | 只看该作者
不点 发表于 2016-6-21 09:21
在目前的内置菜单中已经发现如下的问题:

find --set-root --active /bootmgr /bootmgr

感谢你们所作的更新工作,下载了,谢谢!
回复

使用道具 举报

6#
发表于 2018-8-16 17:06:57 | 只看该作者
本帖最后由 2010techon 于 2018-8-16 17:19 编辑

最近使用中也发现类似问题,硬盘有两个主分区:(hd0,0) 和 (hd0,1)  0,0上装的Win8,0,1上装的XP,活动分区是0,1,默认引导进入XP。
装了wee,启动Win8的菜单如3#楼不点所说:
find --set-root --active /bootmgr /bootmgr
find --set-root /bootmgr /bootmgr

前几天用了下Win8系统,系统自动更新后重启,提示插入恢复盘修复BCD启动。。。

怎么想自动更新应该不会把启动项给更坏吧!???,只好重启进XP检查启动文件,
发现活动分区 (hd0,1) 也就是XP所在分区的根目录下多了些启动文件
包括:
\boot\目录下的一些语言和字体文件夹,以及 memtest.exe、BOOTSTAT.DAT
\BOOTNXT
\bootmgr

现在(hd0,0) 和 (hd0,1)根目录下都有了 bootmgr,结果导致上述wee菜单无法正常启动
把XP根目录下的bootmgr删除,重启进Win8就正常了,再次重启发现这个bootmgr又回来了。。。
PS:Win8.1这个启动文件自修复功能也挺坑的

最后还是要修改wee启动菜单来解决问题:
  1. title 1. Windows bootmgr
  2. find --set-root --active /boot/bcd bootmgr
  3. find --set-root /boot/bcd bootmgr

  4. title 2. Windows ntldr
  5. find --set-root --active /ntldr ntldr
  6. find --set-root /ntldr ntldr

  7. title 3. Boot (hd0,1) ntldr
  8. root (hd0,1)
  9. ntldr

  10. title 4. Boot PBR (hd0,0)+1
  11. (hd0,0)+1
复制代码


这下你自动创建几个bootmgr都无所谓了,只要别在其他分区自动生成 \boot\BCD文件就行。。。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-15 01:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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