Grub 命令行启动Windows全过程

运维 系统运维
这里所说的Grub和上文中说的Grub for DOS是不一样的,上文的Grub跟磁盘的第一扇区没有关系,即是说,如果你把上面C盘里grub目录删除,不会影响你的系统启动。

这里所说的Grub和上文中说的Grub for DOS是不一样的,上文的Grub跟磁盘的第一扇区没有关系,即是说,如果你把上面C盘里grub目录删除,不会影响你的系统启动。我下面讲的Grub却会把一部分代码写到磁盘的第一扇区上,即会写到主引导纪录MBR中。

1 Grub 命令行代码分两部分,一部分写入第一扇区的主引导纪录MBR中,另一部分驻留在磁盘的某一固定位置。

2 Grub 命令行工作过程。计算机启动后,BOIS先做自检等工作,然后BOIS会加载磁盘的第一扇区(512字节)到内存某处,然后跳转到该处执行代码,这段代码就是上面所说的Grub写入MBR的部分,这段代码有Grub第二部分在磁盘上的位置信息,这段代码就是根据此信息加载第二部分,第二部分才是Grub的核心,第二部分会读取/boot/grub/grub.conf配置文件,然后根据此配置文件弹出用户界面,你看到的那些菜单选择项就是这么来的,当然,你也可以按字母键‘C’进入命令行方式。

3 如上所说,你的机器上的各操作系统的信息是写入配置文件grub.conf的,如果你的配置文件不正确,grub当然找不到你想起动的操作系统了,此时需要你手工启动。例如你因为在Windows里格式化某盘(或别的原因),结果重启机器后grub漂亮的界面不见了,只留下陌生的提示符“grub>”,别慌,你可以用命令来启动你的操作系统。

从Grub 命令行启动Windows:
grub>root (hd0, 0)
grub>chainloader +1
grub>boot

从Grub 命令行启动Fedora Core2(假设装在/dev/hda7上):
grub>kernel (hd0, 6)/boot/vmlinuz-2.6.5-1.385.img root=/dev/hda7
grub>initrd (hd0, 6)/boot/initrd-2.6.5-1.385.img
grub>boot
从命令行启动Debian和启动Fedora Core2类似。

说明:如果你通过分区软件调整了分区的大小,鬼知道会有什么结果我没试过,从理论上说你玩完了,因为Grub的第一部分中的关于第二部份的地址信息会失效,结果Grub的核心加载不了了!

4 你以后可以使用同样的方法来启动系统,如果感到不爽,想要菜单,那就修改你的/boot/grub/grub.conf文件吧。现在机器已经跑起来了,具体过程就上网找别的文章看看,很容易的。

【编辑推荐】

  1. Ubuntu GRUB非常优秀的系统引导器
  2. Ubuntu GRUB開機選項修改
  3. Ubuntu grub利用安装光盘硬盘安装ISO文件
  4. Linux rescuev修复模式跨越控制台登录
  5. Linux rescue单用户模式修复模式

 

责任编辑:chenqingxiang 来源: 百度
相关推荐

2010-06-17 13:10:09

Linux Grub修

2010-06-12 10:03:20

Ubuntu Grub

2009-08-07 18:42:09

2011-02-22 10:46:02

Samba配置

2011-04-18 15:56:10

软件测试

2009-12-08 17:56:16

WCF配置

2011-01-21 17:51:52

2009-04-13 12:37:18

2011-09-06 15:38:20

QT安装

2010-03-01 13:40:12

Linux引导安装

2012-11-06 10:19:18

Java自定义加载Java类

2010-11-19 10:11:49

Oracle物化视图

2010-03-01 17:01:03

Python编程技巧

2009-06-10 16:55:42

cygwin netb安装

2010-03-10 13:24:45

Zend Debugg

2011-04-01 13:31:56

WindowsMySQL

2011-03-11 10:39:02

YUM安装LAMP

2010-07-21 14:51:19

telnet-serv

2019-05-14 15:27:31

MongoDB自动备份数据库

2018-02-10 17:30:41

Linux命令
点赞
收藏

51CTO技术栈公众号