多系统共存的一些想法

 

GNU GRUB 和GRUB是GRand Unified Bootloader的缩写,它是一个多重操作系统启动管理器。用来引导不同系统,如windows,linux。
X86架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该说是主流。
Windows也有类似的工具NTLOADER;比如我们在机器中安装了Windows 98后,我们再安装一个Windows XP ,在机器启动的会有一个菜单让我们选择进入是进入Windows 98 还是进入Windows XP。NTLOADER就是一个多系统启动引导管理器,NTLOADER 同样也能引导Linux,只是极为麻烦罢了。
PowerPC 架构的机器中,如果安装了Linux的Powerpc 版本,大多是用yaboot 多重引导管理器,比如Apple机用的是IBM PowerPC处理器,所以在如果想在Apple机上,安装Macos 和Linux Powerpc 版本,大多是用yaboot来引导多个操作系统
因为X86架构的机器仍是主流, 所以目前GRUB和LILO 仍然是我们最常用的多重操作系统引导管理器。

设备名称

IDE硬盘用hd开始,SCSI硬盘用sd开头。软盘用fd开头。命名和linux不大一样。是从0算起。
(hd0,0)。表示C盘。
(hd0,4)。表示D盘。当然这里指的是(第一个逻辑分区,如果D盘也是主分区,应该写成hd0,1)
系统的第一个硬盘驱动器表示成(hd0),其上的第一个分区表示为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形式来表示,x、y都是从0开始计数的,x表示硬盘号,y表示分区号。
由于主分区只能有四个,所以第一硬盘的四个主分区分别用(hd0,0)~(hd0,3)来表示;逻辑分区则从(hd0,4)开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示,依次类推。
一般机子的硬盘都是一个主分区,其余是逻辑分区。因此C盘用(hd0,0),D盘用(hd0,4)来表示。 光盘用(cd)表示,第一软驱用(fd0)表示。
文件的表示:( , ) /path/to/file
在Linux系统中,如ubuntu,(hdx,y)中的y是从1开始计数的。第一逻辑分区用(hd0,5),第二逻辑分区用(hd0,6)来表示
装置
Lilo
Grub
IDE1 master
hda, hda1, hda2
(hd0), (hd0,0), (hd0,1)
IDE1 slave
hdb, hdb1, hdb2
(hd1), (hd1,0), (hd1,1)
IDE2 master
hdc, hdc1, hdc2
(hd2), (hd2,0), (hd2,1)
IDE2 slave
hdd, hdd1, hdd2
(hd3), (hd3,0), (hd3,1)

 

  扩展资料:

     开机顺序

 

                           系统                启动文件

  1 BIOS->MBR->DPT->PBR->        {   XP                  NTLDR      }

                         {  Win7/Vista      Bootmgr   }

                         {  Grub               glbr         }

                         {  Bootlink           btldr        }

  2 MBR主引导记录 →DPT分区表→硬盘启动分为:扩展分区EBR引导;卷引导记录VBR;启动管理器  boot loader;

    <以上每一个知识点查阅后,就能大概对如何一台机装多系统有大概的认识>                

          

  看完上边的东西,再看下来会更清楚

  破解win7相信大家都会,但是双系统安装linux,相信都会遇到一个问题,就是就算你能启动得了双系统,会发现win7的破解没了,下面不多说,解释:

    我破解win7用的是小马。一般win7破解(Vista同理)的激活方式是通过grub检测OEM的Slic的信息【可以自己尝试多种破解工具,在引导盘例如c盘根目录下都会在破解后有一个文件,小马多出一个OEM和glbr文件,貌似网上叫全能破解的是mbrs,等等】,主引导分区MBR利用这个引导文件,因此才能激活win7。重点是linux中的启动文件glbr也是必须写入启动项才能启动的,这就要考虑破解文件和启动文件不能覆盖

 

    这次意外也让我得到更好的想法,就是不要什么启动项都往MBR里边扔,这样无论是windows,linux,mac神马的,才不会互相影响。核心思想就是分开各个系统的启动文件,然后通过easybcd进行引导,前提是做好备份。

 

 

  

准备:

    之前安装win7我自己用的是差分子系统,将主系统win7放在D:\win7\win7.vhd,启动文件放在L盘,方便后续放各个系统的启动项和备份文件

  

  1 利用DISKGENIUS软件进行分区,划出20G空间空闲和2GFat32格式硬盘(2G是为了放centos的镜像,20G是放centos系统)

  (提示:记住不要格式化成NTFS就可以了,centos识别不了。win7识别文件系统默认一般是NTFS和FAT32,而centos干脆给它空闲空间就好,让它自个格式化去)

   2 我这里采取最简单的硬盘安装centos,解压images到2G的fat32硬盘,将isolinux放到启动盘,我的是L盘根目录下,一般是c盘

   3打开EASYBCD,添加新条目,安装NeoGrub,配置添加如下

title centos
root (hd0,4)
kernel (hd0,4)/isolinux/vmlinuz 
initrd (hd0,4)/isolinux/initrd.img

hd0表示第一块硬盘,hd1表示第二块硬盘,一次类推。

hd0,0表示第一块硬盘的第一个分区,hd0,1表示第一块硬盘第二个分区,以此类推。xp下c盘一般是hd0,0但是win7因为有个100m的隐藏分区,所以c盘一般是hd0,1其他一次类推。不过有时候分区混乱的话也会导致类推下来的不准确,不过这个没关系,启动的时候留意屏幕下方的提示,可以按e编辑,按b启动,这样挨个试,总会对的。只有输对了  才会进入安装引导界面。注意:硬盘安装fedora16的时候要在  vmlinuz 后面  加上  linux askmethod  防止从网络启动。

 

这里就可以进入安装启动项,慢慢按提示安装就可以了。这里注意事项提两点,就是utc时间,centos关闭这个功能就可以避免双系统的时间差。还有一点就是,centos内部硬盘分区最好用挂载,这样你的分区表才不会在win7看来变得不堪入目。第三点是bootmgr分在100m的分区内,不要让它和win7启动项放在一起

  5这时重启,linux是启动不了的,还要进入系统的EASYBCD配置添加启动项,add/remove entry里边,选择linux,,Tyep选择grub,填入name,Driver选linux所在的分区。我这里给centos分区的是最后一个盘,所以选最后的盘就可以了,如果不知道hd?,?,在开机启动项可以尝试一个一个选择,完成

 

 

好吧,grub启动项

linux    ~ext4,ext3,swap,fat32

windows~     ntfs   fat32

mac   ~dmg     app

那么开始分析

相对比,linux和windows能同时识别fat32,fat32只能不能放大于4g的文件

linux和windows的同时相处,首先,grub作为开机启动项,然后,作为两个的桥梁,fat32文件格式。linux的安装包不能大于4g,

posted on 2013-10-15 13:14  waterfoxjie  阅读(473)  评论(0编辑  收藏  举报