关于grub的编辑

0001cxg 2003-09-12 01:01:25
我用的是linux9.0。。使用grub引导系统。。我想问一下能不能设置grub密码?就是在启动grub前设置密码,怎样设置?
...全文
884 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnhw 2003-09-20
  • 打赏
  • 举报
回复
grub是什么呀,呵呵,有一次,我开机是碰到GRUB> 是表示什么意思呀
0001cxg 2003-09-17
  • 打赏
  • 举报
回复
找到了:
开机时进入GRUB Shell界面,调用md5crypt命令,然后输入你自己的密码,md5crypt会给出运算得到的密文:
--------------------------------------------------------------
grub> md5crypt
Password: **********
Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb
--------------------------------------------------------------
再次强调,因为密码没有两次输入校验,你必须记得自己确实输入了什么,注意Caps Lock键有没有被按下。
如果你在系统中调用GRUB Shell,可以把密文拷贝粘贴到你的menu.lst文件中,如果在开机时选择进入GRUB Shell,只能拿张纸记下密文,然后手动输入到menu.lst中了,就象这样:
--------------------------------------------------------------
password --md5 $1$U$JK7xFegdxWH6VuppCUSIb
--------------------------------------------------------------
password命令的位置可以不限,只要在所有title引导项之前就行了,然后是空格,两条短横线和md5,又是空格,你的密文。
现在要在启动时对GRUB菜单进行修改就不那么容易了,看菜单框下方的提示:你要敲“P”键,然后输入正确的密码才能对它动手动脚。
当然,这是不够的,如果你不想现在修改菜单,你只需要随便选一项进入...等等,如果我这样呢:
在想要锁定的选项的title后一行加上lock命令:
--------------------------------------------------------------
title 必须输入密码才能进入
lock
root (hdx,x)
...
--------------------------------------------------------------
当然你可以在每一个title选项的后一行都加上lock,那就任何系统也进不去了
0001cxg 2003-09-17
  • 打赏
  • 举报
回复
pai(rock)的资料很不错。。不过好像我找不到密码设置的命令。。。
楼上的说由源文件开一下是什么意思?我是刚接触linux 不久的菜鸟,
还望高手多多指点。。
uhml 2003-09-17
  • 打赏
  • 举报
回复
由源文件自己开一下好了。
pai 2003-09-17
  • 打赏
  • 举报
回复
以前我从网上找到的,借花献佛!

三. 可用的命令列表

  下面是GRUB的可用命令列表:

  仅用于菜单的命令(不包括菜单项内部的启动命令)
==========================================

default num
设置菜单中的默认选项为num(默认为0,即第一个选项),超时将启动这个选项

fallback num
如果默认菜单项启动失败,将启动这个num后援选项。

password passwd new-config-file
关闭命令行模式和菜单编辑模式,要求输入口令,如果口令输入正确,将使用new-config-file
作为新的配置文件代替menu.lst,并继续引导。

timeout sec
设置超时,将在sec秒后自动启动默认选项。

title name ...
开始一个新的菜单项,并以title后的字串作为显示的菜单名。

在菜单(不包括菜单项内部的命令)和命令行方式下都可用的命令
======================================================

bootp
以BOOTP协议初始化网络设备

color normal [highlight]
  改变菜单的颜色,normal是用于指定菜单中非当前选项的行的颜色,highlight是用于指定当前菜单选项的颜色。如果不指定highlight,GRUB将使用normal的反色来作为highlight颜色。指定颜色的格式是“前景色/背景色”,前景色和背景色的可选列表如下:

* black
* blue
* green
* cyan
* red
* magenta
* brown
* light-gray

下面的颜色只能用于背景色

* dark-gray
* light-blue
* light-green
* light-cyan
* light-red
* light-magenta
* yellow
* white

你可以在前景色前加上前缀"blink-",产生闪烁效果,你可以在menu.lst中加上下面这个选项来改变颜色效果:
title OS-BS like
color magenta/blue black/magenta

device drive file
在GRUB命令行中,把BIOS中的一个驱动器drive映射到一个文件file。你可以用这条命令创建一个磁盘映象或者当GRUB不能真确地判断驱动器时进行纠正。如下
grub> device (fd0) /floppy-image
grub> device (hd0) /dev/sd0
这条命令只能在命令行方式下使用,;) 是个例外。

dhcp
用DHCP协议初始化网络设备。目前而言,这条指令其实就是bootp的别名,效果和bootp一样。

