当前位置:首页 » 操作系统 » grub源码分析

grub源码分析

发布时间: 2022-05-14 15:00:18

1. 如何用系统引导程序Grub安装三系统不冲突

一、分区
本人的电脑中有两块硬盘,基本的想法是80G为Win系统,10G的硬盘放两个linux系统,第一块硬盘中已有Win2K系统,如果你只有一个硬盘,可以用PQ分一个空区出来,然后在空出来的区中划一个交换分区,格式为/swap,大小一般为内存的1.5倍,如果你的内存为512M或者以上的交换分区和内存大小一样就行了,再分出两个大小为5G左右的根分区,格式化为EXT3。这样做的好处就是当安装完Linux系统后,Win系统不会因为不识别EXT3格式再变得非常缓慢。
二、安装Linux系统
现在安装Linux已经非常方便了,只要按屏幕上的提示来就行了,系统的安装不分先后,但是安装RedHat9时把Grub安装在硬盘hda1的MBR上,安装Mandrake9.1时把LILO或Grub安装到/boot的第一个扇区上就OK了。在linux中,主分区是hda1,第二个硬盘的主分区是hdb1,逻辑分区是从hda5开始的,如果有两个硬盘,可能就是从hdb5开始,以此类推。如果您不知道是怎么回事,就要用fdisk -l或df-la来查看。要安装系统的时候,也会有相应的让您选择安装位置,也是hdaX或者hdbX分区之类的,Linux下没有Win的C和D盘之分。
三、修改grub.conf
系统安装完了,但是现在只能引导RedHat9和Win系统,必须要改一下/boot/grub/grub.conf才能让三系统正常运行,用root用户进入系统,先用fdisk -ld 终端中查看你的分区情况,知道分区情况就好办了,用任何文件编辑器来打开/boot/grub/grub.conf,一般来说,Win系统会自动加载到grub里面的,下面是笔者的grub.conf文件,我们来分析一下
default=0
timeout=10
splashimage=(hd1,2)/boot/grub/splash.xpm.gz
title Windows2K
rootnoverify (hd0,0)
chainloader +1
title RedHat9
root (hd1,2)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /boot/initrd-2.4.20-8.img
title Mandrake9.1
kernel (hd1,4)/boot/vmlinuz root=/dev/hdb5 quiet devfs=mount acpi=off vga=788
initrd (hd1,4)/boot/initrd.img
default=X为默认启动的系统,0为排在第一个的系统,以此类推。
timeout=X为Grub菜单停留的时间,单位为秒
title XXX,XXX为标题,也就是你要引导的操作系统的名字,可以自己修改
root (hdX,Y)X和Y都代表一个数值,X是linux的根分区在哪个硬盘上。如你只有一个硬盘。那就是hd0。如果你的linux的一个发行版是安装在第二个硬盘,这个X,就是1。Y是代表您所安装的linux是在哪个区。这个数值有点不同,不太好说清楚。举个例子来说。比如我把Mandrake安装到第二块硬盘的第二个分区,也就是hdb5了。那他的root (hdX,Y),就应该写为root (hd1,4),也就是说Y=hdaZ或hdbZ中的Z减去1。
kernel (hdX,Y)/boot/vmlinuz root=/dev/hdaZ和initrd (hdX,Y)/boot/initrd.img就是要引导哪个硬盘分区的映像和initrd文件,一定要写正确XY的数值,不然无法引导系统。
quiet devfs=mount acpi=off vga=788为启动的参数。
rootnoverify (hdX,Y)如果不能启动Win的话,可以改为root (hdX,Y)来试试
chainloader +1意思是指定此分区上的第一个磁道来启动
想加入别的操作系统到Redhat 中的GRUB中,也不过是如此,如者用其它发行版中的GRUB来引导别的发行版,原理也是一样的。这和Win2K和XP中的BOOT.INI差不多,grub很简单吧,多试几次就会了。

2. linux系统开机出现grub

在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦! linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。 一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到文件上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm文件才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的文件就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install文件会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。 二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的文件+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用程序,-U(注意是大写):升级软件包, -pql:列出rpm软件包的相关信息,-qf:查找指定文件属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些文件,然后进入刚才解压缩后文件目录用“ls -F -color”指令看一下所得到的文件,一般有两种情况:第一种是文件为已经编译好的程序(无须再编译了)用上面的察看文件命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的程序。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行 ./configure make make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行程序。 介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。

3. u盘做pe采用grub启动iso的方式 要源代码

