当前位置:首页 » 操作系统 » grublinux引导

grublinux引导

发布时间: 2024-05-05 22:37:56

❶ 璇烽梾镐庝箞鐢╣rub2鐩存帴寮曞纨in10锛屾湰浜篖inux鏂版坠

1銆侀栧厛鍦╒MWare鎴胧irtualBox涓镓ц寀pdate-grub锻戒护锛屽傛灉鏄鍙岀郴缁鎴栬呬笁绯荤粺锛岄偅涔埚皢鐪嫔埌GRUB浠ュ强鍏朵粬镎崭綔绯荤粺鍏ュ彛銆

linux系统管理之grub引导

什么是GRUB

GNU GRUB 是一个多重操作 系统 启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB 最初由Erich Stefan Boleyn 设计和应用;
系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;

Linux 中GRUB的配置文件

grub的配置文件位于/boot/grub/grub.conf其内容如下。

default=0 //默认启动的内核或者说默认启动的操作系统,0表示的是第一个内核或者操作系统,依次往后排(title所指定的那一项,第一个title是0,第二个是1,依次)
timeout=5 //默认的超时时间,这里定义的是5秒,如果5秒没有选择,默认启动第一个内核或者说是第一个操作系统
splashimage=(hd0,0)/grub/splash.xpm.gz //指定grub的背景图片,因为grub是系统开机后,运行系统所必须运行的第一个程序,所以,系统所自带的文件系统还没有被挂载,好在grub可以直接访问磁盘文件,grub所识别的硬盘跟linux系统的不太一样,grub认为,所有的磁盘都是hd的,而系统则不是。所以这里是(hd0,0),第一个0表示的是第一块硬盘,第二个0表示的是第一个分区。如果要引用磁盘设备,要用括号括起来,所以这里有一个括号。
hiddenmenu //隐藏grub菜单,如果有这一项,我们将看不到grub的菜单,只能看到grub的背景图片,然后上面出现了一个 please any key to enter the menu 下面是 Booting <default=0指定的,默认是第一个title的内容> in <timeout=N 超时时间设置>... 这样子。具体的看下面的图
![]( http://upload-images.jianshu.io/upload_images/4958474-d753926ca3df5492.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

然后可以通过按任意键,进入grub的菜单。如果有多个内核的话,我们可以选择启动哪一个内核。下图是grub的菜单

![]( http://upload-images.jianshu.io/upload_images/4958474-3b21dfedd7290e30.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
下面的英文内容,相信大家也看得懂。我就不多说了。通过编辑这里的grub菜单,我们可以直接进入单用户模式,然后修改密码忘记密码的时候,可以试下这个方法。
title Red Hat Enterprise Linux Server (2.6.18-164.el5) //这就是一个标题,就是Grub菜单上所显示的内容,title关键字后面的内核,可以随便写,为了方便识别,建议还是写一些可以从字面意义看出是什么操作系统或者内核的文字描述。
root (hd0,0) //把hd0,0设置为根目录,方便访问.设置文件访问的起始点,这里设置的根,是grub的根。

kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet //指定内核文件,在内核后面跟的root,指的是操作系统的根目录在哪儿. rhgb是redhat的一个小工具,显示各种输出的信息,包括硬件的初始化,quit表示是静默模式,不输出信息.启动系统的时候会卡一下,然后出现redhat就是因为没有显示rhgb小程序的输出信息.
initrd /initrd-2.6.18-164.el5.img //可以认为这是一个驱动程序,系统刚开机的时候,Grub第一个启动,要挂载文件系统,就要从文件系统里面读取驱动,如果驱动在内核里面还好,如果不在内核里面了,那不就……所以,这个可以认为是一个驱动。其实,他是一个微小的linux系统,这个系统里面,只包含了驱动程序,没有其它文件。可以先把它重命令为.gz的,然后解压,解压后再用cpio解压,就可以看到其内容了。目录结构跟你的linux系统是一样的,只不过没有文件,只有驱动程序而已。

刚才说过,可以直接通过这里改密码,这样是很不安全的。也就是说,如果别人能接触到我们的物理服务器,他就可以直接更改我们系统的密码,所以,我们可以给grub 加密 码,加密码的方法就是直接在grub.conf中指定,可以用关键字password 后面跟密码来实现,但是这样的密码是明文的,也不安全,所以我们可以用password --md5 通过grub的md5加密工具来加密,然后写到password --md5的后面。grub的md5加密工具是grub-md5-crypt ,直接使用这个命令,输出密码,然后会生成一段MD5加密后的值,写到关键字后面就可以实现md5加密grub了。
写的位置的不同,加密的效果也就不一样,我们可以写到一个title里面,只对指定的内核或者说操作系统来加密,当启动该内核或者系统的时候,会要求用户输入grub的密码。当写在所有的title外面的时候,编译grub菜单的时候,会要求输入密码,这时候密码先按p键输入密码,然后再按e键,才能编辑。
手动安装GRUB
安装grub有两种方法可以使用。下面进入详细的介绍,如果某些地方说的不太准确,希望大家能够提出,TKS

第一
可以使用grub-install命令来进行安装,具体方法是
grub-install --root-directory=/要安装到哪个目录 /要安装的设备
例:我这里用 虚拟机 演示一下,新加了一块磁盘,然后分区格式化(该操作不演示),然后挂载,然后用命令安装,如下图
x
注意:这里挂载点一定是boot目录,可以不是/mnt,但最后挂载的目录名字,一字叫boot,不然会出问题的。还有安装的时候--root-directory=一定不要指定到boot目录,要指定到boot所在的目录,因为grub安装的时候,会去找boot目录,如果找不到,会报错的。当我们把盘挂载到boot之后,可以认为,该盘的名字就叫boot,所以,它会在该盘内写入bootloader,以引导系统,如果我们安装的时候指定到了boot,那么就是把bootloader的内容写到了文件里面,而不是硬盘的MBR。切记切记。我做了好多次都没做出来,就是犯了这个错。

安装完成后,我们新建一个虚拟机,创建磁盘的时候,使用已有磁盘,找到我们安装过grub的磁盘,然后使用之即可。开机之后,会惊喜的发现,出现了grub的提示符。
![]( http://upload-images.jianshu.io/upload_images/4958474-a6b446eee903d400.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

第二种方法(有点儿麻烦):
首先把 /usr/share/grub/i386-redhat/里的所有文件,拷贝到grub目录
注意:这里同上,一定要挂载到boot目录下,无论boot目录在哪
![]( http://upload-images.jianshu.io/upload_images/4958474-5bc61b8664d71e60.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
然后开始grub的安装,直接使用命令grub
![]( http://upload-images.jianshu.io/upload_images/4958474-83d9432c7ef95f52.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
root (hd2,0) 表示grub要安装到第三块硬盘第1个分区上
setup (hd2) 指定要安装的设备,设备为第二块硬盘,安装完成后quit命令退出就可以了,至于图片,我就不上了,绝对是可以的。

❸ Linux与Windows 10用grub引导教程

去年暑假的时候,写了一篇如何装 Linux 和 Windows 10 双系统的文章发在了上,我写这篇文章的原因是当初装双系统确实是折腾了许久,网上也找不到一篇详尽的教程。由于去年对于写教程还不是熟练,而这一年多的使用过程也遇到了一些问题,所以就准备“Refactoring”这篇文章。

在教程正式开始之前,先花一点时间说明 EFI 分区的组成和作用。
首先,在你装了 Windows 之后,Windows 在装机过程中会将硬盘划分出一个约 100m 大小的分区,称为 EFI 分区这个分区就是起引导作用的。在资源管理器中是看不到的这个分区的,可以在磁盘管理中看到,管理则需要借助 DG 工具 。便于说明,在装好了 Linux 之后,我将 EFI 挂载至 boot 分区截图:

可以看到,该分区包含 3 个文件夹(如果你没有装 Linux 的话,就只有两个),分别是 Boot、Microsoft 和 Manjaro,其中 Boot 文件夹就是 UEFI 引导所必需的文件。
我们继续打开 Microsoft/Boot 文件夹:

这些文件就是启动 Windows 10 所必需的,包含了语言包、字体等,BCD 包含了 Windows 引导开始以后的信息。其中, bootmgfw.efi 是 Windows 默认引导文件

以上是采用 UEFI 启动 Windows 10 的文件结构,也就是说,当你按下开机按钮的时候,首先 UEFI 找到 EFI 分区的 Boot 文件夹,然后加载 bootx64.efi 文件,读取文件信息,找到 EFI/Microsoft/Boot/bootmgfw.efi ,按照 bootmgfw.efi 的要求,加载所需的启动信息,启动 Windows 10。

在正式装系统之前,我们还需要做一些准备工作:

这个功能的作用是在于关机的时候不完全断电,类似将系统处于“休眠”状态,这样可以让开机更加迅速。但这也就导致了只能使用 Windows 系统。

在默认情况下,UEFI 固件只会加载那些被签名的引导程序。在缺少 Secure Boot 功能的传统 PC 机上,恶意的后门程序可以加载自身,进而摇身一变伪装成一个引导程序。这样的话,BIOS 就会在启动的时候加载后门程序,这样它就可以躲过操作系统,把自己隐藏得很深。
但是不得不说,这对我们安装 Linux 造成了很大的困扰,也是直接导致我们重启到 Windows 10 后进不去 Linux 的原因。
首先我们要关闭这个功能:进入 BIOS 找到 Secure Boot,选择 disabled,这样就关闭了。当然,有些人进入 BIOS 会发现 Secure Boot 这个选项是灰色的(比如我的就是),这时你需要先给你的 BIOS 设一个密码,然后就能关 Secure Boot 了。

所有的准备都已经完成,这时就可以准备刻录 U 盘了,不推荐 UltraISO,经亲测,软碟通仅刻录 Ubuntu 能成功,其它绝大多数发行版都会失败。推荐“ Rufus ”和“ USBWriter ”,这两个软件都可以。
刻录完成后,重启按 f12 ,选择从 USB 设备启动,对于绝大多数发行版来说一路回车就行了,只需要注意一点: 在选择挂载 boot 位置的时候,一定要挂载在 efi 分区 ,别的都不行。
重启之后,不出意外的话,你会直接进入 Windows 10,不要担心,这时 Linux 已经安装成功了,我们只需要将引导文件替换一下。

先用 DG 打开 EFI 分区,你会看到多了一个文件夹,名称取决于你安装的是哪一个发行版。我安装的是 Manjaro Linux,名称就是 Manjaro,打开之后会发现里面有一个名为 grubx64.efi 的文件,这就是启动 Linux 的引导文件。和 Windows 10 的 bootmgfw.efi 类似,我们想要用 grubx64.efi 引导代替掉 bootmgfw.efi,这样就可以用 GRUB 引导了。步骤:

至此,如果你安装的是除 Arch 之外绝大多数发行版,那么接下来就和你没有啥关系了,你已经成功了,好好享受吧!

开机之后会发现进入 GRUB 的引导了,通常会包含至少三个选项(以 Manjaro 举例):Manjaro、Manjaro 高级选项和 Windows Manager。这就代表你已经完美的解决了 Windows 和 Linux 双系统引导的问题。

这一点是我安装 Arch Llinux 的时候发现的,Arch Linux 安装过程是手动安装的,在编写 GRUB 的时候会扫描不到 Windows Manager 所在的分区(当然可能不是所有人都会遇到),所以在 GRUB 界面可能会看不到 Windows Manager 选项,导致进不去 Windows 10,这里就需要手动编辑 GRUB 信息,我们打开 /boot/grub/grub.cfg 文件,发现里面确实没有 Windows 10 的启动信息,在后面加上:

注意

这里的 $hints_string ,代表的是终端执行命令:

后的输出;

而 $fs_uuid 代表的是:

的输出。

然后保存。在终端执行命令: sudo grub-mkconfig -o /boot/grub/grub.cfg ,就 OK 了。

到此,Arch Linux 和 Windows 10 双系统也配置完毕了。

在使用这一年多的时间,遇到了以下的几个问题:

最后:祝使用愉快。

❹ linux瀹夎単rub锻戒护grublinux寮曞

濡备綍浠巊rubrescue杩泈indows锛

濡备綍鍦ㄢ済rubrescue钬濅腑杩涘叆windows镄勫紩瀵笺

浣犲彲浠ュ皾璇:

1.

璁剧疆grub浣岖疆grubrescue>setprefix=(hdX,Y)/boot/grub(hdX,Y)鍗/boot镓鍦ㄥ垎鍖恒傚傛灉鏄镫绔媌oot鍒嗗尯,鍒檚etprefix=(hdX,Y)/grub,

2.

锷犺浇妯″潡grubrescue>insmodnormal

3.

杩涘叆寮曞艰彍鍗旷晫闱grubrescue>normal濡傛灉涓嶈兘姝e父寮曞艰繘鍏ョ郴缁,鍙浠ラ夋嫨寮曞奸”

grub镐庝箞鍒犻櫎镆愪釜绯荤粺寮曞硷纻

阃氩父𨱒ヨ达纴链钖庡畨瑁呯殑闾d釜绯荤粺鏄榛樿ゅ湪钖锷ㄨ彍鍗旷涓浣岖殑锛屽傛灉浣犵殑grub鏄瀹夎呭湪MBR镄勶纴涓旀病链夋洿鏀硅繃grub凿滃崟钖锷ㄩ‘搴忥纴闾d箞杩涘叆榛樿ょ殑fedora锛岀劧钖庡皢鍙︿竴涓猣edora镓澶勭殑鍒嗗尯鍒犻櫎锛堥吨鏂版牸寮忓寲锛夊氨鍙浠ヤ简锛屽惁鍒椤氨瑕佺湅浣犵殑grub鏄鍦ㄥ摢涓猣edora鍒嗗尯灏变缭鐣欙纴鍒犻櫎鍙﹀栦竴涓銆

win10镐庝箞寮曞纡buntu锛

鍐呭瑰氨鏄璁剧疆涓浜涘父瑙勯”浜嗭纴链钖庡氨寮濮嫔畨瑁咃纴缁撴潫钖庝细璁╀綘镓嫔姩阃夋嫨restart銆

杩涘叆Windows10涔嫔悗锛屽畨瑁匛asyBCD锛岀劧钖庢柊澧炰竴涓钖锷ㄩ”锛岄夋嫨Linux/Grub2锛屽惎锷ㄤ綅缃阃夋嫨鍒氭墠/boot镓鍦ㄧ殑浣岖疆锛埚傛灉鏄涓阌呯锛屽垯鏄/镓鍦ㄧ殑浣岖疆锛夛纴淇濆瓨阃鍑猴纴閲嶅惎灏卞彲浠ョ湅鍒癠buntu镄勫叆鍙d简銆

Linux绐佺劧钖锷ㄤ笉浜嗕简锛屽紑链哄彧鑳借繘鍒癵rub>閲岋纴镐庝箞锷炲晩锛熸ワ纻

鎶婂嚭阌欎俊鎭璐翠笂𨱒ャ傝兘杩汫RUB涓嶈兘杩涚郴缁燂纴涓鑸璇存槑寮曞煎垎鍖烘湁鍙桦姩锛汫RUB閲屼篃链変簺锻戒护鍙浠ョ敤锛岃瘯璇旷敤HELP杩欎釜锻戒护鐪嬬湅锛

寰杞杩欐¢潪甯告棤钥荤殑鐩楃敤浜嗙被UINUX绯荤粺钖锷ㄥ垎鍖猴纴浠ュ墠镄勬俯鍒版绘槸镙规湰娌℃湁BOOT鍒嗗尯镄勶纴鐪嬫潵涓嬩竴涓鐩镙囨槸瑕佹妸寰杞寮曚互涓哄偛镄勬敞鍐岃〃鍙栨秷浜

kali鍗旷郴缁熸庝箞寮曞硷纻

鐩存帴瑁咃纴浣嗘槸链钖庤呭湪Linux鍜学indows镄勫垎鍖哄悗闱㈣屼笖涓嶅奖鍝嶅墠闱涓や釜绯荤粺镄勫垎鍖恒

瑁呯殑镞跺欎笉瑕佽呭紩瀵肩▼搴忥纸涓鑸灏辨槸grub2锛夛纴铹跺悗瑁呭畬浜嗙洿鎺ヨ繘鐜版湁镄刄buntu镄刧rub閰岖疆鏂囦欢閲屾坊锷犲垰瑁呯殑Linux镄勫紩瀵艰彍鍗曞氨鍙浠ヤ简銆

❺ 🎂急急急!Linux的操作系统引导器是什么它有哪几种操作界面

一、GRUB简介
GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

二、GRUB的组成

grub分为三个部分
第一部分被放在MBR中前446字节里(MBR共512字节,中间54字节存放磁盘分区信息,最后2字节判断MBR是否损坏),主板启动时首先会读取MBR里的内容,所以grub是系统内核启动之前就启动的。
第二部分放在MBR之后的扇区中,存放的是文件系统的驱动程序,可以在系统内启动分区没挂载的情况下读取磁盘内里的指定内容
第三部分就是存在磁盘分区中的内容,里面是grub的配置信息,内核文件,这里就是gurb的根分区

三、GRUB的功能
1、提供菜单,并提供交互式接口(e: 进入编辑模式 在内核后添加single,后按b就可以进入单用户模式、c:进入命令行接口模式)
2、选择要启动的内核或系统(允许传递引导参数给内核,选择界面可隐藏)
3、为编辑功能提供保护机制(选择运行指定的内核得先输入密码、使用e命令得先输入密码)

四、 grub的两种形式
1、图形模式
系统启动之前开始出现倒数秒数的时候,按esc可以进入grub界面(一般是隐藏的,会启动默认的系统)选择我们想要启动的不同系统。
2、命令行模式
系统启动前倒数秒数的时候按esc进入图形界面,之后按c键会进入命令行模式。
grub的命令行接口 :
help:获得帮助列表
root (hd#,#) 设置哪儿块磁盘为根
kernel /path/to/kernel_file :设置本次启动时用到的内核文件 vmlinuz(z表示压缩的意思);额外还可以添加许多内核支持使用的cmdline参数
initrd /path/to/initrd_file : 设定为选定的内核提供额外文件的ramdisk;要和内核版本一样
boot:引导启动选定的内核

五、GRUB的配置文件: /boot/grub/grub.conf
配置项:支持命令行补全(tab)
default=#: //设定默认启动的菜单项
timeout=#: //指定菜单项等待选项选择的时长
splashimage=(hd#,#)/path/to/xpm_pic_file : //指明菜单背景图片所在路径(gimp 640*680)
hiddenmenu : //隐藏菜单
password [--md5] string : //菜单编辑认证
title TITLE : //定义菜单项“标题”
root (hd#,#): //grub查找stage2及kernel文件所在设备分区;为grub的“根”
kernel /path/to/vmlinuz_file [parameters]: //启动内核并设置额外参数
initrd /path/to/initramfs_file: //内核匹配的ramfs文件
password [--md5] string : //启动选定的内核或操作系统时进行认证 【grub-md5-crypt 生成密码】

六、安装GRUB命令
使用grub-install命令
# grub-install [--root-directory=DIR] DEVICE
--root-directory=指定的路径必须是内核及initrd文件所在的分区的挂载点的父目录,且此挂载点必须叫boot。

热点内容
2016邮件服务器搭建 发布:2024-11-27 12:45:15 浏览:927
pythonstrptime 发布:2024-11-27 12:34:50 浏览:954
怎么判断组装电脑配置真假 发布:2024-11-27 12:30:18 浏览:379
周鸿祎编程 发布:2024-11-27 12:30:12 浏览:615
索赔的脚本 发布:2024-11-27 12:30:09 浏览:547
什么是淘宝数据库 发布:2024-11-27 12:30:08 浏览:373
联系辅导员重设密码需要什么 发布:2024-11-27 12:19:16 浏览:510
android刷系统 发布:2024-11-27 12:18:40 浏览:915
安卓什么是id密码 发布:2024-11-27 11:52:39 浏览:446
zjs解压 发布:2024-11-27 11:33:10 浏览:159