亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? boot.txt

?? 實現多系統引導,方便安裝和卸載!適用環境win98/winxp/win2
?? TXT
字號:
 Subject:自己編程實現多引導

 Editor:admin  Time:2004-3-20 20:48  Read:4846  Score:8  Print
 Writer:風般的男
 Excerpt:黑客安全基地  
 
 Preface:
如果你是一個計算機用戶相信你一定安裝過操作系統......  
 
 Content:

    如果你是一個計算機用戶相信你一定安裝過操作系統,當你用久了一個操作系統,你可能會安裝一個新的操作系統,但你往往希望保留現在的操作系統。比如當你有了一個windows98,你可以在上面再安裝windows2K或是windowsXP,這是因為Windows的NTloader可以認識比自己更早的操作系統,所以能夠給你保留先前的操作系統。但是如果你現在已經擁有了一個windows2K或是windowsXP你要在硬盤上再裝個WINDOWS98甚至一些懷舊派人士想在上面安裝一個DOS6.22,此時又該怎么辦呢?你往往會用到第三方軟件,比如V communications,.inc的System Commander系列,PowerQuest Corporration的BootMagic等等都是很好的選擇。這些軟件的將硬盤分區設置為兩個或是兩個以上的主分區,(也就是我們所說的雙“C”盤,或是多“C”盤),把不同的操作系統安裝到不同的主分區,通過激活不同的分區來實現多重引導,其優點是安全穩定,一旦一個操作系統癱瘓,一點不影響其他操作系統,個人認為值得推薦。
本文不是一篇多操作系統實現的經驗介紹,因此有關BootMagic等第三方軟件的使用我就不再浪費篇幅來介紹,我要給大家分析的是此類軟件的實現原理。
要了解其實現原理,首先你必須對硬盤的總體結構有一定的了解,如果你對其結構不了解可參照表1。
表1:
名稱備注
1主引導扇區(Master boot sector)占用一個扇區
2第一個主分區的引導扇區(Boot sector)占用一個扇區
3第一個主分區的FAT區占用空間由磁盤大小和FAT類型來定
4第一個分區的根目錄區存放分區根目錄
5第一個分區數據區用來存放各種數據
6…
7擴展分區表 占用一個扇區
8第一個擴展分區的引導扇區占用一個扇區
9第一個擴展分區的FAT區占用空間由磁盤大小和FAT類型來定
10第一個擴展分區的根目錄區存放分區根目錄
11第一個擴展分區的數據區用來存放各種數據
12…
注意:該表以空間順序進行描述,一個硬盤允許最多四個主分區和多個擴展分區

我們還需要了解主引導扇區(Master boot sector)的結構,它是硬盤的第一個扇區, 由主引導程序(MasterBoot Record簡稱MBR),硬盤分區表(Disk Partition Table簡稱DPT )和結束標識三部分組成。其結構如表2。


表2:
在主引導扇區中的位置名稱備注
1偏移 00H~1BDH主引導程序占446個字節,但實際可能并未用滿
2偏移1BEH~1FDH硬盤主分區表占64個字節,每個分區項占16個字節,最多可有4個分區項:1BEH~1CDH 分區項11CEH~1DDH 分區項21DBH~1EDH 分區項31EFH~1FDH 分區項4
3偏移1FEH~1FFH結束標識占2個字節,用來判斷分區表的有效性

