來聊聊你第一眼會看異性的哪個部位眼睛~~可以一個人ㄉ眼神可以看到一切~~~所以很多事都可以得知 .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! .


zd0000686 發表在 痞客邦 留言(0) 人氣()

測驗你的善良指數有一天你和情人大吵一架,隔天他請快遞地送來一個箱子,憑直覺,你覺得裡面會是什麼呢?一、 昂貴的皮件二、 一定有詐,可能是大便三、 過去的情書、禮物四、 空箱子五、 溫馨的小禮物.


zd0000686 發表在 痞客邦 留言(0) 人氣()

線性執行模組敘述老資料,已經忘了在哪找的了 LX - Linear eXecutable Module Format Description June 3, 1992 Figure 1. 32-bit Linear EXE File Layout 00h +------------------+ <--+ | DOS 2 Compatible | | | EXE Header | | 1Ch +------------------+ | | unused | | +------------------+ | 24h | OEM Identifier | | 26h | OEM Info | | | | |-- DOS 2.0 Section 3Ch | Offset to | | (Discarded) | Linear EXE | | | Header | | 40h +------------------+ | | DOS 2.0 Stub | | | Program & | | | Reloc. Table | | +------------------+ <--+ | | xxh +------------------+ <--+ | Executable | | | Info | | +------------------+ | | Module | | | Info | | +------------------+ |-- Linear Executable | Loader Section | | Module Header | Info | | (Resident) +------------------+ | | Table Offset | | | Info | | +------------------+ <--+ | Object Table | | +------------------+ | | Object Page Table| | +------------------+ | | Resource Table | | +------------------+ | | Resident Name | | | Table | | +------------------+ |-- Loader Section | Entry Table | | (Resident) +------------------+ | | Module Format | | | Directives Table | | | (Optional) | | +------------------+ | | Resident | | | Directives Data | | | (Optional) | | | | | | (Verify Record) | | +------------------+ | | Per-Page | | | Checksum | | +------------------+ <--+ | Fixup Page Table | | +------------------+ | | Fixup Record | | | Table | | +------------------+ |-- Fixup Section | Import Module | | (Optionally Resident) | Name Table | | +------------------+ | | Import Procedure | | | Name Table | | +------------------+ <--+ | Preload Pages | | +------------------+ | | Demand Load | | | Pages | | +------------------+ | | Iterated Pages | | +------------------+ | | Non-Resident | |-- (Non-Resident) | Name Table | | +------------------+ | | Non-Resident | | | Directives Data | | | (Optional) | | | | | | (To be Defined) | | +------------------+ <--+ | Debug Info | |-- (Not used by Loader) +------------------+ <--+ Figure 2. 32-bit Linear EXE Header +-----+-----+-----+-----+-----+-----+-----+-----+ 00h | "L" "X" |B-ORD|W-ORD| FORMAT LEVEL | +-----+-----+-----+-----+-----+-----+-----+-----+ 08h | CPU TYPE | OS TYPE | MODULE VERSION | +-----+-----+-----+-----+-----+-----+-----+-----+ 10h | MODULE FLAGS | MODULE # OF PAGES | +-----+-----+-----+-----+-----+-----+-----+-----+ 18h | EIP OBJECT # | EIP | +-----+-----+-----+-----+-----+-----+-----+-----+ 20h | ESP OBJECT # | ESP | +-----+-----+-----+-----+-----+-----+-----+-----+ 28h | PAGE SIZE | PAGE OFFSET SHIFT | +-----+-----+-----+-----+-----+-----+-----+-----+ 30h | FIXUP SECTION SIZE | FIXUP SECTION CHECKSUM| +-----+-----+-----+-----+-----+-----+-----+-----+ 38h | LOADER SECTION SIZE |LOADER SECTION CHECKSUM| +-----+-----+-----+-----+-----+-----+-----+-----+ 40h | OBJECT TABLE OFF | # OBJECTS IN MODULE | +-----+-----+-----+-----+-----+-----+-----+-----+ 48h | OBJECT PAGE TABLE OFF | OBJECT ITER PAGES OFF | +-----+-----+-----+-----+-----+-----+-----+-----+ 50h | RESOURCE TABLE OFFSET |#RESOURCE TABLE ENTRIES| +-----+-----+-----+-----+-----+-----+-----+-----+ 58h | RESIDENT NAME TBL OFF | ENTRY TABLE OFFSET | +-----+-----+-----+-----+-----+-----+-----+-----+ 60h | MODULE DIRECTIVES OFF | # MODULE DIRECTIVES | +-----+-----+-----+-----+-----+-----+-----+-----+ 68h | FIXUP PAGE TABLE OFF |FIXUP RECORD TABLE OFF | +-----+-----+-----+-----+-----+-----+-----+-----+ 70h | IMPORT MODULE TBL OFF | # IMPORT MOD ENTRIES | +-----+-----+-----+-----+-----+-----+-----+-----+ 78h | IMPORT PROC TBL OFF | PER-PAGE CHECKSUM OFF | +-----+-----+-----+-----+-----+-----+-----+-----+ 80h | DATA PAGES OFFSET | #PRELOAD PAGES | +-----+-----+-----+-----+-----+-----+-----+-----+ 88h | NON-RES NAME TBL OFF | NON-RES NAME TBL LEN | +-----+-----+-----+-----+-----+-----+-----+-----+ 90h | NON-RES NAME TBL CKSM | AUTO DS OBJECT # | +-----+-----+-----+-----+-----+-----+-----+-----+ 98h | DEBUG INFO OFF | DEBUG INFO LEN | +-----+-----+-----+-----+-----+-----+-----+-----+ A0h | #INSTANCE PRELOAD | #INSTANCE DEMAND | +-----+-----+-----+-----+-----+-----+-----+-----+ A8h | HEAPSIZE | +-----+-----+-----+-----+ Note: The OBJECT ITER PAGES OFF must either be 0 or set to the same value as DATA PAGES OFFSET in OS/2 2.0. Ie., iterated pages are required to be in the same section of the file as regular pages. Note: Table offsets in the Linear EXE Header may be set to zero to indicate that the table does not exist in the EXE file and it's size is zero. "L" "X" = DW Signature word. The signature word is used by the loader to identify the EXE file as a valid 32-bit Linear Executable Module Format. "L" is low order byte. "X" is high order byte. B-ORD = DB Byte Ordering. This byte specifies the byte ordering for the linear EXE format. The values are: 00H - Little Endian Byte Ordering. 01H - Big Endian Byte Ordering. W-ORD = DB Word Ordering. This byte specifies the Word ordering for the linear EXE format. The values are: 00H - Little Endian Word Ordering. 01H - Big Endian Word Ordering. Format Level = DD Linear EXE Format Level. The Linear EXE Format Level is set to 0 for the initial version of the 32-bit linear EXE format. Each incompatible change to the linear EXE format must increment this value. This allows the system to recognized future EXE file versions so that an appropriate error message may be displayed if an attempt is made to load them. CPU Type = DW Module CPU Type. This field specifies the type of CPU required by this module to run. The values are: 01H - 80286 or upwardly compatible CPU is required to execute this module. 02H - 80386 or upwardly compatible CPU is required to execute this module. 03H - 80486 or upwardly compatible CPU is required to execute this module. OS Type = DW Module OS Type. This field specifies the type of Operating system required to run this module. The currently defined values are: 00H - Unknown (any "new-format" OS) 01H - OS/2 (default) 02H - Windows 03H - DOS 4.x 04H - Windows 386 MODULE VERSION = DD Version of the linear EXE module. This is useful for differentiating between revisions of dynamic linked modules. This value is specified at link time by the user. MODULE FLAGS = DD Flag bits for the module. The module flag bits have the following definitions. 00000001h = Reserved for system use. 00000002h = Reserved for system use. 00000004h = Per-Process Library Initialization. The setting of this bit requires the EIP Object # and EIP fields to have valid values. If the EIP Object # and EIP fields are valid and this bit is NOT set, then Global Library Initialization is assumed. Setting this bit for an EXE file is invalid. 00000008h = Reserved for system use. 00000010h = Internal fixups for the module have been applied. The setting of this bit in a Linear Executable Module indicates that each object of the module has a preferred load address specified in the Object Table Reloc Base Addr. If the module's objects can not be loaded at these preferred addresses, then the relocation records that have been retained in the file data will be applied. 00000020h = External fixups for the module have been applied. 00000040h = Reserved for system use. 00000080h = Reserved for system use. 00000100h = Incompatible with PM windowing. 00000200h = Compatible with PM windowing. 00000300h = Uses PM windowing API. 00000400h = Reserved for system use. 00000800h = Reserved for system use. 00001000h = Reserved for system use. 00002000h = Module is not loadable. When the 'Module is not loadable' flag is set, it indicates that either errors were detected at link time or that the module is being incrementally linked and therefore can't be loaded. 00004000h = Reserved for system use. 00038000h = Module type mask. 00000000h = Program module. A module can not contain dynamic links to other modules that have the 'program module' type. 00008000h = Library module. 00018000h = Protected Memory Library module. 00020000h = Physical Device Driver module. 00028000h = Virtual Device Driver module. 40000000h = Per-process Library Termination. The setting of this bit requires the EIP Object # and EIP fields to have valid values. If the EIP Object # and EIP fields are valid and this bit is NOT set, then Global Library Termination is assumed. Setting this bit for an EXE file is invalid. MODULE # PAGES = DD Number of pages in module. This field specifies the number of pages physically contained in this module. In other words, pages containing either enumerated or iterated data, or zero-fill pages that have relocations, not invalid or zero-fill pages implied by the Virtual Size in the Object Table being larger than the number of pages actually in the linear EXE file. These pages are contained in the 'preload pages', 'demand load pages' and 'iterated data pages' sections of the linear EXE module. This is used to determine the size of the page information tables in the linear EXE module. EIP OBJECT # = DD The Object number to which the Entry Address is relative. This specifies the object to which the Entry Address is relative. This must be a nonzero value for a program module to be correctly loaded. A zero value for a library module indicates that no library entry routine exists. If this value is zero, then both the Per-process Library Initialization bit and the Per-process Library Termination bit must be clear in the module flags, or else the loader will fail to load the module. Further, if the Per-process Library Termination bit is set, then the object to which this field refers must be a 32-bit object (i.e., the Big/Default bit must be set in the object flags; see below). EIP = DD Entry Address of module. The Entry Address is the starting address for program modules and the library initialization and Library termination address for library modules. ESP OBJECT # = DD The Object number to which the ESP is relative. This specifies the object to which the starting ESP is relative. This must be a nonzero value for a program module to be correctly loaded. This field is ignored for a library module. ESP = DD Starting stack address of module. The ESP defines the starting stack pointer address for program modules. A zero value in this field indicates that the stack pointer is to be initialized to the highest address/offset in the object. This field is ignored for a library module. PAGE SIZE = DD The size of one page for this system. This field specifies the page size used by the linear EXE format and the system. For the initial version of this linear EXE format the page size is 4Kbytes. (The 4K page size is specified by a value of 4096 in this field.) PAGE OFFSET SHIFT = DD The shift left bits for page offsets. This field gives the number of bit positions to shift left when interpreting the Object Page Table entries' page offset field. This determines the alignment of the page information in the file. For example, a value of 4 in this field would align all pages in the Data Pages and Iterated Pages sections on 16 byte (paragraph) boundaries. A Page Offset Shift of 9 would align all pages on a 512 byte (disk sector) basis. The default value for this field is 12 (decimal), which give a 4096 byte alignment. All other offsets are byte aligned. FIXUP SECTION SIZE = DD Total size of the fixup information in bytes. This includes the following 4 tables: - Fixup Page Table - Fixup Record Table - Import Module name Table - Import Procedure Name Table FIXUP SECTION CHECKSUM = DD Checksum for fixup information. This is a cryptographic checksum covering all of the fixup information. The checksum for the fixup information is kept separate because the fixup data is not always loaded into main memory with the 'loader section'. If the checksum feature is not implemented, then the linker will set these fields to zero. LOADER SECTION SIZE = DD Size of memory resident tables. This is the total size in bytes of the tables required to be memory resident for the module, while the module is in use. This total size includes all tables from the Object Table down to and including the Per-Page Checksum Table. LOADER SECTION CHECKSUM = DD Checksum for loader section. This is a cryptographic checksum covering all of the loader section information. If the checksum feature is not implemented, then the linker will set these fields to zero. OBJECT TABLE OFF = DD Object Table offset. This offset is relative to the beginning of the linear EXE header. # OBJECTS IN MODULE = DD Object Table Count. This defines the number of entries in Object Table. OBJECT PAGE TABLE OFFSET = DD Object Page Table offset This offset is relative to the beginning of the linear EXE header. OBJECT ITER PAGES OFF = DD Object Iterated Pages offset. This offset is relative to the beginning of the EXE file. RESOURCE TABLE OFF = DD Resource Table offset. This offset is relative to the beginning of the linear EXE header. # RESOURCE TABLE ENTRIES = DD Number of entries in Resource Table. RESIDENT NAME TBL OFF = DD Resident Name Table offset. This offset is relative to the beginning of the linear EXE header. ENTRY TBL OFF = DD Entry Table offset. This offset is relative to the beginning of the linear EXE header. MODULE DIRECTIVES OFF = DD Module Format Directives Table offset. This offset is relative to the beginning of the linear EXE header. # MODULE DIRECTIVES = DD Number of Module Format Directives in the Table. This field specifies the number of entries in the Module Format Directives Table. FIXUP PAGE TABLE OFF = DD Fixup Page Table offset. This offset is relative to the beginning of the linear EXE header. FIXUP RECORD TABLE OFF = DD Fixup Record Table Offset This offset is relative to the beginning of the linear EXE header. IMPORT MODULE TBL OFF = DD Import Module Name Table offset. This offset is relative to the beginning of the linear EXE header. # IMPORT MOD ENTRIES = DD The number of entries in the Import Module Name Table. IMPORT PROC TBL OFF = DD Import Procedure Name Table offset. This offset is relative to the beginning of the linear EXE header. PER-PAGE CHECKSUM OFF = DD Per-Page Checksum Table offset. This offset is relative to the beginning of the linear EXE header. DATA PAGES OFFSET = DD Data Pages Offset. This offset is relative to the beginning of the EXE file. # PRELOAD PAGES = DD Number of Preload pages for this module. Note that OS/2 2.0 does not respect the preload of pages as specified in the executable file for performance reasons. NON-RES NAME TBL OFF = DD Non-Resident Name Table offset. This offset is relative to the beginning of the EXE file. NON-RES NAME TBL LEN = DD Number of bytes in the Non-resident name table. NON-RES NAME TBL CKSM = DD Non-Resident Name Table Checksum. This is a cryptographic checksum of the Non-Resident Name Table. AUTO DS OBJECT # = DD The Auto Data Segment Object number. This is the object number for the Auto Data Segment used by 16-bit modules. This field is supported for 16-bit compatibility only and is not used by 32-bit modules. DEBUG INFO OFF = DD Debug Information offset. This offset is relative to the beginning of the linear EXE header. DEBUG INFO LEN = DD Debug Information length. The length of the debug information in bytes. # INSTANCE PRELOAD = DD Instance pages in preload section. The number of instance data pages found in the preload section. # INSTANCE DEMAND = DD Instance pages in demand section. The number of instance data pages found in the demand section. HEAPSIZE = DD Heap size added to the Auto DS Object. The heap size is the number of bytes added to the Auto Data Segment by the loader. This field is supported for 16-bit compatibility only and is not used by 32-bit modules. Program (EXE) startup registers and Library entry registers Program startup registers are defined as follows. EIP = Starting program entry address. ESP = Top of stack address. CS = Code selector for base of linear address space. DS = ES = SS = Data selector for base of linear address space. FS = Data selector of base of Thread Information Block (TIB). GS = 0. EAX = EBX = 0. ECX = EDX = 0. ESI = EDI = 0. EBP = 0. [ESP+0] = Return address to routine which calls DosExit(1,EAX). [ESP+4] = Module handle for program module. [ESP+8] = Reserved. [ESP+12] = Environment data object address. [ESP+16] = Command line linear address in environment data object. Library initialization registers are defined as follows. EIP = Library entry address. ESP = User program stack. CS = Code selector for base of linear address space. DS = ES = SS = Data selector for base of linear address space. Note that a 32-bit Protected Memory Library module will be given a GDT selector in the DS and ES registers (PROTDS) that addresses the full linear address space available to a application. This selector should be saved by the initialization routine. Non-Protected Memory Library modules will receive a selector (FLATDS) that addresses the same amount of linear address space as an application's .EXE can. FS = Data selector of base of Thread Information Block (TIB). GS = 0. EAX = EBX = 0. ECX = EDX = 0. ESI = EDI = 0. EBP = 0. [ESP+0] = Return address to system, (EAX) = return code. [ESP+4] = Module handle for library module. [ESP+8] = 0 (Initialization) Note that a 32-bit library may specify that its entry address is in a 16-bit code object. In this case, the entry registers are the same as for entry to a library using the Segmented EXE format. These are documented elsewhere. This means that a 16-bit library may be relinked to take advantage of the benefits of the Linear EXE format (notably, efficient paging). Library termination registers are defined as follows. EIP = Library entry address. ESP = User program stack. CS = Code selector for base of linear address space. DS = ES = SS = Data selector for base of linear address space. FS = Data selector of base of Thread Information Block (TIB). GS = 0. EAX = EBX = 0. ECX = EDX = 0. ESI = EDI = 0. EBP = 0. [ESP+0] = Return address to system. [ESP+4] = Module handle for library module. [ESP+8] = 1 (Termination) Note that Library termination is not allowed for libraries with 16-bit entries. Object Table The number of entries in the Object Table is given by the # Objects in Module field in the linear EXE header. Entries in the Object Table are numbered starting from one. Each Object Table entry has the following format: +-----+-----+-----+-----+-----+-----+-----+-----+ 00h | VIRTUAL SIZE | RELOC BASE ADDR | +-----+-----+-----+-----+-----+-----+-----+-----+ 08h | OBJECT FLAGS | PAGE TABLE INDEX | +-----+-----+-----+-----+-----+-----+-----+-----+ 10h | # PAGE TABLE ENTRIES | RESERVED | +-----+-----+-----+-----+-----+-----+-----+-----+ VIRTUAL SIZE = DD Virtual memory size. This is the size of the object that will be allocated when the object is loaded. The object's virtual size (rounded up to the page size value) must be greater than or equal to the total size of the pages in the EXE file for the object. This memory size must also be large enough to contain all of the iterated data and uninitialized data in the EXE file. RELOC BASE ADDR = DD Relocation Base Address. The relocation base address the object is currently relocated to. If the internal relocation fixups for the module have been removed, this is the address the object will be allocated at by the loader. OBJECT FLAGS = DW Flag bits for the object. The object flag bits have the following definitions. 0001h = Readable Object. 0002h = Writable Object. 0004h = Executable Object. The readable, writable and executable flags provide support for all possible protections. In systems where all of these protections are not supported, the loader will be responsible for making the appropriate protection match for the system. 0008h = Resource Object. 0010h = Discardable Object. 0020h = Object is Shared. 0040h = Object has Preload Pages. 0080h = Object has Invalid Pages. 0100h = Object has Zero Filled Pages. 0200h = Object is Resident (valid for VDDs, PDDs only). 0300h = Object is Resident & Contiguous (VDDs, PDDs only). 0400h = Object is Resident & 'long-lockable' (VDDs, PDDs only). 0800h = Reserved for system use. 1000h = 16:16 Alias Required (80x86 Specific). 2000h = Big/Default Bit Setting (80x86 Specific). The 'big/default' bit , for data segments, controls the setting of the Big bit in the segment descriptor. (The Big bit, or B-bit, determines whether ESP or SP is used as the stack pointer.) For code segments, this bit controls the setting of the Default bit in the segment descriptor. (The Default bit, or D-bit, determines whether the default word size is 32-bits or 16-bits. It also affects the interpretation of the instruction stream.) 4000h = Object is conforming for code (80x86 Specific). 8000h = Object I/O privilege level (80x86 Specific). Only used for 16:16 Alias Objects. PAGE TABLE INDEX = DD Object Page Table Index. This specifies the number of the first object page table entry for this object. The object page table specifies where in the EXE file a page can be found for a given object and specifies per-page attributes. The object table entries are ordered by logical page in the object table. In other words the object table entries are sorted based on the object page table index value. # PAGE TABLE ENTRIES = DD # of object page table entries for this object. Any logical pages at the end of an object that do not have an entry in the object page table associated with them are handled as zero filled or         invalid pages by the loader.         When the last  logical pages  of an  object  are not         specified with an object page table entry,  they are         treated as either zero filled pages or invalid pages         based on the last entry in the object page table for .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! .


