作者:syisyi 我的六個系統安裝方法及其應用(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下鍵入“dmesggrep hda”命令,會返回如下結果: hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 hda14 hda15 hda16 > hda3 hda4 hda3: hda4: 如果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,省了 不少麻煩。 好運!
來源:ChinaUnix.net