主引導程序我在此就不分析了,需要注意的是在主引導程序中有一些出錯信息,一些引導型病毒往往會覆蓋這些信息來將自己嵌入到主引導程序中去,并將主引導程序開始的幾個字節改為一條跳轉指令,通過觀察主引導程序的變化,往往可以讓我們看出自己的電腦是否有引導型病毒,一旦發現異常,我們可以用FDISK/MBR命令來覆蓋原有的MBR。結束標識的兩個字節總是55H AAH,該標識只是用于判斷這個扇區是否是有效的主引導扇區,如果主引導程序發現沒有這個結束標識,將會認為操作系統丟失,并顯示“Missing Operating System”。
我們最后要了解的是硬盤分區表,多重引導軟件一般都是通過修改分區表中的特定字節達到多重引導的目的的,在硬盤的主引導區中,從偏移1BEH~1FDH的64個字節存放的是硬盤分區表,其中最多包含4個分區項,每個分區項由16個字節構成,我們來看看每個分區項的詳細含義,假設我們的一個分區占用的16個字節被標為00H~0FH,其結構如表3:
表3:
偏移含義
00H引導標識字節,其值只能為00H或80H,為00H時表示該分區不可引導,為80H時表示該分區可用于引導 。
01H分區起始磁頭號
02H其高2位為分區起始柱面號的高位,底6位為分區起始扇區號
03H分區起始柱面號的低位
04H分區系統標志,當該值為00H時,表示此分區為不可識別的系統;為04H時該分區為FAT16分區;為05H或0FH該分區為 擴展分區;為0B時該分區為FAT32分區 ;為83H時表示該分區為Linux分區, 為07時該分區為NTFS分區
05H分區結束磁頭號
06H其高2位為分區結束柱面號的高位,底6位為分區結束扇區號
07H分區結束柱面號的低位
08H~0BH在線性尋址方式下的分區的扇區地址。
0CH~0FH以扇區為單位的該分區大小(總扇區數)
我們來看看BootMagic之類的軟件是如何實現多系統引導的了,在表3中我們看到在偏移00H處的一個字節當其值為80H時代表該分區是一個引導區,當其值為00H時代表該分區不是引導區,其實多引導的實現原理就是通過改變該處的值來選擇用來引導的分區。
假設你已經了解了以上原理,我們就完全可以做出自己的多重引導程序來了,我在此寫出一個完整的實現程序,我將為大家分析這個程序應該怎么來寫。假設你有一塊硬盤,你在上面安裝了一個windowsXP,可你現在想裝個windows98,于是你用PartitionMagic將你的第一個擴展分區也就是你的D區設置為主分區,然后激活,重啟動并用windows98安裝光盤引導系統,并安裝好windows98。就到這,你先不要急于安裝BootMagic,讓我們來試試動手做個自己的BootMagic怎么樣。
很顯然,要實現此功能,最少需要兩個模塊,模塊一:被寫入主引導扇區中,用來取代原MBR區,它必須能夠在系統引導前獲取執行權,實現主分區的引導選擇后,將執行權交給被選擇的操作系統,從而實現多系統引導;模塊二:實現三個功能,首先將原主引導扇區備份一個到其他扇區(在我的例子中把它備份到0頭0道 6扇),然后將模塊一寫入主引導扇區。另外模塊二還實現多引導程序的卸載
模塊二功能相對簡單,其源程序如下:
;硬盤多引導安裝程序(SYSGUIDE.EXE)模塊二
DATA SEGMENT
D1 DB 'choose'
D2 DB 'Please choose the number (1)Install the SYSGUIDE',0dh,0ah,' DB ‘ (2) Delete the SYSGUIDE',0dh,'$'
D3 DB 'SYSGUIDE.DAT',00H
D4 DB 'Can not find file (SYSGUIDE.DAT)',0dh,0ah,'$'

D5 DB 0dh,0ah
DB 0dh,0ah
DB 0dh,0ah
DB ' ----------# MUCH SYSTEM GUIDE #------------',0dh,0ah
DB ' E-mail:tyhhyf@hotmail.com',0dh,0ah
DB ' OICQ:86633320',0dh,0ah,'$'
DATA ENDS


CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV DX,OFFSET D5
MOV AH,09H
INT 21H
MOV AH,00H
INT 16H
MOV DX,OFFSET D2
MOV AH,09H
INT 21H
readkey:
MOV AH,00H
INT 16H
cmp al,'1'
je key1
cmp al,'2'
je key2
jmp readkey
key1:
MOV AX,0201H ;讀0 0 1扇區
MOV CX,0001H
MOV DX,0080H
MOV BX,0F000H
INT 13H
MOVSI,offset D1
MOVDI,0F020H
MOVCX,0003H
REPZ CMPSW
JZEXIT ;字符串相同則跳轉
mov ax,0301h ;將原MBS區備份一個到0 0 6 扇
mov cx,0006h
mov dx,0080h
int 13h
MOV AH,3DH
MOV DX,OFFSET D3
MOV AL,00H
INT 21H ;打開文件SYSGUIDE.DAT
JB OPERERROR
PUSH AX
MOV AH,3FH
MOV DX,0F000H
MOV CX,018DH
POP BX
INT 21H
MOV AX,0301H ;將SYSGUIDE.DAT寫到0 0 1扇,替代原來的MBR
MOV CX,0001H
MOV DX,0080H
MOV BX,0F000H
INT 13H
JMP EXIT
key2:
MOV AX,0201H;讀0 0 1扇區
MOV CX,0001H
MOV DX,0080H
MOV BX,0F000H
INT 13H
MOVSI,offset D1
MOVDI,0F020H
MOVCX,0003H
REPZ CMPSW
JNZEXIT ;字符串相同則跳轉
MOV AX,0201H ;讀0 0 6扇區
MOV CX,0006H
MOV DX,0080H
MOV BX,0F000H
INT 13H
MOV AX,0301H ;寫0 0 1扇區
MOV CX,0001H
MOV DX,0080H
MOV BX,0F000H
INT 13H
JMP EXIT
OPERERROR:
MOV AH,09H
MOV DX,OFFSET D4
INT 21H
EXIT:
MOV AH,4Ch
INT 21h
CODE ENDS
END START
模塊一被寫入到硬盤的第一個扇區中,在系統引導之前獲得執行權,從而實現多引導。因為這是個扇區程序,有別于一般的程序文件,其格式類似于COM文件,在此我是采用DEBUG程序,從EXE文件中提取的方法來實現的,源程序如下:
;多引導程序(SYSGUIDE.DAT),需要從以下源程序(模塊一)產生的程序文件中提取
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE

;這一段是將整個硬盤鎖從0000:7c00移至0000:0600,以免被后來讀入的代碼覆蓋
START:
db 256 dup (00h)
PUSHDS
PUSHES
MOVCX,0100h
MOVDI,0600h
MOVAX,0000h
MOVDS,AX
MOVES,AX
MOVSI,7C00h
REPNZ MOVSW
mov ax,0686h
JMPax ;長跳轉至移動后的代碼,也就是從screen處開始執行
words db 'Please choose the partition for guide.'
db 10 dup (20h)
db '(1)partition 1;(2)partition 2;(3)partition 3;(4)partition 4;',00h
screen:
MOVAX,0600h
MOVBH,0F0h
MOVCX,0000h
MOVDX,184Fh
INT10h ;初始化屏幕(前景為黑色,背景為灰白,字符閃爍)
MOVDL,1Ah
MOVSI,0619h ;從0619H處顯示字符(因為程序將被讀入了0000:0600處,
;實際顯示的也就是現在的words處開始的字符串)
DISPLAY:
MOV AH,02H
MOV DH,10H
MOV BH,00H
INT 10H
MOV AL,[SI]
CMP AL,00H
JE readMBS
MOV AH,09H
MOV CX,01H
MOV BH,00H
MOV BL,70H
INT 10H
INC DL
INC SI
JMP DISPLAY
readMBS:
MOVAX,0201h
MOVCX,0001h
MOVDX,0080h
MOVBX,1000h
INT13h ;將主引導區(即本SYSGUIDE.DAT)讀出到0000:1000H處
MOV ax,0201h
MOV cx,0006h ;讀0 0 6扇,(即原來的MBS)
MOV dx,0080h
MOV bX,07C00h
int 013h
readkey:
MOV AH,00H
INT 16H
CMP AL,'1' ;是1么?
JE number1
CMP AL,'2'
JE number2
CMP AL,'3'
JE number3
CMP AL,'4'
JE number4
jmp readkey
number1:
db 0a0h,0c2h,11h ;相當于mov al,[011c2h],因為用mov al,[011c2h]不能編譯
cmp al,00h
je error1
cmp al,05h
je error1
cmp al,0fh
je error1
mov ah,080h
db 88h,26h,0beh,11h ;相當于mov [011beh],ah
mov ah,00h
db 88h,26h,0ceh,11h ;mov [11ceh],ah
db 88h,26h,0deh,11h ;mov [11deh],ah
db 88h,26h,0eeh,11h ;mov [11eeh],ah
jmp ok
number2:
db 0a0h,0d2h,11h ;mov al,[11d2h]
cmp al,00h
je error1
cmp al,05h
je error1
cmp al,0fh
je error1
mov ah,80h
db 88h,26h,0ceh,11h ;mov [11ceh],ah
mov ah,00h
db 88h,26h,0beh,11h ;mov [11beh],ah
db 88h,26h,0deh,11h ;mov [11deh],ah
db 88h,26h,0eeh,11h ;mov [11eeh],ah
jmp ok

