grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows,grub and grub2


From: Viswesh S
Subject: Re: Windows,grub and grub2
Date: Tue, 23 Sep 2008 01:23:43 -0700 (PDT)




----- Original Message ----
> From: Bean <address@hidden>
> To: The development of GRUB 2 <address@hidden>
> Sent: Monday, 22 September, 2008 9:10:26 AM
> Subject: Re: Windows,grub and grub2
> 
> On Tue, Sep 9, 2008 at 2:00 PM, Viswesh S wrote:
> > Below is the dump of screen output while chainloading the ntfsnew file.
> > ***************************************
> > DI=CFF0 SI=07EE BP=1FF0 SP=1FE8 BX=0000 DX=0000 CX=0000 AX=0000
> > CS=0000 SS=0000 DS=0000 ES=0000 FG=0246 IP=7C57
> >
> > DI=7FF0 SI=07EE BP=1FF0 SP=7BF4 BX=55AA DX=0000 CX=0000 AX=0100 CX=07C0
> > DS=07C0 ES=0000 FG=0007 IP=0082
> > ******************************************
> > Could you please let me know the way to disassemble the binary file without
> > any header.The way in which you decoded the boot record.
> >
> > Also one more thing to let you know is that,
> >
> > with the grub-1.96 ( without the chainloader patch of disk->dev->read() ) ,
> > with windows2003 in partition 1 and linux in partition 3, when we chainload,
> > if we look at the partition table passed to another bootloader ie location
> > 0x7be - we can see that it is junk, but the surprising point is that, in
> > this case as I have mentioned in my first mail, windows boots up from
> > grub2.So it is that the partition table is not required for the chainloader
> > thing and just the boot record is sufficient
> 
> Hi,
> 
> Oh, sorry for another long delay. I disassemble the file with ida,
> which is an amazing tool. I don't know if there is open source
> alternative, please let me know if you find one.
> 
> The output from ida is in masm format, I modify it a bit so that it
> can be compiled using nasm. Please note that nasm doesn't generate the
> same binary file as original one, but you can get an idea what it
> does.
> 
> From the output, the program fails at the second int 13 call, int
> 13/ah = 48h. Although I notice that DL=0, which is not supposed to
> happen. Perhaps you can add a grub_printf in grub_chainloader_boot to
> show the value of boot drive:
> 
> static grub_err_t
> grub_chainloader_boot (void)
> {
>   grub_printf ("boot_drive=%d\n", boot_drive);
>   grub_chainloader_real_boot (boot_drive, boot_part_addr);
> 
>   /* Never reach here.  */
>   return GRUB_ERR_NONE;
> }
> 
> -- 
> Bean
> 
> 

Hi,

The value of boot drive is 0x80.

This was the same value in disk->drive also.

Viswesh


      Be the first one to try the new Messenger 9 Beta! Go to 
http://in.messenger.yahoo.com/win/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]