hide partition
这条指令仅仅对DOS和WINDOWS有用,当在一个硬盘上存在多个DOS/WIN的主分区时,有时需要这条指令隐藏其中的一个或几个分区,即在分区表中设置“隐藏”位。

rarp
用RARP协议初始化网络设备。

setkey to_key from_key
改变键盘的映射表,将from_key映射到to_key,注意这条指令并不是交换键映射,如果你要交换两个键的映射,需要用两次setkey指令,如下:
grub> setkey capslock control
grub> setkey control capslock

其中的键必须是字母,数字或者下面的一些代表某一键的字符串:
`escape', `exclam', `at', `numbersign', `dollar', `percent',
`caret', `ampersand', `asterisk', `parenleft', `parenright',
`minus', `underscore', `equal', `plus', `backspace', `tab',
`bracketleft', `braceleft', `bracketright', `braceright', `enter',
`control', `semicolon', `colon', `quote', `doublequote',
`backquote', `tilde', `shift', `backslash', `bar', `comma',
`less', `period', `greater', `slash', `question', `alt', `space',
`capslock', `FX' (`X' is a digit), and `delete'.

下面给出了它们和键盘上的键的对应关系:

`exclam'=`!'
`at'=`@'
`numbersign'=`#'
`dollar'=`$'
`percent'=`%'
`caret'=`^'
`ampersand'=`&'
`asterisk'=`*'
`parenleft'=`('
`parenright'=`)'
`minus'=`-'
`underscore'=`_'
`equal'=`='
`plus'=`+'
`bracketleft'=`['
`braceleft'=`{'
`bracketright'=`]'
`braceright'=`}'
`semicolon'=`;'
`colon'=`:'
`quote'=`''
`doublequote'=`"'
`backquote'=``'
`tilde'=`~'
`backslash'=`'
`bar'=`|'
`comma'=`,'
`less'=`<'
`period'=`.'
`greater'=`>'
`slash'=`/'
`question'=`?'
`space'=` '


unhide partition
仅仅对DOS/WIN分区有效,清除分区表中的“隐藏”位。

仅用于命令行方式或者菜单项内部的命令
=======================================

blocklist file
显示文件file在所占磁盘块的列表。

boot
仅在命令行模式下需要,当参数都设定完成后,用这条指令启动操作系统

cat file
显示文件file的内容,可以用来得到某个操作系统的根文件系统所在的分区,如下:
grub> cat /etc/fstab

chainloader [`--force'] file
把file装入内存进行chainload,除了能够通过文件系统得到文件外,这条指令也可以用磁盘块列表的方式读入磁盘中的数据块,如'+1`指定从当前分区读出第一个扇区进行引导。如果指定了`--force`参数,则无论文件是否有合法的签名都强迫读入,当你在引导SCO UnixWare时需要用这个参数。

cmp file1 file2
比较文件的内容,如果文件大小不一致,则输出两个文件的大小,如下:
Differ in size: 0x1234 [foo], 0x4321 [bar]
如果两个文件的大小一致但是在某个位置上的字节不同,则打印出不同的字节和他们的位移:
Differ at the offset 777: 0xbe [foo], 0xef [bar]
如果两个文件完全一致,则什么都不输出。

configfile FILE
将FILE作为配置文件替代menu.lst。

embed stage1_5 device
如果device是一个磁盘设备的话,将Stage1_5装入紧靠MBR的扇区内。如果device是一个FFS文件系统分区的话,则将Stage1_5装入此分区的第一扇区。如果装入成功的话,输出写入的扇区数。

displaymem
显示出系统所有内存的地址空间分布图。

find filename
在所有的分区中寻找指定的文件filename,输出所有包含这个文件的分区名。参数filename应该给出绝对路径。

fstest
启动文件系统测试模式。打开这个模式后,每当有读设备请求时,输出向底层例程读请求的参数和所有读出的数据。输出格式如下:
先是由高层程序发出的分区内的读请求,输出:<分区内的扇区偏移,偏移(字节数),长度(字节数)>之后由底层程序发出的扇区读请求,输出:[磁盘绝对扇区偏移] 可以用install或者testload命令关闭文件系统测试模式。

geometry drive [cylinder head sector [total_sector]]
输出驱动器drive的信息。

help [pattern ...]
在线命令帮助,列出符合pattern的命令列表,如果不给出参数,则将显示所有的命令列表。

impsprobe
检测Intel多处理器,启动并配置找到的所有CPU。

initrd file ...
为Linux格式的启动映象装载初始化的ramdisk,并且在内存中的Linux setup area中设置适当的参数。

install stage1_file [`d'] dest_dev stage2_file [addr] [`p'] [config_file] [real_config_file]
这是用来完全安装GRUB启动块的命令,一般很少用到。

ioprobe drive
探测驱动器drive所使用的I/O口,这条命令将会列出所有dirve使用的I/O口。

kernel file ...
装载内核映象文件(如符合Multiboot的a.out,ELF,Linux zImage或bzImage,FreeBSD a.out,NetBSD
a.out等等)。文件名file后可跟内核启动时所需要的参数。如果使用了这条指令所有以前装载的模块都要重新装载。

makeactive
使当前的分区成为活跃分区,这条指令的对象只能是PC上的主分区,不能是扩展分区。

map to_drive from_drive
映射驱动器from_drive到to_drive。这条指令当你在chainload一些操作系统的时候可能是必须的,这些操作系统如果不是在第一个硬盘上可能不能正常启动,所以需要进行映射。如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

module file ...
对于符合Multiboot规范的操作系统可以用这条指令来装载模块文件file,file后可以跟这个module所需要的参数。注意,必须先装载内核,再装载模块,否则装载的模块无效。

modulenounzip file ...
同module命令几乎一样,唯一的区别是不对module文件进行自动解压。

pause message ...
输出字符串message,等待用户按任意键继续。你可以用<^G>(ASCII码007)使PC喇叭发声提醒用户注意。

quit
退出GRUB shell,GRUB shell类似于启动时的命令行模式,只是它是在用户启动系统后执行/sbin/grub才
进入,两者差别不大。

read addr
从内存的地址addr处读出32位的值并以十六进制显示出来。

root device [hdbias]
将当前根设备设为device,并且试图mount这个根设备得到分区大小。hdbias参数是用来告诉BSD内核在当前分区所在磁盘的前面还有多少个BIOS磁盘编号。例如,系统有一个IDE硬盘和一个SCSI硬盘,而你的BSD安装在IDE硬盘上,此时,你就需要指定hdbias参数为1。

rootnoverify device [hdbias]
和root类似,但是不mount该设备。这个命令用在当GRUB不能识别某个硬盘文件系统,但是仍然必须指定根设备。

setup install_device [image_device]
安装GRUB引导在install_device上。这条指令实际上调用的是更加灵活但是复杂的install指令。如果
image_device也指定了的话,则将在image_device中寻找GRUB的文件映象,否则在当前根设备中查找。

testload file
这条指令是用来测试文件系统代码的,它以不同的方式读取文件file的内容,并将得到的结果进行比较,如果正确的话,输出的`i=X,filepos=Y`中的X,Y的值应该相等,否则就说明有错误。通常这条指令正确执行的话,之后我们就可以正确无误地装载内核。

uppermem kbytes
强迫GRBU认为高端内存只有kbytes千字节的内存,GRUB自动探测到的结果将变得无效。这条指令很少使用,可能只在一些古老的机器上才有必要。通常GRUB都能够正确地得到系统的内存数量。

pai 2003-09-17
  • 打赏
  • 举报
回复

default num
设置菜单中的默认选项为num(默认为0,即第一个选项),超时将启动这个选项

fallback num
如果默认菜单项启动失败,将启动这个num后援选项。

password passwd new-config-file
关闭命令行模式和菜单编辑模式,要求输入口令,如果口令输入正确,将使用new-config-file
作为新的配置文件代替menu.lst,并继续引导。

timeout sec
设置超时,将在sec秒后自动启动默认选项。
0001cxg 2003-09-17
  • 打赏
  • 举报
回复
有没有人知道阿。。。我要结贴了
0001cxg 2003-09-14
  • 打赏
  • 举报
回复
不是把。。是不是只能重装了?!~
0001cxg 2003-09-13
  • 打赏
  • 举报
回复
cmos里的。。我不感兴趣。。我就是想grup下试试。。再说这两个密码设的对于安全完全是两回事
0001cxg 2003-09-12
  • 打赏
  • 举报
回复
问题是我的安装盘早就坏了。。。所以我想问一下能不能在命令行里设置?
haothinking 2003-09-12
  • 打赏
  • 举报
回复
在安装时候就提示了。
你可以用安装盘从装一下grub设置密码就行。
prqin 2003-09-12
  • 打赏
  • 举报
回复
你直接再CMOS中设置一个开机密码不就行了吗

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