error1:
jmp readkey

number3:
db 0a0h,0e2h,11h ;mov al,[11e2h]
cmp al,00h
je error1
cmp al,05h
je error1
cmp al,0fh
je error1
mov ah,80h
db 88h,26h,0deh,11h ;mov [11deh],ah
mov ah,00h
db 88h,26h,0beh,11h ;mov [11beh],ah
db 88h,26h,0ceh,11h ;mov [11ceh],ah
db 88h,26h,0eeh,11h ;mov [11eeh],ah
jmp ok
number4:
db 0a0h,0f2h,11h ;mov al,[11f2h]
cmp al,00h
je error1
cmp al,05h
je error1
cmp al,0fh
je error1
mov ah,80h
db 88h,26h,0eeh,11h ;mov [11eeh],ah
mov ah,00h
db 88h,26h,0ceh,11h ;mov [11ceh],ah
db 88h,26h,0deh,11h ;mov [11deh],ah
db 88h,26h,0beh,11h ;mov [11beh],ah
jmp ok
ok:
mov ax,0301h
mov cx,0001h
mov dx,0080h
mov bx,1000h
int 13h ; 將改變了引導標示的分區表,寫回0 0 1扇
MOVCX,040h
MOVDI,7dbeh
MOVSI,11beh
REPNZ MOVSW
MOV ax,0301h
MOV cx,0006h ;將改變了引導標示的分區表,寫回0 0 6扇
MOV dx,0080h
MOV bX,07C00h
int 013h
MOV bx,7c00h ;交執行權給0000:7C00處
JMP bx ;長跳轉至原MBR代碼處執行

CODE ENDS
END START
代碼到此就講完了,程序本身不復雜,只要你了解了實現原理,在實現時才會得心應手,好了,趕快把我們的源代碼編譯鏈接一下,把模塊二得到的程序取名為SYSGUIDE.EXE,從模塊一所得的程序中提取出我們要的程序取名叫SYSGUIDE.DAT,提取方法如下:
1、在DOS方式下,輸入“DEBUG GUIDE.EXE”,其中GUIDE.EXE是我們用模塊一得到的程序文件(在此強烈警告千萬不要運行這個GUIDE.EXE程序),
2、在DEBUG提示符下輸入:R CX(回車) 1BD(回車) N SYSGUIDE.DAT(回車) W(回車)Q(回車)。 

  

在命令行中輸入DEBUG,然后
-R CX(回車) 
-1BD(回車) 
-N SYSGUIDE.DAT(回車)   
-W(回車)
-Q(回車)。 

  

  

   這樣你就會發現在你當前的目錄中就有了一個名為SYSGUIDE.DAT的文件,著就是我們將用來寫入硬盤第一扇區的扇區程序文件了,趕快把它和SYSGUIDE.EXE文件拷貝到一個文件夾下吧。
