Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1827767
  • 博文数量: 323
  • 博客积分: 5970
  • 博客等级: 大校
  • 技术积分: 2764
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-03 23:13
文章分类

全部博文(323)

文章存档

2018年(2)

2017年(11)

2016年(10)

2015年(27)

2014年(2)

2013年(30)

2012年(197)

2011年(44)

分类: 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

==========================\\


 现在电脑的配置越来越高了,UEFI启动GPT分区模式可以识别最多128个分区,支持2.2T以上的硬盘。这些配置一般都用于服务器的,现在也开始贫民化了。也就是说我们普通人也能用服务器般的电脑,但是对于目前来讲,我们还用不上这么高的UEFI启动,GPT分区模式,不过,随着win8(据说如果你安装的是Win7(无论32位还是64位),你的硬盘分区肯定是MBR模式。如果你安装的是32位的Win8,你的硬盘分区仍然是MBR模式。只有你安装的是64位的Win8,你的硬盘分区才可能是GPT模式。)的推广以及大硬盘(2.2T)的出现,UEFI启动GPT分区是未来的趋势。但是在UEFI启动模式下,想安装win7,Linux双系统几乎不可能,不能成功,本人在搜索网络寻求帮助的过程,领悟并终于解决了这一疑难。
     UEFI对应GPT分区,Lengacy启动对应传统的MBR启动,正常的情况下新电脑UEFI启动是开启的。如果我们在电脑上安装win7系统,然后利用U盘安装或者按照网上的方法()安装Ubuntu系统,装到系统分区的时候就出问题了,Linux无法识别win7系统的分区情况,显示的是整个未分区的硬盘,如果执意要继续,接着就提示不含GPT(GUID Partition Table)分区,或者GPT分区不存在,建议创建,如果继续下一步,好了,之前安装的win7就消失了,只剩下Linux(Ubuntu)了。
      想了很久,也学习了很多,终于给解决了。先按照正常的方法装好win7(或者win7已经装好了),并且已经按照网上的方法预留出一个未使用的硬盘空间给Linux系统,进BIOS,将Boot下面的UEFI/Legacy 项设置成Legacy only,F10,保存退出,然后进入Ubuntu安装,到Linux分区的时候,就和安装一样了,就能正常安装了。
      可能原因是电脑默认情况下UEFI启动(Lengacy)是开启的,Win7(无论32位还是64位)只识别Lengacy,只会用MBR分区模式,安装完win7后,电脑只有MBR分区信息,接下来安装Ubuntu 14.04的时候,Ubuntu自动识别为UEFI启动的GPT分区模式,因此就找不到GPT分区模式(当然也没有,因为win7采用的是MBR分区模式),于是识别不了win7的分区信息,我们看到的是整个未分区的硬盘。忍痛割(当然win7系统也用不上UEFI启动的GPT分区模式),只好舍弃UEFI启动的GPT分区模式,只开启传统的MBR分区模式,即Boot下面的UEFI/Lengacy 项设置成Legacy only。这下好了,关闭掉UEFI,只剩下Lengacy,只有MBR分区模式,和传统电脑一样了,也就能安装成功了。
     采用UEFI启动安装双系统,就只能装win8(64位),Linux双系统了,目前我还没来得及测试,不知道能否行的通。


阅读(2889) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~