无忧启动论坛

标题: grldr和menu菜单的MD5密码不起作用 [打印本页]

作者: 2012ybz    时间: 2015-7-28 21:43
标题: grldr和menu菜单的MD5密码不起作用
grldr和menu菜单的MD5密码:
password --md5 $1$q$VGiCPSYi1Bu0eE3TlsSxb1

不知为什么不起作用。
作者: 不点    时间: 2015-7-29 04:45
没看教程吧?用法不完整?


作者: 2012ybz    时间: 2015-7-29 23:55
不点 发表于 2015-7-29 04:45
没看教程吧?用法不完整?

谢谢不点大师。我即便使用《grub4dos-help》中的范例菜单做测试,仍然没有出现需要输入密码的界面。在组装机和惠普笔记本上都不起作用,很是不解。
《grub4dos-help》中的范例菜单:
debug off
#   关闭debug模式
checkrange 0x21 read 0x8280 && pxe detect
#   检测当前是否为pxe启动,是的话执行 pxe detect 命令
command --set-path=(bd)/GRUB/
#   设置外部命令所在位置(默认位置是/BOOT/GRUB/)
color white/blue blue/yellow light-red/blue 10
#   设置菜单颜色
default 1
#   设置默认启动项
password --md5 $1$j3M3$UCvLwNAO7wmLQXnYtJQMv1
#   设置全局密码

#====================菜单项(菜单正文)=================================

title [01] Start Windows 2003 PE \n 2003 PE
#   设置菜单项标题," \n "后为菜单底部帮助信息,启动2003PE
if not exist /WXPE/SETUPLDR.BIN && find --set-root /WXPE/SETUPLDR.BIN
#   如果当前设备/WXPE/目录下没有SETUPLDR.BIN文件,就在所有设备上寻找/WXPE/SETUPLDR.BIN文件,并将找到的设备设为根
chainloader /WXPE/SETUPLDR.BIN
#   加载/WXPE/SETUPLDR.BIN文件
boot
#   确定进行启动,菜单中可以省略该句,命令行模式下不可省略

title [02] Start Windows 7 PE \n win 7 PE
#   设置菜单项标题," \n "后为菜单底部帮助信息,启动win7PE
if not exist /BOOTMGR && find --set-root /BOOTMGR
#   如果当前设备根目录下没有BOOTMGR文件,就在所有设备上寻找/BOOTMGR文件 ,并将找到的设备设为根
chainloader /BOOTMGR
#   加载/BOOTMGR文件
boot
#   确定进行启动,菜单中可以省略该句,命令行模式下不可省略

title [03] Load USB 2.0 Module [USE PLPBT.BIN]
#   设置菜单项标题,加载USB2.0加速
if not exist /BOOT/IMGS/PLPBT.BIN && find --set-root /BOOT/IMGS/PLPBT.BIN
#   如果当前设备/BOOT/IMGS/目录下没有PLPBT.BIN文件,就在所有设备上寻找/BOOT/IMGS/PLPBT.BIN文件 ,并将找到的设备设为根
kernel /BOOT/IMGS/PLPBT.BIN
#   使用kernel命令加载/BOOT/IMGS/PLPBT.BIN文件
boot
#   确定进行启动,菜单中可以省略该句,命令行模式下不可省略

title [04] Acronis Disk Director Server
#   设置菜单项标题,启动ISO镜像可参见本菜单项格式
if not exist /BOOT/IMGS/ADDS.ISO && find --set-root /BOOT/IMGS/ADDS.ISO
#   如果当前设备/BOOT/IMGS/目录下没有ADDS.ISO文件,就在所有设备上寻找/BOOT/IMGS/ADDS.ISO文件 ,并将找到的设备设为根
map /BOOT/IMGS/ADDS.ISO (0xff) || map --mem /BOOT/IMGS/ADDS.ISO (0xff)
#    先尝试将iso镜像直接仿真为 (0xff)设备(要求镜像连续存放),失败的话再将iso镜像载入内存仿真为(0xff)设备
map --hook
#   使仿真生效
chainloader (0xff)
#    从(0xff)设备启动
boot
#   确定进行启动,菜单中可以省略该句,命令行模式下不可省略

