Check all 4 entry of MBR and EMBR

git-svn-id: svn://kolibrios.org@578 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2007-07-13 07:26:44 +00:00
parent 94ec5d65c8
commit 8f49b3612a

View File

@ -7,10 +7,11 @@ $Revision$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;************************************************************* ;*************************************************************
;* 29.04.2006 Elimination of hangup after the * ;* 12.07.2007 Check all 4 entry of MBR and EMBR
;* expiration hd_wait_timeout - Mario79 * ;* 29.04.2006 Elimination of hangup after the
;* 28.01.2006 find all Fat16/32 partition in all input point * ;* expiration hd_wait_timeout - Mario79
;* to MBR - Mario79 * ;* 28.01.2006 find all Fat16/32 partition in all input point
;* to MBR - Mario79
;************************************************************* ;*************************************************************
uglobal uglobal
@ -151,8 +152,17 @@ extended_already_set:
cmp word [ebx+0x1fe],0xaa55 ; is it valid boot sector? cmp word [ebx+0x1fe],0xaa55 ; is it valid boot sector?
jnz end_partition_chain jnz end_partition_chain
cmp dword [ebx+0x1be+0xc],0 ; skip over empty partition cmp dword [ebx+0x1be+0xc],0 ; skip over empty partition
jz next_partition ; jz next_partition
jnz .next_primary_partition
cmp dword [ebx+0x1be+0xc+16],0
jnz next_primary_partition
cmp dword [ebx+0x1be+0xc+16+16],0
jnz next_primary_partition_1
cmp dword [ebx+0x1be+0xc+16+16+16],0
jnz next_primary_partition_2
jmp next_partition
.next_primary_partition:
push eax push eax
mov al,[ebx+0x1be+4] ; get primary partition type mov al,[ebx+0x1be+4] ; get primary partition type
call scan_partition_types call scan_partition_types