zd0000686 發表在 痞客邦 留言(0) 人氣()

磁碟引導開機《資訊技術》 磁碟引導開機(上) 科工所 黃耀輝 前言 目前大部份作業系統的安裝步驟都儘量自動化,連開機引導程序  也一併處理了。或許大家似乎感覺不到開機程序的存在,但它仍掌  握著作業系統的命脈,當它真的不見了(如病毒破壞或安裝不當), 可會動彈不得。  再者,如果善用「系統開機程序」,不管是系統啟動或備份將更 容易。故筆者想藉本文與讀者切磋心得,一起討論Windows、DOS環 境下的開機問題。 開機步驟 大致上,硬體(韌體)部份的啟動步驟約略如下(如果發現其中 有錯誤,可參考使用手冊,針對該部份進行檢查): 當電源供應器啟動且“Microprocessor timer chip”接收到良好 訊號後,CPU開始執行“ROM BIOS”(Basic Input-Output System), 而後執行POST(Power On Self Test,含CMOS、CPU、RAM、KeyBoard、  Video、Disk...),完成後,ROM BIOS將按照CMOS設置中的啟動順  序搜尋軟、硬碟驅動器及CDROM、網路服務器等有效的啟動驅動器, 讀入MBR(Master Boot Record,主系統引導記錄),然後將系統控 制權交給引導記錄,由引導記錄完成系統的啟動。 由於MBR與引導  扇區(boot sector)比較小,通常它主要任務是讀入第二個啟動碼 (loader Code),第二個啟動碼再再讀入第三個啟動碼,直到啟動 操作系統核心程式。  對硬碟而言,如果MBR有正確的引導記錄,即依選項指向至各相對  分割(Partition);否則尋找PBR(Partition Bot Record)table,  指向設定為active之分割。如果被指定分割之引導扇區有正確之啟  動碼,即載入相對之啟動程式,例如引導扇區為NT之啟動碼,則會  載入根目錄之ntldr引導程式;如引導扇區為9x之啟動碼,則會載入 根目錄之io.sys核心程式。 分割規劃 目前的硬碟容量都很大,妥善規劃是有必要的。筆者常應用SPFDisk (SPFDisk是一支綜合了『硬碟分割工具』以及『啟動管理程式』的 軟體,請詳見網址http://spfdisk.sourceforge.net/note.htm)來 管理分割。例如:建立、備份、隱藏、設定System ID等。主分割 (Primary)數量可達4個,而其中主分割之ㄧ可設為擴充分割  (Extended),建立一個新的邏輯分割(Logic)表;而邏輯分割又 可建立擴充分割,繼續循環延伸,使用者可視實際之需要作合適安 排。  當筆者安裝操作系統前,習慣先備份MBR,且每次只顯示一個主分  割,其餘同類分割都予以隱藏,避免系統互相干擾。等多系統全部 安裝完畢後再回存MBR,並使用多系統開機管理程序啟動作業系統。 (單)多系統開機程序 目前與開機管理(Boot Manager)有關的市售軟體甚多,大部份 必須安裝後才能執行,啟動碼安裝的地方有MBR、分割啟動磁區或分 割,也有些與作業系統混用。有些可能會因重寫MBR而造成某些備份 軟體無法辨識分割表。因需經安裝才能使用,那麼當系統當機後只 能藉該軟體所建立之急救片來應變了。  為避免有侵權嫌疑,故本文避開市售軟體部份,僅將介紹幾個使 用方便的軟體,如:SPFDisk、ntldr、” GRUB for DOS” 等。因 關係系統底層操作,具有相當危險性,若非熟悉,建議不要輕易嘗 試安裝於硬碟。讀者若有興趣,可參考後文之實際演練說明。 (一) SPFDisk   使用SPFDisk所建立的多系統開機程序,可安裝在MBR或分割。  安裝在MBR最方便,但相容性較差,可能導致很多軟體無法辨  識分割表(Partition table),而無法做備份。而安裝在啟  動磁區,相容性較高,會佔用一個分割,則該分割之System ID必須設定成SPF專用,且設為Active。DOS或Windows無法共  用該分割,故無法編輯該開機選單,要修改時仍必須透過 SPFDISK。  開機程序為光棒式操作,選單選項可設置隱藏同類主分割。無 法載入『引導碼映像檔』或『可開機磁碟硬像檔』,但SPFDisk 為單一檔案,圖形介面操作,使用容易,可隨時執行備份或重 建,很是方便。 (二) ntldr  ntldr是NT系統的開機管理程式,當開機程序被引導至某分割,  而該分割引導扇區為NT引導碼時,會載入根目錄下一個叫ntldr 的隱藏檔。ntldr會尋找並載入Boot.ini、Bootsect.dos、 Bootsect.w40、NTdetect.com、NTbootdd.sys等檔案。  其中Bootsect.dos、Bootsect.w40為啟動IO.sys的引導碼映像 檔,需要啟動DOS或9X系統時才需要,檔名可配合Boot.ini更  改;如果有SCSI設備才需要NTbootdd.sys檔。Boot.ini為可編  輯的開機選單,Boot.ini語法請詳 http://support.microsoft.com/?kbid=289022。  ntldr可重新導引至指定分割之引導扇區,或啟動『引導碼映  像檔』與『可開機磁碟硬像檔』,但不能隱藏分割。如果ntldr 是被其他多系統開機程序所引導時,會出現多重多系統開機畫 面,而ntldr也可再繼續引導其他多系統開機程序。  由於ntldr、boot.ini、NTdetect.com等檔案容易備份,故重 建很容易。不過引導扇區則必須經由作業系統安裝,或利用修 復控制台【註A】相關指令或bootpart(請詳見網址 http://www.winimage.com/bootpart.htm)等類似軟體安裝引 導碼。  至於Bootsect.dos、Bootsect.w40等『引導碼映像檔檔案』, 可使用sys.com、bootpart等類似軟體安裝引導碼於引導扇區 後,再用savepart、winmbr或debug.exe相關工具軟體製造該 檔案。由於它們跟分割配置有關,所以很難與其他電腦共享, 但在同台電腦裡是允許被其他多系統開機程序所啟動的。    Ntldr若要啟動『可開機磁碟硬像檔』時,必須使用VFloppy (請詳http://download.pchome.net/php/dl.php?sid=15880/)  等類似軟體製作『引導碼映像檔』,而且僅支援標準格式之映 像檔(Image)。 (三)“GRUB for DOS”  由於DOS界面單純,容易利用軟碟開機或製成磁碟映像檔由光碟 開機後啟動,而且DOS環境下有甚多程式或指令可供運用,例如 驅動光碟、網路連線、驅動SCSI或USB等外部設備。解壓縮、編 輯、複製或移動檔案等。因此在DOS環境下再起動多系統開機程 序,甚具靈活性。而“GRUB for DOS”(GRand Unified Bootloader is a GNU project for multi-OS boot loader。請詳見網址 http://newdos.yginfo.net/grubdos.htm)或LoadLin(請詳見 網址http://elserv.ffm.fgan.de/~lermen/,啟動Linux系統,  選單可用DOS批次檔)等多系統開機程序皆為此類上選,“GRUB for DOS之可編輯式選單為menu.lst;但亦可進入命令列模式, 直接輸入指令。它允許分組配置分割之隱藏,可指向分割之引導 扇區,載入引導碼,或載入『引導碼映像檔』檔案(請見上面 ntldr相關描述),啟動系統。更可不需『引導碼映像檔』 (ntldr則需要),直接啟動『標準磁碟映像檔』。  使用時可將一分割設為DOS開機(使用 Sys.com [drive],  format /s [drive]或bootpart等類似軟體),其餘各種需要的 DOS製成可開機磁碟映像檔(核心檔案即可),將它們與 “Windows 9X”同放在此分割,但要注意各『引導碼映像檔』 用途不同,請適當區分命名。(待續)《資訊技術》 磁碟引導開機(下) 科工所 黃耀輝 (文續第2004期第28頁) 實際演練 讀者或許看了前(2004期)文說明仍不知所以然,因此筆者想使  用軟碟做綜合說明,讓讀者對操作有較清楚的概念,讀者若有興趣 可做做看。  1.首先準備一張1.44M之軟碟片,請不要設為防寫,放進軟碟機 (假設為A:)。  2.到http://www.winimage.com/下載winimage(shareware),執行 安裝。  3.到http://freedos-32.sourceforge.net/release.html下載 fd32-image(檔名為fd32002b.zip),解壓縮後會有一個fd32.img 『標準磁碟映像檔』,先放在硬碟。接者執行winimage,打開  fd32.img,僅保留grub資料夾與裡面全部檔案,其餘皆刪除,再 用滑鼠點選Disk->Write Disk,寫入軟碟片。本磁碟片為Linux版 的GRUB,但格式為fat,檔案可在DOS或Windows環境下處理。  4.到微軟網站或http://www.bootdisk.com/下載DOS及2000(或XP)  之『開機磁碟映像檔』,先放在硬碟。然後執行winimage,打開  DOS映像檔,再用滑鼠點選Image→“Boot Sector Properties”  → Save →“boot Floppy file”存為dosa.bin(檔名可自設)。  再打開2000(或XP)映像檔,用滑鼠點選Image→“Boot Sector Properties”→ Save →“Boot Floppy file”存為nta.bin(檔 名可自設)﹞W述dosa.bin為啟動軟碟Io.sys之『引導碼映像檔』; nta.bin為軟碟啟動setupldr.bin(與ntldr同)之『引導碼映像檔』。  5.請將上述之dosa.bin與nta.bin複製到軟碟,再到Windows 2000或  XP之啟動分割,將ntldr、boot.ini、NTdetect.com複製到軟碟  (請先打開資料夾選項,暫時取消『隱藏保護的作業系統檔案』、  隱藏檔案和資料夾→顯示所有檔案和資料夾)。再到軟碟,將ntldr 更名為setupldr.bin。  6.請合法複製DOS核心檔案Io.sys、msdos.sys、command.com等檔案 到軟碟根目錄。  7.到http://nu2.nu/jo/下載jo.sys,存到軟體根目錄。當MSDOS啟  動時會提示使用者按鍵,是否要重新指向CDROM引導扇區,繼續導 引光碟開機。  8.到http://newdos.yginfo.net/grubdos.htm下載“GRUB for DOS 0.1.4”(檔名為grub014.zip),先解壓縮到硬碟,僅保留boot 資料夾(含裡面全部檔案)及根目錄之grub.exe等檔案,其餘皆 刪除,再將留下的檔案複製到軟碟。  9.接著,到軟碟grub資料夾內,使用一般文書編輯軟體打開menu.lst 檔,參考該軟體使用說明或下列範例修改內容。 範例:(#為說明行,可捨去)  #等待30秒,若未按鍵則自動啟動第二個選項。  timeout 30 default 2 # Entry 1:第一個選項。啟動A碟根目錄dosa.bin,而dosa.bin會  # 載入A碟根目錄之io.sys,再由io.sys繼續載入其他程式。  title Boot from Floppy A: root (fd0) chainloader (fd0)/dosa.bin # Entry 2:第二個選項。啟動A碟根目錄nta.bin,而nta.bin會載 # 入setupldr.bin,根據boot.ini再次引導。因本例boot.ini係複 # 製自硬碟,故啟動程序也會與之相同,可當急救用。  title Loadin A: ntldr root (fd0) chainloader (fd0)/nta.bin # Entry 3:第三個選項。指向第一個硬碟之第一分割,載入引導碼 # (需正確才能往下導引),將其設為active。隱藏第一個硬碟之 # 第二、三分割(假如有此分割的話)。  title HD0-0 unhide (hd0,0) hide (hd0,1) hide (hd0,2) rootnoverify (hd0,0) chainloader +1 makeactive # Entry 4:第四個選項。指向第一個硬碟之第二分割,載入引導碼 # (需正確才能往下導引),將其設為active。隱藏第一個硬碟之 # 第一、三分割(假如有此分割的話)。  title HD0-1 unhide (hd0,1) hide (hd0,0) hide (hd0,2) rootnoverify (hd0,1) chainloader +1 makeactive 10.如選DOS開機,可事先於CONFIG.SYS內加入install=grub.exe,  或於autoexec.bat內加入  “grub.exe --config-file=(fd0)/boot/grub/menu.lst”,自  動開啟選單;也可進入DOS後再執行。Grub.exe後如未加參數,  則預設值為“(hd0,0)/boot/grub/menu.lst”。若找不到menu.lst 則進入命令列模式,由使用者自行下達命令。其中有一項功能為 載入『標準開機片映像檔』模擬軟碟開機,轉錄該軟體說明如下  (dos98se.img為位在第二個硬碟第一個分割之『可開機磁碟映 像檔』):  map (hd1,0)/dos98se.img (fd0) chainloader (hd1,0)/dos98se.img rootnoverify (fd0) boot 結語 由於目前新台幣三、四千元左右即可買到80G以上的硬碟,使用者  對如何妥善規劃分割,安裝多系統等課題,益感興趣。尤其在家裡,  因空間、經濟或管理因素,多人共用一台電腦的情形相當普遍。如 果熟悉分割管理與多系統開機程序,讓各操作系統有適當的獨立與  共享,將提高電腦使用效益,減少管理界面。而且有助於系統的模  組化安裝、備份或重建【註B】。(本文作者任職於本院科工所) (全文完) 〔附註〕 註 A: Description of the Windows XP Recovery Console 請詳 http://support.microsoft.com/default.aspx?scid=kb;EN-US;314058 Description of the Windows 2000 Recovery Console 請詳 http://support.microsoft.com/default.aspx?scid=kb;EN-US;229716 註 B:  以Windows作業系統而言,可備份與回存驅動程式,可清除安全性識 別碼(SID)。可將「我的文件夾」、email、「我的最愛」、fonts、  userprofiles等重新設定,轉向其他分割。各種小型工具軟體可參  考『光碟開機系統』之操作模式(請詳http://www.911cd.net/forums), 整理成準綠色軟體放於其他分割。這些都有利於個人資料備份與回 存,不致因丟失作業系統而盡毀。而作業系統與大型應用軟體若不 想重新安裝,則可由備份服務器回存(網路下載或儲存媒體拷貝), 再使用本文介紹的方式,重建MBR與引導扇區,啟動作業系統。  .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! .


zd0000686 發表在 痞客邦 留言(0) 人氣()

  • Jan 17 Tue 2012 01:56
  • 留守

留守山上一點狂風暴雨都沒有不過還是有客人來住宿!!!算厲害了~~今天留守至少不會覺得無聊 劉經理搬了一台電視在櫃檯他們在一旁玩牌  我努力的看著新聞 外縣市怎麼都那麼嚴重....山裡卻沒有一丁點兒聲音下午後大姐約我泡湯...這天氣很涼  泡湯好舒服阿而且都泡超燙的....在泡下那有夠冰冷的冷泉天ㄚ....爽阿!!大姐忍不住叫喊不過真的很舒服講真的....泡完整個人都飄飄逸的泡湯結束後 吃個飯就和未來的姊呼  和其他大哥大姊們聊天這時候.....天氣就風雲變色 聽到轟隆隆的聲音 有一股很怪的感覺再來就咻....這風可是很可怕的 跟市區的強風是不一樣的望著天空 突然覺得大自然的世界真的是不可忽視的 要說壯光之下也是很恐怖的.....是真的滿恐怖的 說實在的 我都一直感到很害怕山上的颱風很不一樣......希望他快離開台灣 明天要正常上班上課了恐怖的夜晚 早點休息好了.....希望大家都很平安 .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! .


zd0000686 發表在 痞客邦 留言(0) 人氣()

再見一百年蛤....一百年就這樣過了~~~這一年  還好沒有發生什麼事情  犯太歲 的這年頭  要結束了至少都很平安.......新的一年要到了!!!有什麼新的人事物嗎??我的牙套 到底要在明年的幾月拆下ㄚ???哀~~~~~怎麼上排的牙齒用這ㄇ久....我都要老了!! 我也想要再見我的5公斤!!!讓他走吧 我要原來的45就好!!!我希望夏天可以瘦瘦的 呵~~~哀.....  .msgcontent .wsharing ul li { text-indent: 0; } 分享 Facebook Plurk YAHOO! .


zd0000686 發表在 痞客邦 留言(0) 人氣()

巧克力香蕉蛋糕這週兔媽給了兩串香蕉,一串給豬媽,一串自己吃,早上拿來打香蕉牛奶喝,喝了兩天小豬就說有點膩了,去carol家找香蕉食譜,看到她前年做的巧克香蕉蛋糕,看起來黑嚕嚕的,多加了巧克力應該更好吃~~配方中的黑糖我只加140g,可可粉77g,烘王烤箱上火160 下火100,烤一個小時.這個配方無鹽奶油加很多,所以比之前做的香蕉蛋糕鬆軟,加上巧克力的香味,真的非常搭~~巧克香蕉蛋糕8cmX17cmX6cm烤盒1個材料:無鹽奶油110g,黑糖80g,低筋麵粉120g,無糖純可可粉60g,蘇打粉1/2茶匙,雞蛋2顆,優酪乳(或牛奶)30g,香焦泥200g,胡桃(或核桃)60g,巧克力塊70g,事前準備工作:1.無鹽奶油放置室溫回軟 (奶油不要回溫到太軟的狀態,只要手指壓按有痕跡的程度就好)2.所有材料秤量好3.烤盒事先刷上一層無鹽奶油,灑上一層低筋麵粉避免沾粘  (或是鋪上一層烤焙紙)4.香焦去皮取200g,用叉子壓成泥5.低筋麵粉+蘇打粉+無糖純可可粉混合均勻並且過篩6.胡桃(或核桃)放入烤箱中用160度c烤8分鐘至香脆,放涼切碎, 巧克力塊切碎7.烤箱預熱至160度c步驟:1.無鹽奶油+黑糖用打蛋器打至泛白呈現毛絨絨狀態2.雞蛋分數次慢慢加入,每一次都要確實攪拌均勻才加3.再加入優酪乳,香焦泥攪拌均勻4.再將過篩的粉類分2次加入攪拌均勻5.最後將胡桃碎,巧克力碎加入攪拌均勻6.麵糊倒入烤盒中約9分滿,用橡皮括刀整平 (若有剩麵糊,可以用紙模裝烤成小蛋糕,烘烤的時間請減為一半)7.放進已經預熱至160度c的烤箱中烘烤35-40分鐘,在烤到10分鐘 的時候拿出來,用一把刀在蛋糕中央劃一道線,再放回烤箱中繼續 烘烤至時間到(竹籤插入沒有沾粘即可)8.出爐後馬上倒出放到鐵網上放涼即可相關資料:carol的巧克香蕉蛋糕.


zd0000686 發表在 痞客邦 留言(0) 人氣()

蒜泥酪梨說到酪梨,我只吃過酪梨牛奶布丁和酪梨壽司,味道都很好.上週在carol那看到蒜泥酪梨,感覺自己在家做挺不錯的,剛好賣場在特價1斤28塊多,挺便宜的.先買一小顆回家試試味道因為小兔和小豬還沒自己弄過酪梨~~今天晚餐吃這個小豬說味道很好~~表示下次可以再買一些回來吃~~這次我只有加日式醬油 蒜泥和醬油膏蒜泥酪梨材料:酪梨1顆(約500g),蒜頭2-3瓣,調味料:醬油1.5大匙,醬油膏1大匙,細砂糖1/2茶匙,步驟:1.蒜頭切末2.將所有調味料及切好的蒜頭末混合成醬汁備用3.酪梨買回來放在通風的地方,靜置3-4天,表皮完全變成紫色 就是最好的品嚐時候4.從酪梨中央一圈切到種子的部份5.雙手交錯扭轉一下就可以將酪梨分開成2半6.將中央種子取出,剝去外皮 (中間種子可以栽種成小盆栽)7.剝出的酪梨肉依照自己喜好切成丁狀或片狀8.切好放冰箱冷藏9.吃之前將調味醬汁適量淋上即可酪梨種子可以拿去做種子盆栽唷!相關資料:carol的酪梨麵包  carol的蒜泥酪梨幸福果小檔案別名:酪梨、鱷梨、油梨。英名:Avocado學名:Persea americana Mill.屬樟樹科,起源於中美洲,品種繁多,共分為三品系:西印度系、墨西哥系和瓜地馬拉系。幸福果開花習性特殊,正常狀況下只種一株不會結果,果實具一枚大形種子,果肉富含油脂,採收後需後熟處理方適於食用,臺灣目前以嘉南地區為主要產地。早熟品種於六至八月,中熟品種於八至十月、晚熟品種於十二至二月採收。 幸福果選購與保鮮酪梨從樹上採下來後,需經後熟作用變軟才能食用;將酪梨握於掌心,以姆指壓果實,如感覺可繼續壓入,而不會彈起,則已可食用。有些品種的酪梨在變軟時果皮會變成紅到紫色,有些則不會。硬的酪梨於室溫下,通常4至7天即可後熟變軟,千萬不要一買回來,就放在冰箱內儲藏,否則會受寒害,而無法正常後熟。變軟的酪梨整粒放在塑膠袋內密封放冰箱,大約可儲藏3一4天。剖開後若一次無法吃完,可將未吃完部分之切面灑上檸檬汁以防褐變,並放於冰箱中儲藏。幸福果好處多多酪梨果實糖分含量低,植物性脂肪高,多為單不飽和脂肪酸,不含膽固醇;富含鉀、葉酸、維生素B6、C、E及纖維質,為金氏世界紀錄記載最營養的水果,對人體具有保健效用,對糖尿病與心血管疾病患者更有助益。酪梨之用途除可生食外,尚可作成各種餐點,加工抽取之油可作為高級烹飪油;又果實的油具有快速滲透皮膚之優點,可作為化妝保養品之原料,亦為自然的化妝品及防曬物。如何食用幸福果酪梨吃法形形色色,並有專門食譜出售。其用途大致可做開胃菜、飲料、沾醬、沙拉調味醬、沙拉、三明治、壽司、湯等。目前在台灣流行吃法為將果肉、牛奶、糖、或蜂蜜、布丁等加入果汁機後打成酪梨奶昔;或直接鮮食,也可沾蒜蓉醬油、芥末、美奶滋食用。酪梨糖份低,高能量,適合為糖尿病人之食物。 .


zd0000686 發表在 痞客邦 留言(0) 人氣()

永信輪胎TOYOTA ALTIS安裝EP400-195/60R15TOYOTA ALTIS安裝EP400-195/60R15( 各種輪胎商品量販詢問 . 輪胎安裝 . 報價專區 )...十一... 台北市杭州南路一段73號一樓 TEL:02-23515153 **店內地圖**營業時間 : 週一至週五 AM 08:30 - PM 19:00 晚上 PM 19:00 - PM 21:00 須先來電預約週六 AM 08:00 - PM 18:00 每週日及國定假日公休.


zd0000686 發表在 痞客邦 留言(0) 人氣()

永信輪胎TOYOTA CAMRY安裝GR03-205/65R15TOYOTA CAMRY安裝GR03-205/65R15( 各種輪胎商品量販詢問 . 輪胎安裝 . 報價專區 )...十一... 台北市杭州南路一段73號一樓 TEL:02-23515153 **店內地圖**營業時間 : 週一至週五 AM 08:30 - PM 19:00 晚上 PM 19:00 - PM 21:00 須先來電預約週六 AM 08:00 - PM 18:00 每週日及國定假日公休.


zd0000686 發表在 痞客邦 留言(0) 人氣()