全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1918
推到 Plurk!
推到 Facebook!

可開機光碟之應用

 
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-21 12:11:03 IP:220.132.xxx.xxx 未訂閱
《資訊技術》 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)。
系統時間:2024-05-02 4:10:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!