好了,我們要的程序已經得到了,就讓我們來用用看,在我們最后安裝的WIN98中執行吧,當看到以下提示時,鍵入數字鍵“1”。
'Please choose the number (1)Install the SYSGUIDE
(2) Delete the SYSGUIDE
然后重新啟動,怎么樣,是不是看到了引導選擇提示?不過界面是不太好看了^_^,但是沒什么,畢竟這是我們自己寫的多引導程序哦!好了,我們選擇“1”試試,是不是進了我們先前安裝的WINXP?然后重新啟動,再選擇“2”試試,是不是進了我們后來安裝的WIN98了!
對了我們好象還有一個BOOTMAGIC的功能沒有實現哦,就是程序自動識別操作系統的功能,我想這個功能就留到我們讀者自己去擴充吧!我在這大致的說明一下原理,又回到我們的表3,看到其中偏移04的那個字節么?其實BOOTMAGIC就是利用了這個原理來實現智能化的識別操作系統的,那具體要怎么做呢?我不說,自己去想^_^。
又到了說886的時候了,再寫下去編輯可不會用了哦!就這樣吧,有興趣來討論,聯系方法到我的源程序中找。程序可以到http://lsky.net/download/soft.asp?id=35下載。
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲欧美在线不卡| 日韩欧美在线不卡| 国产一区二区电影| 精品影视av免费| 免费成人av在线| 日韩 欧美一区二区三区| 日韩和欧美的一区| 青青草原综合久久大伊人精品优势| 亚洲最色的网站| 亚洲3atv精品一区二区三区| 日韩在线观看一区二区| 日韩国产一二三区| 精品夜夜嗨av一区二区三区| 精品无人码麻豆乱码1区2区 | 亚洲一区二区综合| 亚洲高清在线精品| 日本强好片久久久久久aaa| 免费成人av在线| 国产91精品一区二区| 成年人国产精品| 欧美性色欧美a在线播放| 欧美日韩一区二区三区高清 | 国产一二精品视频| 成人激情文学综合网| 欧美在线视频全部完| 欧美一区二区三区日韩视频| 日本一区二区视频在线| 亚洲免费三区一区二区| 日韩av一二三| 国产盗摄一区二区| 精品视频1区2区3区| 日韩欧美精品三级| 国产精品狼人久久影院观看方式| 亚洲综合清纯丝袜自拍| 毛片不卡一区二区| 成人污污视频在线观看| 欧美日韩成人高清| 日本一区二区电影| 免费美女久久99| 99精品视频在线观看免费| 91精品国产高清一区二区三区 | 久久狠狠亚洲综合| 国模少妇一区二区三区| 91福利社在线观看| 日韩三级电影网址| 亚洲免费成人av| 国产综合久久久久影院| 精品视频1区2区3区| 日本一区二区三区电影| 亚洲成av人综合在线观看| 国产做a爰片久久毛片| 精品视频全国免费看| 国产蜜臀97一区二区三区| 一区二区三区欧美亚洲| 国产69精品久久久久毛片| 欧美一区三区四区| 亚洲电影你懂得| 99精品国产91久久久久久| 欧美不卡一二三| 亚洲成av人片一区二区三区| 97久久精品人人做人人爽50路| 日韩一级成人av| 亚洲成av人片在线观看| 91老师国产黑色丝袜在线| 国产欧美一区二区精品久导航 | 欧美乱妇一区二区三区不卡视频| 中文字幕中文字幕在线一区| 久久国产精品72免费观看| 欧美日韩国产一区| 亚洲综合激情另类小说区| 99精品欧美一区二区三区小说| 久久奇米777| 精品一区二区三区影院在线午夜| 欧美高清视频不卡网| 亚洲成人在线网站| 欧美三级视频在线| 午夜电影一区二区三区| 欧美日韩免费一区二区三区| 亚洲一区二区三区四区中文字幕| 色天天综合久久久久综合片| 日韩美女视频一区| 在线视频一区二区三| 天天免费综合色| 欧美白人最猛性xxxxx69交| 精品亚洲aⅴ乱码一区二区三区| 在线播放91灌醉迷j高跟美女 | 久久午夜免费电影| 国产成人免费视频一区| 亚洲欧洲日韩av| 色欧美片视频在线观看在线视频| 夜夜亚洲天天久久| 制服丝袜成人动漫| 久久精品国产亚洲一区二区三区| 欧美不卡一区二区| 成人av在线网| 亚洲一区自拍偷拍| 日韩欧美久久一区| 成人深夜视频在线观看| 一区二区三区丝袜| 在线播放中文字幕一区| 国内精品久久久久影院色| 欧美国产精品一区二区三区| 色噜噜偷拍精品综合在线| 日韩中文欧美在线| 国产精品视频观看| 欧美日韩亚洲综合在线 | 波多野洁衣一区| 一级女性全黄久久生活片免费| 欧美一区二区三区日韩| 韩国欧美一区二区| 亚洲另类在线一区| 精品粉嫩超白一线天av| 一本大道久久a久久综合| 久久91精品国产91久久小草 | 亚洲v日本v欧美v久久精品| 久久综合九色综合欧美亚洲| 色偷偷88欧美精品久久久| 免费观看成人av| 亚洲一区二区影院| 国产精品午夜在线| 欧美一区二区三区在线观看| av在线不卡免费看| 久久精品国产亚洲一区二区三区| 亚洲三级小视频| 久久综合中文字幕| 欧美日韩精品综合在线| 粉嫩av一区二区三区在线播放| 亚洲va天堂va国产va久| 亚洲手机成人高清视频| 久久久久久久久免费| 在线播放中文一区| 欧美性色欧美a在线播放| 成人高清视频免费观看| 国产尤物一区二区在线| 视频在线观看一区二区三区| 亚洲视频在线一区二区| 国产精品系列在线| 国产视频一区二区在线| 日韩三级伦理片妻子的秘密按摩| 欧美色电影在线| 色哟哟国产精品免费观看| 国产成人h网站| 粉嫩高潮美女一区二区三区| 国产在线不卡一卡二卡三卡四卡| 日本欧美一区二区三区乱码| 亚洲国产精品久久人人爱蜜臀| 亚洲美女屁股眼交3| 中文字幕中文字幕一区| 中文字幕一区二区三区不卡| 国产亚洲制服色| 久久精品在线观看| 久久久久国产免费免费| 久久久久久久免费视频了| 欧美精品一区二区久久婷婷| 欧美草草影院在线视频| 精品第一国产综合精品aⅴ| 日韩美一区二区三区| 欧美一卡2卡3卡4卡| 欧美一卡在线观看| 精品国精品国产| 亚洲精品一线二线三线无人区| 精品国产乱码久久久久久闺蜜| 麻豆国产一区二区| 国产一区福利在线| 成人在线综合网站| 成人avav影音| 99在线热播精品免费| av高清不卡在线| 欧美少妇性性性| 日韩亚洲欧美成人一区| 久久婷婷一区二区三区| 国产欧美日韩在线看| 国产精品亲子伦对白| 亚洲啪啪综合av一区二区三区| 亚洲一区二区三区视频在线| 日韩福利电影在线| 国产精品正在播放| 日本精品一区二区三区高清| 欧美色图12p| 欧美mv日韩mv亚洲| 中文字幕日韩一区二区| 亚洲福中文字幕伊人影院| 精品亚洲成av人在线观看| av在线这里只有精品| 欧美一区二区三区精品| 国产精品麻豆视频| 日韩精品亚洲一区| 成人av网站在线观看| 欧美伦理电影网| 国产精品久久二区二区| 午夜精品一区二区三区免费视频| 久久丁香综合五月国产三级网站 | 一色桃子久久精品亚洲| 亚洲电影激情视频网站| 成人性视频免费网站| 欧美一区二区三区在线电影| 国产精品福利一区二区| 美国十次了思思久久精品导航| 91啪在线观看| 国产日韩欧美精品在线|