歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 多系統啟動菜單的終結方案

多系統啟動菜單的終結方案

日期:2017/2/27 9:32:25   编辑:更多Linux
  前言    實現多重引導的工具很多,如System Commander,bootstar, Linux的lilo,和WindowsNT自帶的OS Loader等等。其原理不外乎兩種:一是修改MBR(Master Boot Record),在MBR的最後用jmp指令跳到自己的代碼上來,從而控制引導過程;另一種方法是修改主分區裡第一個扇區的引導代碼,來實現多重引導。    MBR(即主引導記錄),指的是硬盤的第0個柱面(cylinder)的第0磁道(track)的第0扇區(sector)。主分區,對於dos,windows等使用fat文件系統的操作系統來說,就是C盤; 在Linux下,則是指root文件系統所在的分區。    System Commander和lilo用的是修改MBR的方法;OS Loader則用後一種方法。修改MBR會造成嚴重的兼容問題,可能被某些殺毒軟件誤認為是病毒殺掉。我不喜歡亂改MBR,所以一般用OS Loader。下面以linux為例說說怎麼利用OS Loader來實現多重引導:    一、安裝OS Loader:    假如想在硬盤上同時裝上Windows98,windowsNT和Redhat Linux,你可以先裝Windows98,然後安裝WindowsNT。WindowsNT裝完以後,OS Loader也就自動裝上了。如果這個順序有錯誤,你需要用到附件裡的程序和腳本,它可以為你安裝上OS Loader,這時你的系統其實已經可以進行多重引導了。    二、獲取各種OS的引導文件:    在OS Loader再加一些操作系統,需要在裝完WindowsNT以後想辦法把其它OS的引導代碼讀出來,存到文件裡去,也就是要把主分區第一扇區的512字節讀出來。在DOS下,這可以用debug或是norton diskedit來做,也可以自己寫一個小程序來實現。    其實裝完OS Loader以後系統就已經有了一個bootsect.dos,這個就是win9x的引導文件。下面用debug的方法通常不會用到。    debug    -R cx    cx 0000    200//設置讀取長度CX為512字節    -L 100 2 0 1    //讀取主引導扇區至內存ds:100處    -N bootsect.w98 //假設你是在Win98下,    將引導扇區文件存為bootsect.w98    -W 100//寫bootsect.w98文件    -Q//退出Debug程序    Linux裡有一個現成的實用程序可以用來直接讀寫扇區。    安裝Linux有兩點要注意的地方。    第一:在安裝lilo的時候,一定不要把lilo裝到MBR裡去,因為現在是想用OS Loader來做多重引導。應該把lilo裝到主分區的第一扇區裡(注意,這裡的主分區指的不是C盤,而是安裝Linux的那個分區)。    第二:應該做一張啟動軟盤(bootdisk),以便你能夠進入到Linux裡。因為現在lilo沒有裝在MBR裡,暫時還不能直接從硬盤引導到Linux。在Linux中則按下面方法可得到Linux的引導扇區文件:    以Red Hat Linux 6.0為例:    #dd if=/dev/hda3 of=bootsect.lnx bs=512 count=1    這裡假設你Red Hat Linux LILO安裝在/hda3上,引導扇區文件存為bootsect.lnx。    以FreeBSD3.2為例:    #dd if=/dev/rwd02 of=bootsect.bsd bs=512 count=1    這裡假設你FreeBSD安裝在第二個基本分區上,引導扇區文件存為bootsect.bsd。    將Linux引導扇區文件存入DOS分區    按上述方法獲取的Linux引導扇區文件會存放在Linux分區上,NT OS Loader無法直接讀取,需要將它保存在NT OS Loader所在的分區上,一般是C盤。    以Red Hat Linux 6.0為例:    #mount -t msdos /dev/hda1 /mnt    #cp bootsect.lnx /mnt/bootsect.lnx    以FreeBSD3.2為例:    #mount -t msdos /dev/wd0s1 /mnt    #cp bootsect.bsd /mnt/bootsect.bsd    三、修改boot.ini文件    打開Boot.ini文件,加入你想要引導的操作系統引導記錄,即可大功告成。如:    [boot loader]    timeout=30    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT    [operating systems]    C:\bootsect.w98="Microsoft Windows 98"    C:\bootsect.lux="Red Hat Linux 6.0"    C:\bootsect.bsd="FreeBSD Release 3.2"    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft windows 2000 Professional" /fastdetect    四、附件:    本文件為DOS下的RAR自解文件,下載後改名為.exe,可以在dos或windows下自解壓到c:\os目錄下(其中install腳本基於c:\os目錄創建),大家可根據自已的實際情況修改。    本文件只提供了創建OS Loader菜單的功能,若要啟動其它OS,再次強調:請注意不要將其安裝到MBR,只將它的引導模塊安裝到自身分區。,然後將其第一個扇區(512字節)提取來存成文件,加入boot.ini即可。    詳細請參閱壓縮包內的manual文件。    下載OSLOADER.RAR




Copyright © Linux教程網 All Rights Reserved