很高兴为您解答,源代码如下:default 0
timeout 1
title win 7 PE
fallback 5
find --set-root /win7.ISO
map /win7.iso (0xff) || map --mem /win7.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title reboot
reboottitle halt
halt

4. u盘启动出现“grub”怎么解决

解决方式:

拨下电源,打开主机,取下主板电池,过30秒安装回主板,这样可以让BIOS恢复出厂值,然后重新进入BIOS设好启动项和时间。

5. GNU GRUB 是什么

GRUB是功能强大的引导程序,可以引导多种不同类型的操作系统,例如Windows,DOS,Linux,GNU Hurd,*BSD等...GRUB的源代码可以从网址ftp://alpha.gnu.org/pub/gnu/grub下载。

6. 怎样制作linux启动U盘

介绍 UNetbootin允许你在Windows或Linux系统上创建一个可启动的Live U盘, Live U盘上的Linux发行版本的种类很多, 这个过程不需要烧制CD. 你可以直接下载现成的众多Linux发行版, 如果你已经下载好了Linux安装盘的.iso文件 ,你也可以直接使用它,或者使用你喜欢的但不在这个列表上的发行版.系统要求 Microsoft Windows 2000/XP/Vista, 或者Linux. 如果你在使用Linux版本的UNetbootin遇到了麻烦, 试试Windows版本的, 它通常运行的更好. 接通互联网的宽带连接 – 下载Linux发行版的.iso文件时需要(除非你使用预先自己下载好的文件). 特性 UNetbootin能创建一个可启动的Live U盘, 如果你没有U盘的话, 它也可以在你的本地磁盘上做一个”简单安装”. 它能自动下载并加载ISO文件, 也可以直接使用现成的ISO文件或软盘/磁盘镜像或直接使用内核文件, 参安装其他发行版.
目前内置支持的可以自动下载并加载的分发版如下: (不过, 也支持其他一些发行版的)Ubuntu (及官方衍生版本) 6.06 LTS 6.10 7.04 7.10 8.04 LTS 8.10 Daily CD Images Debian Stable/Etch Testing/Lenny Unstable/Sid Linux Mint 3.1 4.0 5-r1 6 openSUSE 10.2 10.3 11.0 11.1 Factory Arch Linux 2007.08 Damn Small Linux 4.4 SliTaz Stable Cooking Puppy Linux 4.00 gNewSense deltah-2.1 FreeBSD 6.3 7.0 NetBSD 4.0 Fedora 7 8 9 10 Rawhide PCLinuxOS 2007 2008 Sabayon Linux 4-LiteMCE Gentoo 2007.0 2008.0 MEPIS SimplyMEPIS 8 AntiX 8 Zenwalk 5.2 Slax 6 Dreamlinux 3.2 Elive Development CentOS 4 5 Mandriva 2007.1 2008.0 2008.1 FaunOS 0.5.4 Frugalware Linux Stable Testing Current
UNetbootin还可以用于载入若干系统工具:Parted Magic, 一个分区管理工具, 它可以设置分区大小, 修复分区, 还可以用于分区的备份和恢复.
Super Grub Disk, 一个启动工具, 它可以重建和修复被覆盖或者错误配置的GRUB安装或者直接启动若干操作系统.
Backtrack, 用于网络分析和突破测试工具.
Ophcrack, 恢复Windows密码的工具
NTPasswd, 用于修改Windows密码和注册表的工具
Gujin, 一个图形界面的启动器, 支持若干操作系统和媒体介质.
Smart Boot Manager (SBM), 它可以使一个无法从光驱或软盘启动的已损坏的BIOS启动.
FreeDOS, 它可以运行BIOS flash和其他遗留的DOS工具.

�0�3 参 UNetbootin内置支持列表
�0�3 参 已知UNetbootin支持的分发版的总列表
�0�3 参 UNetbootin客户化版本和插件
�0�3 参 使用UNetbootin插件 安装和截图
如果在Windows系统上使用, 运行UNetbootin, 选择加载一个Linux发行版, 软盘/磁盘镜像, 或者内核, 再选择一个目标位置(U盘或者硬盘), 完成后重启.
如 果在Linux系统上使用, 首先使文件UNetbootin可执行 (可以使用chmod +x ./unetbootin-linux, 或者右键打开”属性” -> “权限”, 选中”允许以程序执行文件” <译者注: 这里的图形化操作模式基于Ubuntu>), 然后开始运行它, 你将会要求输入密码以授予该应用程序管理员权限, 然后主窗口将出现, 请选择一个发行版和安装位置(U盘或者磁盘), 当执行完成后重启.
重 启后, 如果你在上面的安装类型中选择了USB驱动器(U盘), 请在电脑启动BIOS时按合适的按键(通常是F1, F2, F12, 或者空格键)进入启动选择菜单, 选择从U盘启动; 如果没有启动顺序选项, 请到BIOS中把U盘设置为缺省启动设备. 另外, 如果你使用的是”简单安装”, 请到Windows启动菜单中选择UNetbootin条目进入.

