‘壹’ linux的grub
正常情况下,如果你安装正确,它会自动检测到Windows系统,并配置好。如果恰好没有配置好,那么可以使用Boot-Repair工具来修复引导:
进入桌面后,打开终端,输入如下命令安装 Boot-Repair
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
启动Boot-Repair 终端输入:sudo boot-repair
进入程序,最好选择"推荐修复",修复好之后,重启,就会看到Windows系统选项了。不过听说新的UEFI类型的主板,好像有点不一样,我没试过。祝你好运。
‘贰’ 如何运用grub来引导Linux系统
grub> 提示符下也可以找到启动文件进行引导的
比如你只有一硬盘且有两个分区/dev/hda1和hda2,挂载点分别是/boot和/,由于vmlinuz经常放在/boot下所以直接在grub后输入
kernel (hd0,0)/vmlinuz
即此时屏幕上应显示为 grub>kernel (hd0,0)/vmlinuz
然后再按TAB,这样它会把vmlinuz开头的文件列出来,甚至补全(通常不是vmlinuz而是像vmlinuz-2.6.19-el.smp这样长的,所以要用好TAB)
如果只输入 (hd0,0)/ 就TAB它就把当前分区根目录的文件全显示 出来
如果只输入 (hd0, 就TAB。。。它会提示你有哪些分区可以用。。。
扯远了,反正用类似的方法,写出一整行
kernel (hd0,0)/vmlinuz-xxxxxxx 回车
它会提示这是什么文件,表示加载成功
同样写出 initrd(hd0,0)/initrd-xxxxxx回车
然后 再打 boot 回车,正常情况下会进得了系统
‘叁’ 了解Linux下的Grub
grub相关配置文件:
[root@lyy
grub]#
ll
总计
199
-rw-r--r--
1
root
root
60
10-26
20:05
device.map
#grub装置对应文件
-rw-r--r--
1
root
root
7584
10-26
20:05
e2fs_stage1_5
#ext2/ext3文件系统之定义档
-rw-r--r--
1
root
root
7456
10-26
20:05
fat_stage1_5
#FAT文件系统之定义档
-rw-r--r--
1
root
root
6720
10-26
20:05
ffs_stage1_5
#FFS文件系统之定义档
-rw-r--r--
2
root
root
195
11-20
12:21
grub.conf
#grub
在Red
Hat的配置文件
-rw-r--r--
1
root
root
6720
10-26
20:05
iso9660_stage1_5
#光驱文件系统之定义档
-rw-r--r--
1
root
root
8192
10-26
20:05
jfs_stage1_5
#文件系统之定义档
-rw-r--r--
2
root
root
195
11-20
12:21
menu.lst
#开机菜单配置文件
-rw-r--r--
1
root
root
6880
10-26
20:05
minix_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
9248
10-26
20:05
reiserfs_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
512
10-26
20:05
stage1
-rw-r--r--
1
root
root
104988
10-26
20:05
stage2
-rw-r--r--
1
root
root
7072
10-26
20:05
ufs2_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
6272
10-26
20:05
vstafs_stage1_5
#文件系统之定义档
-rw-r--r--
1
root
root
8904
10-26
20:05
xfs_stage1_5
硬盘与分区在grub中的代号
grub主程序主要是从磁盘中加载核心档案,所以它必须认识硬盘。grub对硬盘的代号设定与
传统的linux磁盘代号可完全是不同的,如:
(hd0,0)
硬盘代号以小括号()包起来;
硬盘以hd表示,后面会接一组数字;
以【搜寻顺序】做为硬盘的编号,而不是依照硬盘线的排序;
第一个搜寻的硬盘为0号,第二个为1号,以此类推;
每颗硬盘的第一个分区代号为0,依序类推。
第一颗硬盘的第一个逻辑分区代号为(hd0,4)。
/boot/grub/menu.lst配置文件
[root@lyy
grub]#
cat
menu.lst
default=0
#默认开机,预设第一个title项目
timeout=5
#停留五秒,末动键盘选择认
splashimage=(hd0,0)/grub/splash.xpm.gz
#背景图示所在档案
hiddenmenu
#预设隐藏完整的开机菜单
title
redhat
enterprise
server
5.4
root
(hd0,0)
#核心档案的分区
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
root(hd0,0)
核心档案的分区,而不是根目录。
kernel
后接核心名之后就是核心参数。
root=LABEL=/
挂载/目录
rhgb为彩色显示
quiet安静模式
initrd
后接虚拟文件系统名
其中
root=LABEL=/
可以写成
root=/dev/hda2
一、测试与grub安装
使用grub-install
将一些必要的档案复制到/boot/grub里面去。
例:将grub安装在目前系统的MBR下,我的系统为:/dev/hda
[root@lyy
grub]#
grub-install
/dev/hda
如果grub发生错误,连grub
都无法启动,可以利用具有grub开机的CD来开,然后再以CD的grub
的在线编辑功能使用硬盘上面的核心档案来开机。
二、为个别选单加上密码
例:给系统第一个开机菜单加上用MD5的密码,同时锁定在线编辑功能。
1.建立用MD加密过的密码
[root@lyy
~]#
grub-md5-crypt
Password:
Retype
password:
$1$vX3Mu/$msyisCLVKaZh1offoGYF2.
#经过MD5处理的密码
2.把生成的密码加入到/boot/grub/menu.lst
[root@lyy
grub]#
vi
menu.lst
default=0
timeout=5
hiddenmenu
title
redhat
enterprise
server
5.4
password
--md5
$1$eU4Mu/$0BvMemF2AVPO.BYbh3/e2/
root
(hd0,0)_
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
注意这个密码加在title以下的第一行
3.经过以上简单的步骤,就完成了密码,但grub的在线编辑功能还是可以跳过密码,所以我们
要把在线编辑功能锁住。
default=0
timeout=5
password
--md5
$1$eU4Mu/$0BvMemF2AVPO.BYbh3/e2/
#控制全局
hiddenmenu
title
redhat
enterprise
server
5.4
lock
#加上了这个功能
root
(hd0,0)_
kernel
/vmlinuz-2.6.18-164.el5
ro
root=LABEL=/
rhgb
quiet
rhgb
initrd
/initrd-2.6.18-164.el5.img
三、解决init配置文件错误
我们都知道
run
level
0-6
都会读取/etc/inittab
,如果些文件配置错误,导致无法读取,单用户
run
level也无法读取/etc/inittab进行开机,这时,我们可以告诉核心不要执行init
改呼叫bash。
例:开机在grub菜单中用在线编辑功能,修改以下
grub
edit>
kernel
/vmlinuz-2.6.18-92.el5
ro
root=LABEL=/
rhgb
quiet
init=/bin/bash
这样系统呼叫的第一个程序就改成了/bin/bash,因此/sbin/init就不会执行了。
但此时除了根目录外,其他目录没有被挂载而且根目录成为了只读状态,我们还需要以下命令
来重复挂载根目录
mount
-o
remount,rw
/
#重新挂载成为可擦写
mount
-a
#根据/etc/fstab的内容重新挂载文件系统
作者Liyy学习笔记
‘肆’ linux下如何查看grub版本号
grub-install --version
‘伍’ 如何由linux进入grub
出现grub?
那你的系统还没有启动啊,grub只是一个引导程序。
一般情况下你要告诉grub你需要启动那个驱动器的系统。
如果你的windows系统是安装在c盘的
那么你可以这样启动你的系统:
grub>rootnoverify
(hd0,0)
grub>chainloader
+1
就可以进入windows系统了。
如果你确定你安装了linux的话,你需要制定
kernel
和
initrd
文件。
如下:
grub>kernel
(hd0,x)/boot/vmlinuz
ro
root=label=/1
(如果你不知道你的linux安装在哪儿了,你只需要输入到"(hd0,
"然后你按tab键,系统会自动列出你当前盘中的分区信息,一般linux都是安装在第一个ext3分区的。假如是(hd0,2),你把x替换成2就可以了,下面同理)
grub>initrd
(hd0,x)/boot/initrd.img
grub>boot
就可以了,其中的x代表你安装linux的分区。
‘陆’ linux开机如何进入grub界面
我不知道大家为什么都说按esc键,我按esc键就没有任何反映,重点是一定要用鼠标把虚拟机当前系统窗口点为激活状态,也就是说虚拟机系统窗口看不到鼠标了,然后你再按“任意键”就可以进入可选菜单了,说一下我的环境
VMware15Pr 安装在win10操作系统上
CentOS 5.11 安装 在VMware虚拟机上
从虚拟机开启linux想要进入启动时的grub需要注意几个点:启动菜单是否配置好,手速是否够快,系统蓝色窗口是否被鼠标激活等,说明如下~~
/boot/grub/menu.lst(或者/boot/grub/grub.conf),此文件是否timeout参数设置过小,默认是5秒,如果你手速不够快的话,可以改成10或者20秒。不够快的话系统会默认进入可选菜单的第一项
hiddenmenu参数默认开启,也就是说默认菜单选择界面是不显示的,只显示蓝色界面(当然你手速够快也没啥大问题),如果想开机显示可选菜单就把这个参数给注释掉,前面加上# 变成 #hiddenmenu
以上都没有问题后,在蓝色界面出现时按任意键就能够进入可选菜单,这时按下方界面说明 按e、a、c、b等键可进行grub命令控制或者修改你的menu.lst文件
‘柒’ grub怎么启动linux系统
如果没有备份文件时可以使用grub的交换功能,可以在”grub>”命令行下进行以下操作以手动启动系统:
查找/boot/grub/grub.conf分区所在的目录:
grub>
find
/boot/grub/grub.conf
(hd0,0)
需要注意的是,上述命令将得到的是grub.conf配置文件所在的系统的分区,(hd0,0)即表示它在分区hda1
查看grub.conf文件错误使用如下的命令:
grub>
cat
(hd0,0)/boot/grub/grub.conf
需要注意的是,可以查看配置文件到底什么地方出现了错误,以便进入后修改。
指定/boot分区使用命令:root
(hd0,0)
从此步骤开始,即为本文前面提到的grub配置文件的主要引导步骤,只是一般都是系统读取grub配置文件,出现问题时我们可以使用手动启动。
指定内核加载的命令:kernel
/boot/vmlinuz
ro
root=label=/
指定镜像文件所在的位置可用如下命令:initrd
/boot/initrd-2.6.24-1.3194.fc7
从/boot分区启动可以使用如下命令:boot
(hd0,0)
此时系统即可正常启动,实际上以上步骤就是执行了grub引导期间加载grub.conf文件的步骤,当系统正常启动后将grub配置文件修改正确后即可。
‘捌’ grub 命令行启动Linux
电脑上已有别的分区,装这个系统的时候也可以选择安装grub啊……
你是想用grub4dos来启动RHEL是吧?
titile
RHEL
root
(hd0,2)
kernel
/boot/vmlinuz-2.6.30-0.2.rdt.rhfc3.ccrma
ro
root=/dev/hda3
vga=792
quiet
lapic
initrd
/boot/initrd-2.6.30-0.2.rdt.rhfc3.ccrma.img
不清楚你装的具体的内核版本是多少,所以不知道上面的kernel行和initrd行该怎么改。不过只要和你安装的一样版本的就应该是一样的。你安装的分区在第三个主分区,所以root行是(hd0,2),kernel行
root=/dev/hda3或者root=/dev/sda3(看你是什么接口的硬盘啦……)
只有这里有影响。你看看镜像文件中的内核版本是多少,然后相应的改一改试试吧……
‘玖’ linux启动文件管理器命令
linux启动管理器叫grub
GNU GRUB 是一个多重操作系统启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB 最初由Erich Stefan Boleyn 设计和应用;
系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;
Linux中GRUB的范例配置文件
grub的配置文件位于/boot/grub/grub.conf其内容如下。
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-164.el5.img
‘拾’ 如何用grub装linux
如果你想在g盘装linux那么你要先删除g盘,因为linux的文件系统和windows的不同,windows是不认linux的文件系统的,但反过来可以。如果你是新装linux的话不用去管grub的安装。因为在系统安装是他会给你装的。但是如果你是先装了linux在装windows的话,你需要重写grub才可以引导linux具体步骤是:
1.把第一张安装光盘放进光驱,进入引导界面后按F5,然后打linux rescue
2.进入单用户模式后,打chroot /mnt/sysimge
3.打命令grub-install -/dev/hda
注:/dev/hda这里是硬盘名称,就是第几块硬盘的意思,如果你就一块硬盘就按这个命令打就可以
linux的版本也很多,redhat最新的版本是FC5,redhat已经宣布redhat9.0已经停止升级服务了,建议你用FC5,另外SUSE10.1也不错,对于初学者的话,最好用这两个之一。