做张grub启动盘防防身

发表于:2007-07-04来源:作者:点击数: 标签:
有时候我们的 电脑 可能出现系统无法引导的情况,比如说你重装了 windows ,把MBR给重写了,又比如像我今天这样,把装了grub的系统给格了, 电脑 启动后无法读到引导信息出错,什么系统都进不了了。 这时你当然可以用安装时或什么管你什么时候做的启动盘启动

  有时候我们的电脑可能出现系统无法引导的情况,比如说你重装了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,8)
  File system Type is ext2fs.(这一行告诉你文件系统是什么,详细的显示内容可能跟我写的不一样)
  grub>kernel /boot/vmlinuz ro root=/dev/hda9
  grub>boot
  
  这样你的LINUX系统就启动了,注意的一点是GRUB中关于分区的叫法跟LINUX有点不一样,比如上面的(hd0,8)就表示hda9.是的,hdX就代表第X+1个硬盘,hd0就代表第1个硬盘(相当于hda),8就代表第9个分区(GRUB中的表示方法跟C语言有点像,下标是从0开始的),(hd0,8)当然就是代表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被我搞掉了等等。
  
  

原文转自:http://www.ltesting.net