�0�3 参 Live U盘创建向导卸载 (仅针对安装到硬盘或”简单安装”) 如果使用的是Windows系统, 安装好UNetbootin再进入Windows的时候, 系统会出现删除的选项提示. 另外, 你也可以到控制面板的添加删除程序里卸载.

如果使用的是Linux系统, 重新运行UNetbootin (用root权限), 当提示卸载时点击OK按钮.

如果安装时目标位置是磁盘, 那么删除U盘上的启动引导文件, 备份好其他文件后格式化之就行了.

卸载UNetbootin可以简单地通过移除启动菜单的选项做到, 但如果你用UNetbootin把操作系统安装到了某个分区, 卸载UNetbootin是不会删除那个操作系统的.

要手动删除Linux安装, 你可以使用Windows恢复光盘上的fixmbr来重装Windows的启动文件, 用Parted Magic删除Linux分区然后扩展Windows分区.用UNetbootin安装其他发行版 下载并运行UNetbootin, 在弹出框中选择合适的ISO文件 (CD镜像)/软盘镜像/磁盘镜像/内核文件 (参截图). 如果对使用的ISO文件有疑虑, 请检查发行版的下载页面.
如 果你正在加载ISO文件或者软磁盘镜像, 选一下镜像就行了(仅仅需要点击OK开始安装), 否则, 如果你喜欢手工选择内核和initrd文件并填写一些特定的启动选项, 请检查发行版的启动配置文件 (通常是这些文件中包含”kernel”字样的行: isolinux.cfg, syslinux.cfg, menu.lst, 或者 grub.conf) 并把它们填写到”Options”行.有哪些翻译版本?我用哪个呢?
在最近释出的版本中,有如下语言可供使用:Espa�0�9ol / Spanish (es) / 西班牙语 Português / Portuguese (pt) / 葡萄牙语 Fran�0�4ais / French (fr) / 法语 Italiano / Italian (it) / 意大利语 中文 / Simplified Chinese (zh) / 中文 (简体) Русский / Russian (ru) / 俄语 Norsk bokm�0�2l / Norwegian (nb) / 挪威语 Magyar / Hungarian (hu) / 匈牙利语
如果上面语言之一和你的系统位置吻合, UNetbootin将自动使用你的本地语言. 另外, 语言也可以手动设置: 命令行里执行程序并添加运行选项”lang=xy” (没有引号), xy是ISO 639-1 代码中定义的二位语言代码. 例如, 运行参数"lang=es"表示将使用西班牙语. 如果要使用外置的翻译 (仅仅在当前翻译版本没有包含这种语言时需要), 请把.qm文件 (unetbootin_es.qm) 放到UNetbootin运行的目录中就行了.

如果你愿意贡献一种语言的翻译, 请下载源码的zip包找到相应语言的.ts文件. 另外, .ts文件也可以在Launchpad.net的bazaar repository浏览和下载, 目录位置是src/unetbootin. 这些.ts文件可以用Qt Linguist翻译, 这个软件可以在Trolltech的Qt下载页面下载, 对Ubuntu用户, 它已经包含在qt4-dev-tools包里了. 当你完成翻译后, 导出成.qm文件 (Qt Linguist, “File -> Release As”), 上传.ts和.qm文件到wiki并在翻译页面放置一个链接, 或者把.ts文件email给我 (参下边的联系信息).

�0�3 参 UNetbootin翻译FAQ UNetbootin是怎么工作的, 它干嘛的? 对于Live U盘创建模式, UNetbootin下载并释放ISO文件到你的USB盘, 生成一个适配的syslinux配置文件, 使你的USB盘可以用syslinux启动.

