grub启动linux
❶ linux开机grub>命令修复方法
出现grub rescue模式一般是硬盘分区出现变动、导致旧的grub找不到启动文件而出现的。
出现错误具体原因未知,但开机不能引导肯定是grub配置文件出错,/boot/grub2/grub.cfg
解决方法:
2,grub> 模式下:
输入:ls 查看所有磁盘分区:hd。x,x......
用:ls hd(x,x)/grub 找grub所在的分区,有正确执行结果的便是
找到linux所在分区后执行:
set prefix=hdx,x/grub
set root=hx,x
insmod normal
再使用normal命令进入系统后,再修复grub 配置。
or:
查找boot分区:
find /boot/grub/menu.lst 或者 find /boot/grub2/grub.cfg
输入以下命令:
cat hd0,7/boot/grub/grub.conf
关于内核信息的,看一下就明白了。
按照下面命令依次输入
指定/boot分区使用命令:
grub>root hd0,0
grub>kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb quiet 回车
grub>initrd /boot/initrd-2.6.18-53.el5.img 回车
boot 回车启动
❷ 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(看你是什么接口的硬盘啦……)
只有这里有影响。你看看镜像文件中的内核版本是多少,然后相应的改一改试试吧……
❸ 如何运用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启动菜单
对于此类问题可用如下方法解决:
1.可用光驱或U盘引导系统到纯DOS下(做U盘引导盘应该会吧)
2.在C:\下用dir/p/a查找是否有boot.ini文件(都在操作系统盘内)
3.找到boot.ini文件后用edit
boot.ini命令编辑文件
4.一般出现这种现象时boot.ini文件内容会有c:\grub或\boot\grub等内容.可参照另外一台与你电脑操作系统相同的电脑的boot.ini文件修改,需注意字符别错了.
如是XP
专业版系统也可按如下修改:
[boot
loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating
systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
Windows
XP
Professional"
/noexecute=optin
/fastdetect
本行不是,上文中最后两行在boot.ini中是一行,注意字符和空格别错了
5.改后存盘,重启即可回到XP.
有几点需注意:1.光盘或U盘必须能引导到纯DOS下
2.boot.ini文件可能含有系统.隐藏.只读等属性,可用attrib命令修改后执行编辑.
3.也可将用于参照的boot.ini文件到U盘,再覆盖你电脑的boot.ini文件.
❺ U盘启动器grub 安装linux
1、要让U盘可以启动系统。
有两个操作,一个是设置bios让主板从USB HDD或是USB ZIP启动,另一个是将U盘制作成启动U盘。
2、把grub4dos装到U盘中
这一步需要grub4dos这个软件,将其解压缩,找到两个文件:grub.exe、grldr、menu.list,将这两个文件复制到U盘的根目录中,此时根目录中已经有很多文件了,其中包括DOS系统文件和DiskGenius的一些文件,我的目的是装系统,所以DiskGenius文件并不需要,但我发现这个软件真的很好噢
2、把grub4dos装到U盘中
这一步需要grub4dos这个软件,将其解压缩,找到两个文件:grub.exe、grldr、menu.list,将这两个文件复制到U盘的根目录中,此时根目录中已经有很多文件了,其中包括DOS系统文件和DiskGenius的一些文件,我的目的是装系统,所以DiskGenius文件并不需要,但我发现这个软件真的很好噢。
图6 U盘中的文件
3、Linux启动文件
从iso中将vmlinuz、initrd.gz(文件位置iso/image/boot.iso/isolinux)这两个文件解压缩出来,放在U盘中的boot文件夹下。
修改menu.list文件,在最后面加上下面几行,这几行代表什么意思应该不用多说拉,使用过Grub的都有经验。
title Linux Install Setup
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hda1
initrd /boot/initrd.img
4、启动电脑
接下来的事儿就是启动电脑,正常的情况是走到步骤1的结尾,就是有DOS提示符的那里(如下所示),此时输入命令grub即可。
C:\>grub
启动后是GRUB4DOS的启动界面,最后一行就有我们修改过的标题Linux Install Setup。选择这个标题开始booting。
接下来就是一系列的文字界面对话框,选择语言、键盘类型。
之后出来的对话框是比较有用地,Installation Method,也就是安装方法,有以下几种:
Local CDROM
Hard drive
NFS image
FTP
HTTP
这里我用的是Hard drive,之前已经将安装的iso文件复制到U盘中。
接下来是选择iso在哪个盘里,根据不同电脑的情况这里就不一样拉,自己看着办喽。
例如:
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sdb1 ------u盘位置,选择
顺便说一下吧,如果有配置服务器的话也可以用下面三种方式安装,这在装多台机器的时候能体会到便利之处。再往下就是正常安装系统拉。
❻ 如何用GRUB引导LINUX
步骤如下:
a 进入grub的命令模式。进入grub界面后按C键进入命令行界面。
b 先熟悉一下grub 的一些命令 grub>help
c 熟悉一下cat命令
d root指令来指定/boot所在的分区
e kernel指令来指定linux的内核,及所在的分区
f 用initrd命令来指定initrd文件
g boot引导系统
cat命令的用法
cat指令是用来查看文件内容的,有时不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知, 这时,就要用到cat (hd[0-n],y)/etc/fstab 来获得这些内容;注意要学会用tab键命令补齐的功能;
grub> cat ( 按tab 键会出来hd0或hd1之类的;
grub> cat (hd0, 注:输入hd0,然后再按tab键;会出来分区之类的;
grub> cat (hd0,6)
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is fat, partition type 0xb
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
Partition num: 7, Filesystem type unknown, partition type 0x83
Partition num: 8, Filesystem type is reiserfs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82
grub> cat (hd0,6)/etc/fstab 注:比如我想查看一下 (hd0,6)/etc/fstab的内容就这样输入;
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,
managed 0 0
主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和 Linux的/处于同一个硬盘分区;比如上面的例子中LABEL=/ 这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;
如果您的Linux系统/boot和/没有位于同一个分区,可能cat (hd[a-n],y) 查到的是类似下面的;
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
root (hd[0-n,y) 指令来指定/boot所在的分区;
其实这个root (hd[0,n],y)是可以省略的,如果省略了,要在kerenl 命令中指定;前面已经说过 (hd[0-n],y) 硬盘分区的表示方法的用途;主要是用来指定 /boot所在的分区;
eg:
grub> root (hd0,0)
kernel 指令,用来指定Linux的内核,及/所在的分区;
kernel 这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用;
如果已经通过root (hd[0-n],y) 指定了/boot所在的分区,语法有两个:
如果/boot和Linux的/位于同一个分区,应该是下面的一种格式;
kernel /boot/vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X
如果/boot有自己独立的分区,应该是;
kernel /vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X
在这里 root=/dev/hd[a-z]X 是Linux 的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分区或分区的标签;
grub> kernel /boot/在这里按tab键;这样就列出/boot中的文件了;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369
_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55
.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
注解: root=LABEL=/ 是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。比如下面的一行也是可以的;
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
也可以把/boot所在的分区的指定 root (hd[0-n],y)这行省掉,直接在kernel 中指定/boot所在的分区;所以就在下面的语法;
如果是/boot和Linux的根同处一个分区;
kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X
比如:
grub>kernel
如果是/boot和Linux所在的根不在一个分区;则是;
kernel (hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
[Linux-bzImage, setup=0x1e00, size=0x18e473]
或下面的输入,以cat 出/etc/fstab内容为准;
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
initrd 命令行来指定initrd文件;
grub> initrd /boot/initrd在这里tab 来补齐;
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的;
grub> initrd /initrd在这里tab 来补齐;
grub> initrd /initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
boot 引导系统;
grub>boot
下面是在我机器上的命令:
grub> cat (hd0,0)/etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/在这里按tab补齐,全列出/boot所有的文件;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4
memtest86+-1.55.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
grub> initrd /boot/在这里按tab补齐
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK
memtest86+-1.55.1 xen-syms xen.gz
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;输入intrd文件名的全名;
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
grub> boot
❼ 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文件
❽ Linux启动时显示Grub命令行及修改
1、在启动linux系统时,如果/boot/grub/grub.cfg文件损坏或者不存在时,启动linux时,就会有Grub命令行的提示。
如下操作,将系统自带的grub.cfg文件改名。
2、重新启动系统后,发现和自己预想的一样,没有出现引导菜单。
3、在grub命令提示符下,可以使用一些命令加载内核和文件系统,设置根目录的分区。
有的grub使用
linux
/boot/vmlinuz-xx
有的grub使用kernel
/boot/vmlinuz-xx,可自己输入一个首字母,按TAB键查看,演示的grub支持的是linux命令
4、过一会出现下面的界面。
->
sudo
update-grub
->sudo
grub-install
/dev/sda
输入这两个命令后,新的grub.cfg就生成了,跟之前文件的一样(前提是没有对文件做任何更改)。
❾ linux grub启动如何进入单用户模式
在grub引导下,系统启动后,出现grub的引导菜单,用上下健选中所要启动的linux系统,然后按字母“e”,进入编辑模式。之后再选中系统的启动内核项(如:kernel
(hd0,0)/boot/vmlinuz
or
root=/dev/hda1
)再次按字母“e”,出现grub>提示,
如下:grub>kernel
(hd0,0)/boot/vmlinuz
or
root=/dev/hda1
在上面的hda1后空一格,输入init
n(init
和n之间有空格,其中n为要求系统进入的运行级别,1
为单用户模式,在这个模式下默认root用户登陆,不要求密码,所以可以在忘记root密码的情况下在这里修改root用户的密码,2
为多用户文本模式(没有nfs),3
为完整的多用户模式(文本),5
为xwindows模式)
完成后如下:
然后回车确认,自动返回前一页面,然后再按字母“b”启动系统就可以以修改后的运行级别进入系统,(在这里的修改只影响本次启动,不会修改系统的/etc/inittab文件)。
❿ Linux如何启动流程Linux启动流程详解
当用户打开电源后,BIOS开机自检,确定启动设备,安装启动设备,启动设备上面安装的GRUB开始引导Linux,Linux首先先进行内核引导,通过跟切换,执行init程序,init程序确定启动级别,根据启动级别进行系统初始化和运行的服务,然后返回init启动终端,用户通过验证成功登陆Shell,这就是一个从开机到登陆的启动过程。
一、硬件引导启动
当用户打开电源后POST开始自检,检测硬件设备是否确实或者存在故障(是否影响正常开机),如果不影响正常开机,就把任务交给BIOS。BIOS通过搜索,安装启动确定启动设备,启动项为硬盘,BIOS去读取硬盘的前512字节到内存,找到BootLoader,确定GRUB
二、GRUB引导启动内核
这一部分概况起来就是:GRUB程序加载执行并开始引导kernel程序
Boot Loader就是在操作系统内核运行之前运行的一小段程序。通过GRUB引导可以确定内核程序,因为引导扇区只有446字节,GRUB只是一个小的程序安装在里面,真正使用的在MBR后面的扇区存放,我们想使用Bootloader GRUB功能必须读取后面的文件,Bootloader GRUB功能程序的运行和加载配置选项分为三个阶段
Stage1阶段:
Stage1阶段其实就是执行系统安装时预先写入到MBR的Bootloader中的程序。
Stage1阶段的任务仅是将硬盘0柱面0磁道2扇区的内容读入内存并执行,它是Stage1.5阶段或Stage2阶段的入口,引导进入Stage1.5阶段或Stage2阶段。 在此Stage1阶段,还没有识别文件系统的能力。
Stage1.5阶段:
stage1.5阶段是stage1阶段和stage2阶段的中间桥梁。stage1.5阶段具有识别启动分区文件系统的能力,此后GRUB程序便有能力去访问/boot分区下/grub目录下的 stage2文件,并将stage2载入内存执行。
Stage2阶段
Stage2阶段执行时,首先会解析GRUB程序的配置文件grub.conf,并依配置文件决定是否显示系统启动菜单。然后加载内核镜像到内存中,通过initrd程序建立RAMDisk内存虚拟根文件系统。此时控制权将转交给内核程序。
三、内核引导启动
这一部分主要是通过在内存中建立虚拟根文件系统实现相关设备的驱动并建立和切换到真正的根文件系统。
解压内核镜像加载到内存,以及initrd程序建立RAMDisk内存虚拟根文件系统后,内核开始驱动基本硬件,并调用虚拟根文件系统中的init程序加载驱动模块初始化系统中各种设备的相关配置工作,其中包括CPU、I/O、存储设备等。当所需的驱动程序加载完后,会根据grub.conf配置文件中“root=XXX”部分所指定的内容创建一个根设备,然后将根文件系统以只读的方式挂载,并切换到真正的根文件系统上,同时调用系统进程的/sbin/init程序,进入系统初始化阶段。
四、系统初始化
这一步是通过/sbin/init,init程序准备软件运行坏境,启动系统服务
通过/etc/inittab文件确定运行级别,然后去执行系统初始化脚本/etc/rc.sysinit,为用户初始化用户空间环境,在完成初始化后,根据运行级别,系统开始对应级别的目录启动服务,关闭那些不要的服务(里面S99local -> ../rc.local)用户自动服务启动脚本
运行级别:为系统运行或维护等目的而设定;0-6:7个级别
0:关机
1:单用户模式(root自动登录), single, 维护模式
2: 多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;可同3级别
5:多用户模式,正常模式;图形界面
6:重启
默认级别:3, 5
切换级别:init #
查看级别:runlevel ; who -r
五、启动终端,用户登录
这一步是用户登录shell过程
如果没有改变级别,默认情况执行/sbin/mingetty打开6个纯文本终端,让用户输入用户名和密码。输入完成后,再调用login程序,核对密码。如果密码正确,就从文件 /etc/passwd 读取该用户指定的shell,然后启动这个shell。更多Linux介绍请查看《Linux就该这么学》。