首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第39期->安全文摘
期刊号: 类型: 关键词:
我的六个系统安装方法及其应用

作者:syisyi
出处:http://www.chinaunix.net
日期:2003-03-03

我的六个系统安装方法及其应用(solaris,freebsd,linux,windows98,2k,xp)
              小弟这里把自己装系统的过程及考虑的事情都写下来,另外也写了一些与这个主题无关的,有些东西很简单也提了一下,是给不太了解的朋友写的,希望对对这方面感点兴趣的朋友有点参考作用。
              我的硬盘是80G,现在装有windows系列98,2k,xp,redhat,solaris,freebsd共六个操作系统。在分区的时候就考虑到要装多系统,所以分区的时候就计划好了。
              首先,先制定出分区计划,计划我的硬盘分区如下:
            Primary 1: FAT 1.8G   (label:win98)
            Primary 2: Solaris 8 x86 5.6G
            Primary 3: Extend (剩余的全给这个扩展分区了)
            Primary 4: FreeBSD 4.6G

            Extend :
            Reiserfs:5G redhat 系统分区
            swap:300M linux交换分区
            Reiserfs:4G 备用分区
            FAT32   :6G 主要是装程序文件  (label:prog)
            FAT32:10G(label:soft)
            FAT32:10G(label:doc)
            NTFS:2G(label:mydoc)
            NTFS:2G win2k advance server(label:win2k)
            NTFS:7G(label:server)
            NTFS:5G winxp(label:winxp)
            FAT32:2G(label:swap)
            FAT32:14G(label:vidio)

              现在把考虑的事情说一下。
              win98主要用于系统维护,给1.8G足够了,安装win98大约需要不到400M的空间,剩余的空间用于紧急时候存储一些东西,另外也可以利用这个空间和solaris交换文件,后面另述。之所以把这个分区划为FAT,是为了以后装DOS622考虑,因为DOS622不认FAT32,而装好了98以后,如果想再装DOS6.22,完全可以把DOS6.22装在这个分区,然后修改相应的启动文件,使98和dos622双启,这方面的技术文章在网上比较容易找到,不再另述。
              把NTFS分区划在后面是为了在98和2k,xp里前面的一些分区有个统一个分区名,比如prog在三个windows系统里全是D盘,对一些应用比较方便。
              之所以划出一个2G的label为swap的fat32分区,是为了这个分区在linux下挂接为可写,可以和windows交换数据,其它fat32视情况可以挂在linux下,建议为只读,防止误操作。
              最后一个label为vedio的盘划在扩展分区的最后面,可以视情况以后用作扩展用途,或划定为其它类型的分区用,由于在扩展分区的最后,改变分区类型及大小时对前面系统影响最小。
              
              需要准备的工具有,可以光盘启动带pqmagic的盘,diskman。pqmagic用于分区,diskman用于装完一个系统后保存分区表,以备不测时可以快速恢复。下面装完一个系统就diskman一把吧,出了事再diskman 回来。关于diskman下面就不述了。
              
              首先分区,用光盘启动,进入pqmagic,按如上分区分好区,注意pqmagic不能划定solaris,freebsd及reiserfs类型的分区,在分区的时候全指定为linux native (ext2)即可,主要是为了先占个地方。
              
              安装的时候,安装顺序如下:win98,redhat,win2k,winxp,freebsd,solaris,注意这里redhat一定要作一张启动盘,稍后要用到,而且,我们把grub装到mbr里,用他来引导其它操作系统。solaris最好是最后装,因为solaris要修改硬盘分区的CHS值,装完了solaris,PQMAGIC认为硬盘参数出了错误,认不出硬盘来了。这时候启动pqmagic的时候,他会提示你是否修正,你可千万别修正,修正完了,发现硬盘就成了一个大的没分的区了,再重启可能就出事了,弄不好什么也启动不了了,我试过一次,就这一次,害我终身难忘啊,呵呵。保留改动后的CHS事实上也没什么影响,不用pqmagic不就行了,只是硬盘分区参数不规范,也不影响其它系统的启动等等,无所谓了。
              
              先装win98,不用说了.再装redhat,我的redhat7.3全安装,大约占了3G的硬盘空间。然后装win2k ,再装winxp,注意要先装win2k,再装winxp,否则winxp不能启动,最后还得把winxp的引导系统换到c盘去。
              最后装freebsd,装freebsd的时候,不要装bootloader,保留mbr不变即可。最后用红帽那张启动软盘启动红帽,执行如下命令:
            cd /boot/grub
            grub
            grub>root(hd0,4)
            grub>setup(hd0)
            grub>quit

            这样就成功的把grub安装到mbr里面了,再修改一下grub的配置文件,即可完成多系统的启动。
            vi /boot/grub/menu.lst
            填加如下几行:
            title DOS/Windows
            rootnoverify (hd0,0)
            chainloader +1

            title freebsd
            rootnoverify (hd0,3)
            chainloader +1

            删掉引导ntfs分区的那几行,保留引导红帽的那几行,OK,保存,reboot,至此未安装solaris其它五个系统便安装完成了。重启系统,首先是grub菜单,如果选windows,那么便进入windows系统的启动菜单,这个菜单是c盘的引导分区及C盘根目录下的NTDETECT.COM,ntldr,bootsect.dos,boot.ini来引导的。



            然后如果不愿装solaris呢,就完事了,如果你要装solaris,就往下看,提前说好了,出事别找我,呵呵,主要是solaris毛病太多,容易出事。2000年6月版的不支持大硬盘,2002月2月版的没问题了,拿2000年6月版的,认我的硬盘认成了11G多,再往下装说什么它也不干了。如果硬盘N大,那就使2002年2月版的,而且它也支持P4
            solarisx86的分区号是82,linux的native分区号是83,linux的swap分区号是82,正好和solaris的分区号一样,先装solaris再装linux容易出问题,弄不好把solaris分区当swap分区给处理一下,可就惨了,所以后装吧。
            注意,下面要进行一些处理,这个处理很关键。
            用光盘启动,进入pqmagic,找到准备划给solaris的那个分区,现在那个分区类型是ext2,删掉这个分区,只是删除掉,让他处于未分配状态即可,应用,退出。稍后我们说这一步为什么重要。如果后来发现win2k,winxp都启动不了,自己改一下boot.ini吧。启动不了的原因就是boot.ini文件中的这一行:multi(0)disk(0)rdisk(0)partition(13)\WINDOWS="Microsoft Windows XP Professional" /fastdetect   partition后面的参数不知道给改成几了,改成正确的即可。
            下面进入solaris的安装,用software 1那张光盘启动,注意不是multilangue install那张盘,那张盘老让建个x86boot分区,而x86boot分区得在主分区里,现在主分区已经没地方了。software1不用建x86boot,直接装在一个主分区里就行了。启动系统,安装,刚删掉的那个分区安装时程序会划给solaris,到时候一看就明白了。直接一路装下去就OK了。
            装完了solaris会用它的多系统引导管理器来替代mbr,也能引导win98,但是不能引导扩展分区里的东西,所以不能引导linux,那么我们还得用grub来引导。方法如上,这时候/boot/grub/menu.lst中引导solaris的代码为:
            title solaris
            rootnoverify(hd0,3)
            chainloader +1
            引导bsd的代码为
            title freebsd
            rootnoverify(hd0,2)
            chainloader +1

            细心的朋友会问,solaris不是在第二个主分区吗,应该为 rootnoverify(hd0,1)呀,怎么这里写成rootnoverify(hd0,3)了?而freebsd怎么写成rootnoverify(hd0,2)了,呵呵,这里得解释一下。(以下我没有确凿的技术证据,完全是个人的推测,不知道对不对)grub是按照在mbr里四个分区应占的格子的先后顺序来引导的,我们用pqmagic删除了原来准备划给solaris的分区,然后应用,相应的它会调整mbr里的对应参数,使extend和freebsd都向前提一个格,把四个位置中的最后一个空出来,当安装solaris的时候,它把自己的分区信息就填在这个位置上了,自成变成了四个主分区中的“最后一个”了。
            如果不按照上述方面,solaris在硬盘分区表中还是第二个分区,那就坏了,linux说什么也启动不了了,不信你试试吧(可能改别的地方也可以,不过我不会现在,我已经试过很多方法了,还是不行,哪位找到方法说一声)原因是什么呢, linux在启动的时候,会识别出solaris分区中的slice,将这些也视为一个分区,例如,在我按上述方式装好后,在linux下键入“dmesg|grep hda”命令,会返回如下结果:

            hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 hda14 hda15 hda16 > hda3 hda4
            hda3: <bsd: hda17 hda18 > hda4: <solaris: [s0] hda19 [s1] hda20 [s2] hda21 [s7] hda22 >

            如果solaris为第二个分区,那么相应的原来的红帽系统分区hda5就要变为hda9了,grub的配置菜单里怎么填,他又是怎么识别?linux的fstab里怎么填?很麻烦的,我试了好几种办法都不能协调好,linux不能正常启动,所以只好想出这个办法来了。
            有的朋友会问,把solaris直接划成第四个区不就行了?呵呵,我还真想,用2002年2月版software1刚装的时候就是想把他装在BSD那里,先不用BSD了,没想到,后来提示,得在1024柱面以前,要不不往下进行了,哎,没办法呀。不过原先20G硬盘的时候用2000年6月版的装过,也是software1安装,安装在15G之后的最后一个分区里,挺正常的。具体我也搞不清,反正这样装是肯定没问题,至于1024柱面的问题,搞不清。

            下面说一下solaris里面访问win98那个区的问题,用如下命令即可挂下win98的分区

            mount -F pcfs /dev/dsk/c0d0p1 /mnt

            这样/mnt里面的内容就是原来的win98分区了,交换数据挺方便的。

            solaris下如何挂接一个ISO文件呢?不少同学网络条件挺好,从网上下载的solaris安装文件都为ISO文件形式,其实只要把software1刻成光盘,其它的仍然在windows分区里就行了。需要的时候,把那个ISO拷到win98分区里,然后启动solaris再把那个ISO挂到一个目录下就可以了,我装software2,language package,asia那几张盘的时候就是用的这个方法。

            具体要用lofiadm命令,software1装好了就有这个命令,这个命令把一个ISO文件模拟成一个块设备。
            假设software2安装ISO为c:\SOL_8_202_IA_2.iso,如下命令序列可完成安装过程。
            进入solaris

            #mount -F pcfs /dev/c0d0p1 /mnt
            #lofiadm -a /mnt/SOL_8_202_IA_2.iso
            /dev/lofi/1 /*这一行是上一行命令的处理结果,不是我键入的*/
            #mkdir /tempiso
            #mount -F hsfs -o ro /dev/lofi/1 /tempiso
            #cd /tempiso
            ……自己安装吧,已经是ISO里面的内容了。
            #umount /tempiso
            #lofiadm -d /dev/lofi/1

            现在就把SOL_8_202_IA_2.iso与/dev/lofi/1分离了,同上方法可以安装其它ISO,
            lofiadm的具体用法请参见man lofiadm

            呵呵,现在solaris就装好了。试试手吧。


            在红帽下挂接windows分区,注意键入以下选项codepage=936,iocharset=gb2312或codepage=936,iocharset=cp936,否则不能正常显示中文。

            当时redhat选reiserfs主要是由于宿舍的同学晚上爱看片,不过晚上到点停电,系统老没事掉电可不好玩,于是整了个reiserfs文件系统,省得文件系统容易崩溃了。

            redhat7.3的内核好像不支持solaris的文件分区,挂不上,估计重新编译内核就行了。原来在蓝点2.0里面用下面的命令可以挂上solaris的分区,对于上面的grep hda的结果,用如下命令可以挂接上solaris的s7分区
            mount -t ufs -o ufs=sunx86 /dev/hda22 /mnt/s7

            上面的划分区的时候有一个NTFS分区server,是给vmware和virtual pc用的,在winxp里,virtualpc里装上solaris(划给32M内存),freebsd(minimal选项,划给16M内存),redhat(字符终端,划给16M内存),vmware里装上路由型linux(划给8M内存,双网卡,起网关作用),mandrake等。virtualpc不能装双网卡,vmware可以,自己组个小局域网玩吧。这个分区建议用NTFS,为什么呢,我的virtualpc里的solaris装好了,六张盘全让我塞进去了,包括GNUtools等,对应的virtualpc中的solaris的硬盘文件为4,405,129,216 字节,不过启用了NTFS的压缩功能,占用硬盘空间为:1,603,891,200 字节。FreeBSD为358,735,359 字节,占用硬盘为160,432,128 字节。类似,硬盘利用率高啦,得益于NTFS的压缩功能。
            访问solaris的图形界面在winxp下装个exceed吧,省点虚处理机的资源,呵呵。


            如果是小硬盘,只想装dos622,win98,solaris,建议C盘为FAT区,先装win98于C:\windows目录,然后用software1装solaris,这时候启动管理器是solaris的,开机后启动界面第一项就是win98的启动。装好了重启机器,用dos622的启动盘启动,装dos622于C盘,然后修改win98的一些配置文件即可完成双启,具体可参见下文:

            http://www.lixiang.gd.cn/computer/system/Win98-dos6.22/  

            这种装法我没试过,不知道dos622会不会修改C盘的引导扇区,真怕修改,就先把C盘引导扇区保存下来,装完了再恢复就行了。

            可以用一下下面的命令:
            在还没装dos622的时候里,进入win98的command.com
            c:\>debug
            -l 100 2 0 1
            -n c:\testtest
            -r cx
            CX 0000
            :200
            -w 100
            Writing 00200 bytes
            -q

            c:\testtest就是C盘的引导扇区。

            恢复的时候可以如下,先进入command.com:
            c:\debug
            -n c:\testtest
            -l 100
            -w 100 2 0 1
            -q

            debug全干了,不用别的工具.

            如果只是为了学汇编而用dos622,建议可以在vmware或virtualpc里装dos622,全屏了以
            后和裸机上装dos622感觉一样,原来学汇编的时候我就是在vmware里装的dos622,省了
            不少麻烦。          

            好运!
版权所有,未经许可,不得转载