对 于磁盘/”简单安装”模式, UNetbootin使用基于Windows或者Linux的安装程序对启动引导程序作了小的修改 (Vista上是bootmgr和bcdedit, 基于NT的系统是grldr和boot.ini, Win9x是grub.exe和config.sys, Linux是GRUB ), 用启动引导程序去启动安装到磁盘的发行版, 一旦使用系统工具修复, 这些修改将回滚.它含有任何嗅探软件, 病毒, 木马或者其他有害软件么? 没有! 虽然一些杀毒软件(如卡巴斯基)因为它的自动卸载特性而提示有木马(“Trojan.generic), 但这些是错误的保护行为. 你仅需要确认你是从Sourceforge的官方下载页面得到UNetbootin软件就可以了, 一些影子源可能有问题. 如果你仍然有疑虑, 你可以下载源代码自行编译. 它是用什么语言写的? 源代码在哪里? 我怎么编译它? UNetbootin是用C++ 写的, 用的是Qt4 toolkit. 源代码的zip包可以从这里获取, 或者从Launchpad得到. Linux版本是用g++编译的, Windows版本是用mingw32编译的. 都用了稳定链接版本的qt4 (消除了外部库的依赖). 可执行文件使用了UPX以减小空间.

�0�3 参 编译 UNetbootin我怎么用UNetbootin制作自己的发行版? 可以通过如下途径创建:一个isolinux或GRUB-based ISO文件, 或 一个软盘/磁盘镜像, 或 内核和initrd文件
用以上方法的任意一种都可以制作你的发行版, 在制作模式上或者Live, 或者通过FTP安装. 然后, 报一个bug, 提供kernel/initrd链接, 或者磁盘镜像, 如此, 你的发行版将会在下一版的UNetbootin得到支持.

�0�3 参已知UNetbootin支持的分发版的总列表如何制作的定制版本的UNetbootin (包含专门化, rebranded, 再分发等)? (译者按, 这个标题翻不好, rebranded也不知道用什么合适的词来对应)Auto Super Grub Disk EeePCLinuxOS Ubuntu Eee FUSBi – Free USB Installer
选用相应的插件系统或者改变源码 (unetbootin.h的#define语句), UNetbootin很方便被改写以适用于不同版本的Linux发行版. 如果你尝试构建一个特定版本的发行版, 需要额外的说明和细节, 如需要在下一个版本中合并你的补丁, 或者需要需要把你的客户化版本添加到列表中, 请报一个bug. (译者按, 请达人指导这句的翻译.)

�0�3 参 构建UNetbootin插件
�0�3 参 使用UNetbootin插件
�0�3 参 构建一个客户化的UNetbootin版本
�0�3 参 客户化UNetbootin版本和插件列表去哪里报bug, 提需求, 找帮助? 等等. 如果你在使用中碰到了UNetbootin自身的错误, 请到Boot Land的UNetbootin论坛发一个问题. 已经有两个话题在论坛可供参考(Live U安装或者硬盘安装). 如果你确信找到了一个bug, 请报一个bug. 尽管如此, 如果是发行版或者硬件问题, 请到发行版那去报一个bug.许可和认证 UnetBootin由Geza Kovacs (tuxcantfly)(联系信息)创建. 翻译者列在翻译者列表中. UNetbootin基于GPL2+ 发布. 网站资源可以自由地使用, 复制, 修改, 及发布.

7. 电脑开机出现grub怎么解决

电脑开机出现grub解决的具体步骤如下:

1、首先按“Ctrl“+“Alt”+"Del"组合按键重启。

8. grub2 怎么安装和使用

grub-install 是gurb1 的命令
grub2应该使用grub2-install。

在/boot/grub 建立一个配置文件名为: grub.cfg
也有可能是/boot/grub2/grub.cfg 这跟你的设置有关。
root 权限执行
grub2-mkconfig>/boot/grub/grub.cfg
或者:
grub2-mkconfig>/boot/grub2/grub.cfg

重启电脑应该就能看到菜单了。

热点内容
android视频p2p 发布:2024-10-10 15:16:06 浏览:714
python3scrapy爬虫 发布:2024-10-10 15:11:55 浏览:89
身份存储 发布:2024-10-10 14:51:29 浏览:534
ns2源码 发布:2024-10-10 14:46:42 浏览:564
print函数python 发布:2024-10-10 14:46:20 浏览:235
如何搭建模拟交易服务器 发布:2024-10-10 14:37:45 浏览:563
ip无法访问nginx 发布:2024-10-10 14:17:03 浏览:741
殷雷加密狗驱动下载 发布:2024-10-10 13:56:37 浏览:648
pc游戏编程人机博弈 发布:2024-10-10 13:49:32 浏览:455
有什么软件可以套wifi密码 发布:2024-10-10 13:32:06 浏览:823