linux添加磁盘后进入grub,从硬盘安装 Linux 和从 GRUB 命令行启动操作系统

标题

+=================================================+

|  从硬盘安装 Linux 和从 GRUB 命令行启动操作系统  |

+=================================================+

版本号

------

0.3

------

声明

------------------------------------------------------------------

1   本文档可以任意转载、拷贝、剪切复制,甚至不需要注明出处。

2   所述方法已经经过本人试验,但不做任何担保。你将承担使用本文

档带来的一切风险,请您自己做好数据备份。

------------------------------------------------------------------

内容简介

------------------------------------------------------------------

如何在一个没有光驱,没有软驱的机器上安装 Linux 系统?不用我说,

大家都知道这部分机器都已经安装了 Windows 系统。本文的目的就是给出

在一个装有 Windows 的机器上,从硬盘安装 Linux 系统的办法(准确地说

是系统的引导过程),使用的工具是 GRUB for DOS 最新版,本人已经对

几个发行版进行了试验,它们都是流行的版本,例如 Hiweed-debian、Red

Hat 9.0、Fedora Core 2。另外,如果你碰到过格式化 Windows 里的某盘,

结果重启后 GRUB 的菜单不见了的情况,你也可以从本文中找到解决办法。

-----------------------------------------------------------------

+========+

|  正文  |

+========+

一  从硬盘安装 Linux 系统

-----------------------------------------------------------------

本来想讲讲磁盘分区的原理,但是会显得冗长,浪费大家的时间,所

以我直接给出硬盘安装(引导)的步骤,如果你想做个明白人,请找几篇

硬盘分区的文章看看吧。另外,我的 C 盘是 FAT32 格式的,如果你的

Windows 分区不是此格式,例如是 NTFS 格式,我不知道可行不可行,据

说现在的内核是支持的。

下面的描述尽可能具体,但你完全可以做些聪明的变通。

1   备份你的重要数据,免得出了问题欲哭无泪。通常你会把 Windows 里

的某盘分给 Linux,我的办法是把数据备份到另一盘,例如有 C、D、E、F

四个盘,我想在 F 盘上装 Linux,我就会把 F 盘的数据备份到 D 盘或 E

盘上,当然我仍然会把最最重要的文件(例如情书)拷贝到移动存储介质

里。

说明:要想改变分区的大小,例如要加大 F 盘,请使用相应软件,比如

Partition Manager。使用时请阅读软件的帮助文档。

2   下载 GRUB for DOS,网址为http://newdos.yginfo.net/grubdos.htm ,

可以下载最新的版本,下载后拷贝到 C 盘,用 Winrar 解压到子文件夹,

重命名此文件夹为 grub(以便和下文相对应)。

注意:我的 C 盘是 FAT32,下面的过程也只针对此格式,至于 NTFS 格式

会有什么结果,我没办法试验,你可以自己试试。

3   Windows XP 下,打开“我的电脑”,进入 C 盘,点击“工具->文件

夹选项->查看”,取消高级设置里的“隐藏受保护的操作系统文件”项,

并且选择“显示所有文件和文件夹”项。这样你能看到一些操作系统的文

件了。打开 boot.ini 文件,在末尾添加

C:\GRLDR="运行 GRUB"

存盘,接着拷贝 grub 目录下的 grldr 文件到 C 盘根目录下,最后拷贝

到 C:\grub\boot 下的整个 grub 文件夹到 C:\boot 下(没有就建一个)。

4   下载发行版的光盘映像文件,如果你想装 Hiweed-debian,请到

ftp://debian.ustc.edu.cn/debian-cd/hiweed-debian/ 目录里下载一个

光盘映像(当前最新版本为“国庆特别版”,即 *0.55_i386.iso),下载

的文件放到 C 盘根目录下,接着下载子目录 hiweed-hard-disk-install

里的文件,也放到 C 盘根目录下。如果你想安装 Red Hat 9.0,你可以到

ftp://202.38.64.123/ 下载光盘映像,共有三个映像文件,光盘映像同样

放到C盘根目录下,然后用 Winrar/WinImage 打开第一个映像文件,提取

isolinux 子目录下的 initrd.img 和 vmlinuz 文件到 C 盘根目录下。如

果你想安装 Fedora Core 2(Red Hat 的后继版本),你可以到

ftp://202.38.75.11/ 下载光盘映像,共有四个映像文件,光盘映像还是

放到C盘根目录下,然后用 Winrar/WinImage 打开第一个映像文件,提取

isolinux 子目录下的 initrd.img 和 vmlinuz 文件到 C 盘根目录下。

说明:如果安装 Hiweed-debian,请确保 C 盘根目录下有下列文件

vmlinuz   (从 ftp 服务器下载,如上所述)

initrd.gz (从 ftp 服务器下载,如上所述)

hiweed-debian-desktop_0.55_i386.iso

如果安装 Red Hat 9.0,请确保 C 盘根目录下有下列文件

shrike-i386-disc1.iso

shrike-i386-disc2.iso

shrike-i386-disc3.iso

vmlinuz   (从 shrike-i386-disc1.iso 中提取)

initrd.img(从 shrike-i386-disc1.iso 中提取)

如果安装 Fedora Core 2,请确保 C 盘根目录下有下列文件

FC2-i386-disc1.iso

FC2-i386-disc2.iso

FC2-i386-disc3.iso

FC2-i386-disc4.iso

vmlinuz   (从 FC2-i386-disk1.iso 中提取)

initrd.img(从 FC2-i386-disk1.iso 中提取)

5   重启计算机,会有两个菜单项让你选择,其中一条就是上面添加的

“运行 GRUB”,选择、回车,这样就开始运行 GRUB 程序了,不管你

看到了什么,按字母键‘C’。

6   通过如下步骤引导 Hiweed-debian:

grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000

devfs=mount,dall

grub>initrd (hd0, 0)/initrd.gz

grub>boot

通过如下步骤引导 Red Hat 9.0:

grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000

devfs=mount, dall

grub>initrd (hd0, 0)/initrd.img

grub>boot

通过如下步骤引导 Fedora Core 2:

grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000

devfs=mount,dall

grub>initrd (hd0, 0)/initrd.img

grub>boot

技巧:grub 里可以使用TAB键补齐命令或参数,例如键入

grub>initrd (hd0, 0)/init

然后按 TAB 键,grub 会自动将“init”补齐“initrd.gz”或

“initrd.img”。

7   引导成功后你就可以安装系统了,具体的安装请参考别的文章,这里

要说一下,如果安装的是 Red Hat 9.0 或 Fedora Core 2,安装程序会问

你从什么位置安装,请选择从“Hard disk”安装,然后选择 /dev/hda1

作为映像文件的位置。实际上安装过程是比较简单的,对于 Fedora Core

2,如果你的机器是主流配置,安装的时候你会发现居然是图形界面,只要

你装过 Windows,你会发现其过程如此的熟悉!

-----------------------------------------------------------------

二  从 GRUB 命令行启动系统

-----------------------------------------------------------------

这里所说的 GRUB 和上文中说的 GRUB for DOS 是不一样的,上文的

GRUB 跟磁盘的第一扇区没有关系,即是说,如果你把上面 C 盘里 grub

目录删除,不会影响你的系统启动。我下面讲的 GRUB 却会把一部分代码

写到磁盘的第一扇区上,即会写到主引导纪录 MBR 中,这是在你装 Linux

时操作的。

1   GRUB 的代码分两部分,一部分写入第一扇区的主引导纪录 MBR 中,

另一部分驻留在磁盘的某一固定位置。

2   GRUB 的工作过程。计算机启动后,BOIS 先做自检等工作,然后 BOIS

会加载磁盘的第一扇区(512 字节)到内存某处,然后跳转到该处执行代

码,这段代码就是上面所说的 GRUB 写入 MBR 的部分,这段代码有 GRUB

第二部分在磁盘上的位置信息,这段代码就是根据此信息加载第二部分,

第二部分才是 GRUB 的核心,第二部分会读取 /boot/grub/grub.conf 配

置文件,然后根据此配置文件弹出用户界面,你看到的那些菜单选择项就

是这么来的,当然,你也可以按字母键‘C’进入命令行方式。

3   如上所说,你的机器上的各操作系统的信息是写入配置文件 grub.conf

的,如果你的配置文件不正确,GRUB 当然找不到你想起动的操作系统了,

此时需要你手工启动。例如你因为在 Windows 里格式化某盘(或别的原因),

结果重启机器后 GRUB 漂亮的界面不见了,只留下陌生的提示符“grub>”,

别慌,你可以用命令来启动你的操作系统。

从命令行启动 Windows:

grub>root (hd0, 0)

grub>chainloader +1

grub>boot

从命令行启动 Fedora Core 2(假设装在 /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 Core 2 类似,不过键入命

令的时候可以使用 TAB 键补齐参数,例如,键入“initrd”后,使用

TAB 键补齐后缀,FC2 和 Debian 下的后缀名是不一样的,免得出现

诸如“panic: VFS not found ... ”这样的错误。

说明:如果你通过分区软件调整了分区的大小,鬼知道会有什么结果。

我没试过,从理论上说你玩完了,因为 GRUB 的第一部分中的关于第二

部份的地址信息会失效,结果 GRUB 的核心加载不了了!

4   你以后可以使用同样的方法来启动系统,如果感到不爽,想要菜单,

那就修改你的 /boot/grub/grub.conf 文件吧。现在机器已经跑起来了,

具体过程就上网找别的文章看看,很容易的。

-----------------------------------------------------------------

我愣,一不小心写了这么长,还没过瘾呢。如有什么不妥和错误之处,欢

迎拍砖。祝你一切顺利!

※ 修改:·SmileFeng 于 10月27日22:46:49 修改本文·※ 来源:·瀚海星云 bbs.ustc.edu.cn·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值