分类: LINUX
2012-10-24 16:09:25
本文介绍如何利用win7的bcdedit从win7系统盘引导grub4dos,再通过grub4dos引导本地fat32硬盘中的安装映像文件(.ios文件),实现RedHat Linux Enterprise 6.1从硬盘安装到硬盘或移动硬盘。并实现:,不再每次都需要进入BIOS设置从USB启动。
一 设置bcdedit从win7系统盘引导grub4dos
1.下载grub4dos及RedHat 6的光盘镜像
grub4dos, rhel-server-6.1-i386-DVD.iso
这两个文件就够了,不需要用UltraISO,LiveCD等制作启动盘,从硬盘启动,引导linux的安装即可,也简单的多。如果安装到USB移动硬盘或U盘上,则需要准备移动硬盘或U盘。
1)将rhel-server-6.1-i386-DVD.iso放到fat32格式的分区上
将rhel-server-6.1-i386-DVD.iso放到fat32格式的根分区上,并将镜像文件解压在该根分区,切记:根分区不能有中文字符的文件或文件夹。做上这三点,否则在安装redhat Linux 时找不到镜像。
放在NTFS分区(好像exfat的分区也不行)上引导时找不到文件,如果你的硬盘上没有fat32的分区,且不方便马上整理硬盘分区的话,可以用U盘或移动硬盘的fat32分区(可以是你即将安装Linux的移动硬盘或U盘,也可以是另一个)。
并用虚拟光驱之类的软件打开,解压出isolinux文件夹中的vmlinuz,initrd.img两个文件,放到系统盘的根目录,或放到某个文件夹下(如:下面menu.lst的例子,放到了系统盘中的isolinux文件夹),这两个文件夹的路径需要在menu.lst中指定。
2)解压缩grub4dos后,将其中的grldr, grldr.mbr 两个文件复制到系统盘(通常是C盘)根目录下,并在根目录创建menu.lst(如果你熟悉这一内容,也可复制grub4dos文件夹内的menu.lst文件后修改,但那份文件里,提供了很多比较复杂的,如果你不熟悉,直接复制下面的就可以了)文件内容如下:
menu.lst:
——————————————————————————
color blue/green yellow/red white/magenta white/magenta
default=0
timeout=5
title install RedHat Enterprise 6.1
kernel (hd0,0)/isolinux/vmlinuz
initrd (hd0,0)/isolinux/initrd.img
—————————————————————
说明:
(1)第一行,grub启动时的背景之类,不用修改;
(2)default=0 :表示启动时默认选中的启动项,为第1项;
(3) timeout=5 :表示默认等待5秒后启动default指定的启动项;
(4)title install RedHat Enterprise 6.1 :关键字title 用来指定启动项的名称,install RedHat Enterprise 6.1(名称可以修改);
(5)kernel (hd0,0)/isolinux/vmlinuz:关键字kernel用来指定,所要启动的kernel的位置(注:kernel后面有个空格),/isolinux/vmlinuz表示文件vmlinuz在在根分区的isolinux文件夹中;
(hd0,0)/isolinux/vmlinuz:hd0表示文件在第一个硬盘的第1个分区(C盘),显然,如果windows系统盘在第2块硬盘的D盘,则应写为:(hd1,1);
(6)initrd (hd0,0)/isolinux/initrd.img:同上。
2. windows 7(vista,win 7一样)下设置bcdedit 引导grub4dos
打开window 命令行,(开始->运行,输入:cmd,回车),输入“bcdedit” 回车,即可以查看当前系统的各个启动项。
按顺序执行以下4个命令以创建grub4dos的启动项:
1)bcdedit /create /d “grub4dos” /application bootsector
你可以直接将以上的命令复制-粘贴到命令行,如果是输入注意各参数中间的空格。回车后,会返回一个GUID,格式如:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx},这个GUID是这个启动项的唯一标识符;
命令说明:这是使用bcdedit的create命令,创建一个空的启动项;
create 命令的/d参数 用来指定该启动的名称,也即系统引导时,你看到的那一项,比如:winodow 7,本例中的是grub4dos;
/application 参数,用来指定bootsector表示该项是引导项。
2)bcdedit /set {GUID} device partition=C:
用set命令来设置grub4dos的启动文件grldr.mbr所在分区,device partition=C: 表示在C盘;
把GUID换成在第一个命令执行后返回的那一串数字,大括号带着;
3)bcdedit /set {GUID} path \grldr.mbr
用set命令来设置启动文件的路径及文件名称,/grldr.mbr前面的/表示文件在根目录;
把GUID换成在第一个命令执行后返回的那一串数字,大括号带着;
4)bcdedit /displayorder {GUID} /addlast
用displayorder 命令将创建的启动项,添加的启动列表的最后;
把GUID换成在第一个命令执行后返回的那一串数字,大括号带着。
设置完成,现在重启下电脑,已增加一项名为:GRUB4DOS的启动项,选中这一项,回车后,可以看到GRUB4DOS的启动菜单,以上面的menu.lst为例,则只有一个启动项,回车,系统即开始引导initrd.img,vmlinuz,并开始出来基本设置画面,比如:让你选择安装的语言,键盘类型,及安装光盘的位置,开始你的安装吧。
注:设置安装光盘的位置时,安装程序会把系统能识别的硬盘,U盘及相应的分区用linux的设备标识方式,如:sda1,sdb2等都列出来,即使你不确定,安装光盘映像在哪个分区上,可以一个个试,直到找到为止。
==============
Win7下硬盘安装 Linux 形成双系统过程详解:
需要软件 EasyBCD2.0 和 linux ISO 系统镜像
RedHat linux下载地址:
安装前准备工作:
1 一个 Windows 盘 D E F 任选其一都可以,将其格式化为FAT32 格式,除 C 盘以外任意盘均可格式化 FAT32,且此盘必须小亍 32GB, 否则无法格式化 FAT32。
2 磁盘最后末端要有未分配的空间,如果没有可利用 WIN7 右键 计算机—管理—磁盘管理—选择最后面的盘符 右键单击 选择删除卷
(也就是删除相应盘符,建议删除最后一个盘符)。这样就有了未分配的磁盘空间,用来安装 linux。
3 硬盘模式调成 AHCI
1 将 Linux 镜像复制到 FAT32 格式化的磁盘里
2 用 winrar 解压软件,将镜像中的 images 和isolinux 两个文件夹提取出来,和 linux 镜像一同放置在 FAT32 盘的根目录。原来镜像还要保留
3 isolinux 文件夹中的 initrd.img 和 vmlinuz 两个文件复制到FAT32 盘的根目录,同时也复制到 C 盘根目录下。
4 安装EasyBCD 程序,一路默认安装即可。
EasyBCD 2.2 免费下载【中文多国语言版】
5 运行EasyBCD 程序出现第一个界面是问你将 EasyBCD 的配置文件放置在哪个盘里,随便选择即可,下面两个丌用选中,我选择的是
C 盘,然后右下角确定。
6 迚入easyBCD 操作页面,
上图中当点击第 4 个的时候会出现一个记事本文本框,将以下代码输入迚去。
title installlinuxroot(hd0,1)
kernel (hd0,1)/ vmlinuz
initrd (hd0,1)/ initrd.img
将上述代码复制粘贴迚出来的文本框内即可,其中红色部分是可以更改的 仅仅代表一个名字,我将其修改为我的系统名 字 了。如果你的系统没有 100M 的保留分区那么请将上述代码中的 1 改为 0。
7 点击EasyBCD 右上角的 save 保存 此时可以关闭 EasyBCD 了。
8 重新启动电脑 丌要选择 WIN7 而选择 NeoGrub Bootloder
9 此时就可以按照图形界面开始安装,在选择安装文件位置的地方时选择你的FAT32的盘符,然后 next 即可其余都是常识性的东西了!
Linux分区
第一个 /Boot 100M 即可 第二个 / 10G 即可
第三个 /swap 你实际内存的 2 倍。如果内存 2G 那么相等即可。
上述分区仅供参考,因实际而酌情考虑。
FAT32在linux 下的盘符:
在 WIN7 下查看 右键计算机—管理—磁盘管理—通过这里查看你的 FAT32 盘是否是主分区
1 我的FAT32 是主分区:
如果你的盘里有系统保留分区 100M 那从 C 盘开始 hda1—D 盘 hda2—E 盘 hda3—F 盘 hda4
2 我的 FAT32 是逻辑分区:
那么观察你的 FAT32 是第几个逻辑分区,如果是第一个逻辑分区那么盘符就是 hda5,同样以此类推,第二个逻辑分区是
hda6,第三个 hda7
==========================\\