title [05] BIOS Tool
#   设置菜单项标题,启动软驱类镜像可参见本菜单项格式
if not exist /BOOT/IMGS/BIOS.IMG && find --set-root /BOOT/IMGS/BIOS.IMG
#   如果当前设备/BOOT/IMGS/目录下没有BIOS.IMG文件,就在所有设备上寻找/BOOT/IMGS/BIOS.IMG文件 ,并将找到的设备设为根
map --mem /BOOT/IMGS/BIOS.IMG (fd0)
#   将img镜像载入内存后仿真为第一软驱(fd0)
map --hook
#   使仿真生效
rootnoverify (fd0)
#   设置(fd0)为根设备,root在设置根设备前,会测试一下该分区的文件系统是否可以识别,而rootnoverify则省略这一测试
chainloader ()+1
#   链式加载(fd0)的第一个扇区内容
boot
#   确定进行启动,菜单中可以省略该句,命令行模式下不可省略

title [06] Another Menu List
#   设置菜单项标题,加载其他菜单文件可参见本菜单项格式
if not exist /BOOT/GRUB/MENU2.LST && find --set-root /BOOT/GRUB/MENU2.LST
#   如果当前设备/BOOT/GRUB/目录下没有MENU2.LST文件,就在所有设备上寻找/BOOT/GRUB/MENU2.LST文件 ,并将找到的设备设为根
configfile /BOOT/GRUB/MENU2.LST
#   加载菜单文件/BOOT/GRUB/MENU2.LST

title [07] Reboot the Computer
#   设置菜单项标题
reboot
#   重新启动计算机

title [08] Power off the Computer
#   设置菜单项标题
halt --no-acpi || halt --force-sci
#   首先尝试使用APM 关机代码关机,失败的话强制使用ACPI 关机代码关机
作者: 不点    时间: 2015-7-30 01:16
在你提到的文档中,就有 password 命令的用法,摘抄如下:


password

用法: password  [ --md5 ]  PASSWD  [ FILE ]
描述:

设置密码。

当其处于菜单文件的首项时,将禁用所有的交互式菜单编辑功能,包括编辑菜单项('e')/进入命令行('c')。

当正确输入密码 (由PASSWD指定)后,载入新的菜单文件(由FILE指定)。

如果你没有指定 FILE 项,那么上述被禁用的功能将被启用了。当然,你也可以将此命令用到某

个菜单项里,用以提高系统安全性。可用--md5指定一个密码,启用grub的密码保护。

为安全起见,一般使用md5值,这个值可以使用 md5crypt 命令生成。

例:

default 0
timeout 10
password 123 /MENU2.LST

title boot xp
password 456
chainloader /ntldr
boot
............

    #加载菜单后,只有 'p' 和 'b' 和两个快捷键可以起作用。可以按 'p' 输入密码, 或按 'b' 来启动高亮选中的菜单。本菜单加载后按 'p' 并输入正确的密码(123)后,会加载根目录下的MENU2.LST菜单文件。若选择 boot xp 项菜单启动,需要输入密码 456 后才能继续向下执行,密码错误将返回原菜单。在menu.lst的全局设置里用password选项指定一个密码,然后在菜单项的title的下一行加上'lock'命令,这样在开机引导该菜单项时,就要用p命令解锁,并输入密码,才能引导该系统。

注:即使在菜单文件的首项设置了密码,默认的GRLDR仍可以在启动的时候快速按C键进入命令行,这主要用于调试。

可通过下面方法禁止这个功能:自行修改GRLDR,将偏移0x20005处的值改为04就可以禁止按C键进入命令行。

如果是GRLDR.MBR的,修改GRLDR.MBR的第二个字节为0x84实现同样的功能。


作者: 不点    时间: 2015-7-30 01:28
以上文档的解释,确实不怎么清晰。但也聊胜于无。

我从来不使用 password 命令,所以我也没去研究这些细节。

我希望有人能够改进文档,把这个命令的用法彻底讲清楚,而不是让人看了之后一头雾水。

上述 password 命令的用法中还提到了 lock 命令,我也把 lock 命令的用法摘抄如下:

lock

用法: lock
描述:

break a command execution unless the user is authenticated.

如果用户未被认证,则终止命令的执行。

在menu.lst的全局设置里用password选项指定一个密码,然后在菜单项的title的下一行 加上一个'lock'命令,这样在开机引导该菜单项时,就要用p命令解锁,并输入密码,才能引导该系统。

例:

password 123

title boot xp
lock
find --set-root /ntldr
chainloader /ntldr






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