QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5250|回复: 7

做张grub启动盘防防身:)

  [复制链接]
发表于 2003-3-11 20:02:22 | 显示全部楼层 |阅读模式
有时候我们的电脑可能出现系统无法引导的情况,比如说你重装了windows,把MBR给重写了,又比如像我今天这样,把装了grub的系统给格了,电脑启动后无法读到引导信息出错,什么系统都进不了了。
这时你当然可以用安装时或什么管你什么时候做的启动盘启动LINUX(然后再进行修复),用windows启动盘启动windows。
但这样你得至少做两张启动盘啊(呵呵,当然用loadlin之类的也行,不过我觉得更麻烦)。而且你每装一个LINUX就得做一张启动盘,不是很麻烦吗?
其实没有那么麻烦,只要你用grub做的引导,就很容易了,那么就是做一张grub启动盘.
这样你就相当于把grub装到了软盘上,利用一些grub命令就可以做到你的MBR没有被破坏前能做的所有事。而且,你在A机器上做的启动盘还可以拿到B、C、D……等等其它机器上用。
制作方法:

首先你用的引导程序必须是grub。
确认了这一点之后进入/boot/grub目录:
cd /boot/grub
然后把stage1和stage2两个文件写到你的软盘上去(呵呵,当然别忘了把软盘放进去哦):
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1

这样一张grub引导盘就做好了,下面就谈谈使用方法(虽然很简单,但还是怕有人不清楚)

首先用这张启动盘启动后会出现一些关于grub的信息,然后就是如下:
grub>
这就是在等你输入grub命令来启动系统。
对于LINUX,一般需要如下三个命令:
root,kernel,boot.
ROOT命令就是让你告诉GRUB,你的LINUX系统装在哪个分区,KERNEL命令就是让你指出用哪个内核启动,BOOT当然就是开始引导啦。
举个例子:
grub>root (hd0,
File system Type is ext2fs.(这一行告诉你文件系统是什么,详细的显示内容可能跟我写的不一样)
grub>kernel /boot/vmlinuz ro root=/dev/hda9
grub>boot

这样你的LINUX系统就启动了,注意的一点是GRUB中关于分区的叫法跟LINUX有点不一样,比如上面的(hd0,就表示hda9.是的,hdX就代表第X+1个硬盘,hd0就代表第1个硬盘(相当于hda),8就代表第9个分区(GRUB中的表示方法跟C语言有点像,下标是从0开始的),(hd0,当然就是代表hda9啦。
知道这些应该知道怎么引导LINUX系统了吧?注意一点,如果你不清楚具体的内核文件名(比如有的可能是vmlinuz-2.4.20什么的),那么你可以用TAB键自动补全,相当方便,你只要打入kernel /boot/vm然后再按一下TAB键,那么就会显示全部在/boot/下以vm开头的文件。

引导其它系统就方便多了(比如windows,FreeBSD等),你要做的也是三个命令,ROOT跟BOOT命令跟LINUX一样,反正就是用ROOT命令指定你装的这个系统所在的分区,BOOT命令就是开始引导系统。不同的是把引导linux的kernel命令改成chainloader +1命令。例如:

grub>root (hd0,0)
File System Type Vfat
grub>chainloader +1
grub>boot


呵呵,好了,把你做好的grub启动盘好好保存起来吧,以后装LINUX的时候它如果问你要不要做启动盘时你都可以大胆地说:NO!。因为你的这张grub启动盘基本上可以应付大部分无法启动的情况了。
呵呵,不过这种启动盘无法应付严重的系统错误(比如内核文件受到破坏什么的等等),但是这样的情况我还没有遇见过,我需要启动盘的情况往往是因为引导程序出了问题,比如重装WINDOWS,比如GRUB被我搞掉了等等。
发表于 2003-3-11 20:32:37 | 显示全部楼层
我经常就这么一张启动盘,把死翘翘的系统给救活了。所以,强烈建议做一个启动盘。其实,做张启动盘也不难,也不贵,很实用。。。。。。。。。。。。lilo或grub的都可以。。。。
回复

使用道具 举报

发表于 2003-3-22 11:23:05 | 显示全部楼层
首先你用的引导程序必须是grub。
确认了这一点之后进入/boot/grub目录:

这句话是什么意思啊??怎么样啊??
是不是要进去LINUX啊??
回复

使用道具 举报

发表于 2003-4-10 13:30:26 | 显示全部楼层
我感觉“首先你用的引导程序必须是grub”这个有点儿问题,我在硬盘里面用lilo引导的,但用软盘启动机器的时候,也一样能引导。这两种方式没有必然的联系,所以我感觉上面的那句话可能有点儿问题。而且做启动盘和grub引导也没有关系,至少在Mandrake linux下是这样的。
回复

使用道具 举报

发表于 2003-4-10 17:46:36 | 显示全部楼层
就是这grup把我害惨了
有N次起动都是哪个系统都进不了!
回复

使用道具 举报

发表于 2003-4-10 18:32:42 | 显示全部楼层
"苏哲"大侠的Smart Boot Manager都有同样功能。
回复

使用道具 举报

发表于 2003-4-10 19:14:11 | 显示全部楼层
我的机器没有软驱,不可能用启动盘。但也确实没有必要用启动盘。
系统无法进入时,
1、进入windows实模式下,在安装盘中找到Loadlin.exe及vmlinuz文件,执行命令:loadkin vmlinuz root=/dev/hda*,进入系统;
2、执行命令:lilo boot=/dev/hda -v -v;
或编辑lilo.conf,令boot=/dev/hda,以将lilo或grub安装到主引导区,执行lilo -v -v;
重启系统。
可以将系统中的vmlinux-*拷到windows盘中,不用在安装盘中去找。

你可以用winnt引导:
3、执行命令:dd if=/dev/hda*(lilo或grub所在分区) of=/*/windows/bootsect.lnx(windows引导分区上) bs=512 count=1;
4、在windows中boot.ini添加一行c:\bootsect.lnx="* Linux";
5、windows中执行fdisk /mbr。
回复

使用道具 举报

发表于 2003-4-13 10:12:59 | 显示全部楼层
loadlin法也是可行的。但如果你的系统如果还有initrd文件,有时加载可能会比较麻烦。而且极有可能启动不起你的系统,但安装盘中的内核是用来安装的吧。用nt的NTloader引导一般的情况还是好行的。但现在的linux下还有更好的引导方法,我们何必不用呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-19 03:36 , Processed in 0.138487 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表