可開機光碟之應用 |
|
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
《資訊技術》
http://www.ascc.net/nl/92/1911/02.txt
http://boom8.com/soft/siteclass.php?class=soft14
可開機光碟之應用 黃耀輝 前言 目前主機板BIOS大多可以支援El Torito規格【註1】,具引導CD-ROM
開機之能力。另方面,燒錄機及燒錄片的價格愈來愈低廉,燒錄軟
體也愈來愈精進。而光碟價廉、儲存容量大及體積輕薄,更是軟碟、
ZIP、MO等媒體所無法比擬。惟光碟的唯讀特性,讓目前大多數作業
系統都難賴以執行,因此光碟的用途受到了很大的限制,不過隨著
USB Flash Disk與RAM的低價與普及,藉由它們彌補光碟唯讀的缺點,
讓光碟運用空間更多元化。 風行已久的RPL(Remote Program Load)、PXE(Pre-Boot Execution
Environment)、DRBL(diskless remote boot in linux)、Bootp/tftp
等「無碟」(diskless)作業環境對「電腦教室」、「網路咖啡」
或「自助式電腦便利站」甚具價值,而「可開機光碟」引導啟動作
業系統將來或可取代「軟碟開機片」或「啟動晶片」。不過無「伺
服器」端,無法做遠程啟動之測試,因此,本文為節省篇幅故暫且
不談。 目前個人電腦使用機械式硬碟最為普遍,但由於硬碟於啟動電源
後即不斷高速運轉,難免有機械損耗致影響其功能,或許在將來固
態硬碟【註3】技術成熟之後,故障風險率會再降低。不過在此之前,
我想多數讀者較感興趣的,是電腦故障時可應急工作或救援資料的
光碟。此一部份在網路上已有不少站台提供詳細有用的資訊,例如:
http://rescuecd.sourceforge.net/、http://www.911cd.net/、
http://www.nu2.nu/等等,因此,以下謹就WinPE(Windows Preinstallation
Environment)、ERD commander、Knoppix Linux、Timos_rescue_cd
等用戶端可獨立執行之作業系統簡單地補充介紹。 引導啟動 電腦正常開機後會按設定的開機順序(如軟碟、硬碟、SCSI,USB
外接設備等等),依序搜尋 Boot Sector(絕對位址)有無引導碼,
找到時則將其載入執行,啟動作業系統。而一片CDROM約有700M,而
DVDROM則為CDROM的7~28倍,如何將各種作業系統或工具軟體彙整其
中,且能透過選單來多重啟動呢?以下就介紹相關程式之使用方法。 目前而言,很多小型工具程式都很實用而且多屬於自由軟體,例
如Bootable CD Wizard(http://bootcd.narod.ru/)、ISOLINUX
(http://syslinux.zytor.com/)、CDSHELL(http://www.cdshell.org/)、
Diskemu(http://www.nu2.nu/diskemu)、EasyBoot(http://www.eabsystems.com/,
付費)、Bootwiz(http://www.acronis.com/,用於該公司出版軟
體中)等等,除可鏈結引導碼外,大部分都具有軟碟映像檔、硬碟
映像檔等模擬開機指令。用法簡單易學。剛開始時,建議使用Bochs
【註2】硬體模擬器或CDRW燒錄,以增加成功率。 可開機光碟的必要條件就是必須有符合El Torito標準的第一前導
碼,如何透過「燒錄程式」或「光碟映像檔產生程式」將前導碼置
入Boot Sector呢?簡單說明如下: 以Ahead Nero與CDSHELL為例,步驟為: (1)【新建CD】選Cdrom(開機)。 (2)點選【映像檔】,瀏覽找到loader.bin。 (3)點選【開啟進階級設定】;【模擬類型】選「不模擬」。 (4)【已載入磁區數】選4。 也可以使用Bart’s BCD(Build CD-Rom,http://www.nu2.nu/bcd/),
依照指示步驟建立光碟映像檔後再燒錄於實體光碟。 至於如何透過選單指令再引導至作業系統呢?以CDSHELL與WINPE
為例,於選單批次檔(cdsh.ini)中以chain指令鏈結至原該作業系
統提供的引導碼(例如etfsboot.com),再由etfsboot.com引導至
setupldr.bin、ntdetect.com即可。惟Bootable CD Wizard之引導
碼無64kb的限制,可以直接鏈結至setupldr.bin。至於抽離原作業
系統提供的引導碼的方法很多,例如免費的BBIE(Bart’s Boot
Image Extractor),或需付費的如DirectISO、IsoBuster、UltraISO、
WinISO等等。 Linux作業系統 鼎鼎大名的Knoppix是由德國程式設計師克勞斯(Klaus Knopper)
將自由軟體Linux的Debian套件為主幹設計的,他把KDE版的Linux改
寫成速成光碟版,使用者只要把Knoppix光碟放入光碟機中,Bios更
改成從光碟開機,就可以使用Linux,不必安裝,免用硬碟,直接在
光碟上執行完整的Linux作業系統,支援DHCP(Dynamic Host Configuration
Protocol)或Static IP,它既可以用來當桌上工作站用,也可以用
來當網路伺服主機。 目前,其版本為3.1版(ftp://cle.linux.org.tw/pub/iso/KNOPPIX/),
也同時具備有中文介面的(ftp://cle.linux.org.tw/pub/iso/KNOPPIX/bv1al/、
http://debian.linux.org.tw/pub/3Anoppix/),ISO容量壓縮至700MB,
剛好夠一片CDROM,可直接燒錄於光碟。它可自動偵測內、外接式硬體,
也支援USB設備、音效卡、螢幕、鍵盤、滑鼠等。內建FTP、Apache、
Telnet、Samba、SSH、Mail、DHCP 等伺服器功能;並包含KDE 、
OpenOffice、Moxilla 、Gimp(影像處理)、Acrobat Reader(PDF
閱讀器)、XMMS(聽MP3)等應用軟體。 尤其對系統或套件軟體的設定調整變更後,可以將設定值儲存在floppy
或UsbDisk,下次執行時再回存,不必每次都要重新設定,甚具親和性。 其他Linux系統,尚有: (1)timos_rescue_cd,請詳http://rescuecd.sourceforge.net/download.html,
大小約50M。 (2)tomsrtbt(The most GNU/Linux on 1 floppy disk),請詳
http://www.toms.net/rb/。 (3)Chntpw(Change Windows NT Password,floppy image),請詳
http://ntpass.blaa.net/。 上述所列都是不錯的系統軟體,有需要的使用者不妨試試。 Windows作業系統 首先要介紹的是微軟的WINPE(Windows Preinstallation Environment),
請詳http://www.microsoft.com/licensing/programs/sa/sam/winPe.asp
是一個基於WindowsXP核心的迷你操作系統,也可以說是XP的精簡版,
他是在保護模式下命令行界面運行,提供網路共享、自動底層處理
進程和實現硬體驗證。WinPE所包含的硬體診斷和其他預裝設工具都
支援標準的WindowsXP驅動,具有系統備份及回存、支援NTFS/FAT32、
中文長檔名及緊急恢復硬碟作業系統的功能。 製造WinPE必須有WinPE所需元件(位於WinPE原始光碟片中的\WinPE
資料夾及\Tools\X86或\Tools\IA64資料夾內),以及一片Windows XP
或Server 2003原始安裝光碟片。您只需將WinPE所需元件複製於硬
碟資料夾(自訂)內,再執行{MKIMG.CMD【安裝片磁區代號或資料
夾】【目的資料夾】【映像檔名稱】}指令,即可產生所需檔案,XP
繁體版大約有250M。 如果想要添加RamDisk,就必須按照
http://www.microsoft.com/technet/itsolutions/edc/pak/build/edcbld05.asp
的指示,按步就班地修改Winpesys.inf;不影響的部分,即使是一
個空白,也請不要更動。再添加Ramdrv.sys與Ramdrv.inf。RamDisk
最大限制為16M,如設定值超過,會導致系統不正常。 WinPE的Tcp/IP目前僅支援DHCP、NLA(Network Location Awareness),
不支援靜態IP(static IP),筆者曾經試著按照
http://msdn.microsoft.com/chats/embedded/embedded_010803.asp
上的指示,使用Netsh外殼與所需 Helper,並修改registry,不過
並未成功,或許等微軟相關白皮書出來後,才會有希望吧!不過以
下要介紹的ERD Commander中倒有一個小程式TcpCfg.exe可以設定靜
態 IP,而且是 GUI(Graphics User Interface)介面。 根據筆者抽樣測試結果,可以在WinPE運行的實用軟體有AcdSee 2.4x、
TotalCommand 4.x、漢書6,7,8x、AbiWord 1.x、Ws Ftp-95、Editor2k
等,以及像 Norton Utility、Partition Magic、UnixUtil等PE(Portable
Executable)。這些軟件對於恢復作業系統、急救重要資料或硬碟
重整等都有相當幫助。 接著要介紹的是Winternals公司的ERD Commander(http://www.winternals.com),
它的主要功能為修復錯誤、損毀的系統,重新設定檔案權限、重建
已遺失的密碼、搶救系統及重要資料等。使用者只需要按照著軟體
說明,依序安裝後,執行程式即可製造出光碟映像檔,其步驟極為
簡單,大小約150M。不過他內定資料夾為I386,與WinPE相同,因此,
若想放於同一光碟片之內,就必須修改資料夾名稱及相關引導檔案
(bootsec.bin、setupldr.bin),有興趣者不妨參考上述網站或
http://www.wwwfox.net/bootcd/的說明。 其他小型作業系統或應用軟體,諸如: (1)O&O BlueCon XXL(http://www.oo-software.com/)搭配windows NT/2000
原始安裝光碟片所製作的迷你系統,支援NTFS/FAT32,可用CMD
內部指令。 (2)Acronis True Image、DriveCleanser、PartitionExpert、OS
Selector、DiskEditor、RecoveryExpert(http://www.acronis.com/)
等系統工具軟體。 (3)Freedos32(http://freedos-32.sourceforge.net/),基於
I386平台的32-bit OS,尚在發展階段。 上述所列舉者,有興趣的使用者亦可以試試。 軟碟及硬碟映像檔 電腦愛好者或許身邊還收藏有各式DOS開機片,例如MS-DOS(含
win95,win98,winME)、PC-DOS、DR-DOS、ROM-DOS、FreeDOS、RxDOS、
PTS-DOS等系統,他們皆曾風光一時,我想目前還有很多人習慣於那
種簡單系統下開發基礎軟體。想把它們羅列於光碟片中嗎?一點都
不難,上述的開機光碟工具程式中,有些指令像Diskemu、Memdisk、
Run等皆可使用映像檔開機。而製造映像檔的軟體也很多,例如:BFD
(Build Floppy Disk,http://www.nu2.nu/bfd/)、WinImage、
RawWrite、Floppy Image等,也可以使用Bochs、vmware、virtualPC
等模擬器製造。當然,如果善用RamDisk,將檔案先行壓縮,開機後
再解壓縮於RamDisk,效果將更佳。 就我所知,各大硬碟製造商例如 Seagate、Maxtor(Quantum)、
WD(Western Digital)、Fujitsu、Toshiba、Samsung和Hitachi
(IBM)等,其公司網站都有提供硬碟診斷與修理程式下載,它們大
部分都是使用軟體開機片(當硬碟故障時,只好使用軟碟了),但
軟體片容量低,讀寫速度慢且保存不易,不如通通放在一片光碟片
中。Dos真實模式下較難處理的恐怕是支援CDROM、網路以及USB設備
了,在網路上有很多資訊可供參考,例如http://www.nu2.nu/與
http://www.bovistech.com/對CDROM及NDIS就有詳盡的說明,並提
供必需的軟件;而http://www.bgdf.com/darkehor/PC/DOS/Drivers/USB/index.shtml
也提供各種USB Driver。除此之外,也可使用Symantec Ghost Norton
的開機片精靈,製造支援網路及USB的開機片。 許多防毒軟體公司都有提供急救軟體,預防當電腦硬碟中毒而無
法啟動時,可以掃毒或恢復系統,例如F-Prot(http://www.f-secure.com/)、
PC-cillin(http://www.trendmicro.com/)等等,有需要者亦可製
成映像檔或自解壓縮檔,放於光碟片中以備急需。 結語 目前硬碟容量都有數十G,甚至100G以上,價格也越來越便宜,一
般使用者都習慣於硬碟操作,也利用硬碟來備份。但硬碟可攜性低,
容易機械損耗。而光碟片輕薄且讀取速度佳,如果用來作備份或回
存系統、救援工具、遠行或應急的輔助系統,二者可互補可相輔,
我想應當是一種不錯的選擇,因此藉本文來分享我的經驗。(本文
作者任職於科工所) 附註 【註1】為Phoenix Technologies與IBM於1995年共同發表的規範,
定義可啟動CD-ROM的數據結構與映像數據的配置等標準。詳
情請參閱http://www.phoenix.com/resources/specs-cdrom.pdf。 【註2】Bochs類似vmware、virtualPC,但為opensource,是一個可
攜式的x86 PC模擬器,它可以模擬 X86的CPU、BIOS,並且
可以執行OS。請詳http://bochs.sourceforge.net/。 【註3】固態硬碟(Solid State Disk,簡稱為SSD),它模擬動態
隨機存取記憶體(DRAM)基本的存取模式,可以達到資料隨
機存取的高速傳輸,並能突破系統上的I/O資料流的限制,
它與DRAM不同的地方在於,DRAM僅止於有電源時才能存取資
料,失去電源時則資料掉將會流失,而固態硬碟則不受此限
制,它的工作方式是模擬一般電腦的I/O控制器,使用典型
的ANSI-standard SCSI介面,可隨插即用(plug and play)。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |