Jump to content











Photo
- - - - -

Win7VBlock


  • Please log in to reply
105 replies to this topic

#26 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 03 February 2011 - 12:34 AM

...Ugh. Are you quite certain that the drvload step was performed in the tests that failed with the message above? I was fighting with this for quite a while until finding that the precise order of events in the first post in this thread appeared to work consistently. If you're certain that the steps were completed in this order and still yielded this error message, I'll have to try to reproduce it...

Double-ugh. It looks like the best results are to actually to the drvload before the net start. Sorry! That should rid the error "...cannot find the specified file..."

Still investigating the file expansion freeze...

#27 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 04 February 2011 - 02:30 AM

Still investigating the file expansion freeze...

Found the cause: The Windows 7 installation will build and use a page-file on the disk that is being installed to. Unfortunately, it's going something like this:
  • I don't need FOO right now. Page it to the page file on the virtual disk.
  • Expand some files from Install.WIM and copy them to the virtual disk.
  • At some random point: Ok, in order to copy file BAR to the virtual disk, I need FOO back in memory.
  • Attempt to page-in from the page-file on the virtual disk.
  • Oh, but wait, we're already trying to do something with the virtual disk: Copying file BAR to it. It's busy...
  • Hang.
That is, the page-in operation is enqueued for after the copy of BAR has been completed, but BAR can't be copied until the page-in operation has completed. D'oh! A work-around might be to prevent Windows from paging to the virtual disk! (But a real solution is still needed.)

Excellent bug report once again, Vortex! :cheers:

#28 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 04 February 2011 - 06:56 PM

Hi :cheers: I'm trying to make w7.img filedisk appear in Win7 desktop (which has Winv7block driver up and running)

My grub4dos shows errors... Is there docs on x00 x80 etc you used in line that starts with 'write'?

title W7 Partition + w7.img filedisk...

find --set-root /w7.img

map /w7.img (hd0)

map --rd-size=2048

map --mem (rd)+4 (0x55)

map --hook

map --rehook

write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x807.iso\x00\xFF\x00

find --set-root --ignore-floppies --ignore-cd /bootmgr

chainloader /bootmgr



#29 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 04 February 2011 - 09:46 PM

Hi :mellow: I'm trying to make w7.img filedisk appear in Win7 desktop (which has Winv7block driver up and running)

I've tested that with success.

My grub4dos shows errors... Is there docs on x00 x80 etc you used in line that starts with 'write'?

Yes. The write (0x55) business has some details here and here. The colour-coding might help to understand that string. You will need to adjust it with your own particular filenames and drive numbers that you are using.

title W7 Partition + w7.img filedisk...

find --set-root /w7.img

map /w7.img (hd0)

map --rd-size=2048

map --mem (rd)+4 (0x55)

map --hook

map --rehook

write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x807.iso\x00\xFF\x00

find --set-root --ignore-floppies --ignore-cd /bootmgr

chainloader /bootmgr

Why bother --rehooking? Also, your .ISO's filename would do nothing anyway, since you are not mapping that .ISO with GRUB4DOS.

title W7 Partition + w7.img filedisk...

  find --set-root /w7.img

  map /w7.img (hd0)

  map --rd-size=2048

  map --mem (rd)+4 (0x55)

  map --hook

  write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00

  find --set-root --ignore-floppies --ignore-cd /bootmgr

  chainloader /bootmgr



#30 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 08:33 PM

...


title W7 Partition + w7.img filedisk...

  find --set-root /w7.img

  map /w7.img (hd0)

  map --rd-size=2048

  map --mem (rd)+4 (0x55)

  map --hook

  write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00

  find --set-root --ignore-floppies --ignore-cd /bootmgr

  chainloader /bootmgr

I'm still getting "file not found" for bootmgr ;) could it be my test version of grub4dos?

#31 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 05 February 2011 - 08:48 PM

try replacing


  find --set-root --ignore-floppies --ignore-cd /bootmgr

  chainloader /bootmgr


with


root (hd0,0)

chainloader /bootmgr




beside, I think is uncorrect if using the grldr test version AND


map --rd-size=2048

map --mem (rd)+4 (0x55)

write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00



#32 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 05 February 2011 - 09:01 PM

I'm still getting "file not found" for bootmgr ;) could it be my test version of grub4dos?

Whenever trouble-shooting GRUB4DOS MENU.LST entries, it is handy to try entering the G4D CLI and entering each line from the entry manually, one at a time, examining the output from each.

However, my guess would be that your find line is the cause (you could easily verify using the method above). So perhaps you could try entering the G4D CLI and attempting each of the lines from your MENU.LST entry, except that once you get to your find line, instead, try:

root (hd0,0)

chainloader /bootmgr

It would be interesting to find out which error you get from those lines.

#33 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 05 February 2011 - 09:06 PM

try replacing...

Heheheh. Jinx!

beside, I think is uncorrect if using the grldr test version AND


map --rd-size=2048

map --mem (rd)+4 (0x55)

write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00

I don't think so. karyonix' patched GRUB4DOS (which I think you mean) attempts to address the issue whereby the GRUB4DOS INT 0x13 hook is not protected in GRUB4DOS' E820 memory map.

The code you quote just above is for telling WinVBlock, "I know you have the [unsafe] sector-mapped disk for G4D drive 0x80 already, but switch to using a [safe] file-backed disk with filename w7.img as soon as possible."

#34 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 09:14 PM

try replacing


  find --set-root --ignore-floppies --ignore-cd /bootmgr

  chainloader /bootmgr


with


root (hd0,0)

chainloader /bootmgr




beside, I think is uncorrect if using the grldr test version AND


map --rd-size=2048

map --mem (rd)+4 (0x55)

write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00

chainloader /bootmgr says

Error 15: File not found



Whenever trouble-shooting GRUB4DOS MENU.LST entries, it is handy to try entering the G4D CLI and entering each line from the entry manually, one at a time, examining the output from each.

However, my guess would be that your find line is the cause (you could easily verify using the method above). So perhaps you could try entering the G4D CLI and attempting each of the lines from your MENU.LST entry, except that once you get to your find line, instead, try:


root (hd0,0)

chainloader /bootmgr

It would be interesting to find out which error you get from those lines.

I got suspicious so went to Win7 desktop, and found bootmgr was not there on C:\ then found another partition "reserved system" which had no driver letter assigned (which i did (E:\) and found bootmgr and boot folder).

#35 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 09:21 PM

Can I use the following instead?

find --set-root --ignore-floppies --ignore-cd /bootmgr



map (hd0,1)/w7.img (hd0)

  map --rd-size=2048

  map --mem (rd)+4 (0x55)

  map --hook

  write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x80\x00



root (hd0,0)

chainloader /bootmgr







EDIT: phew... ok, I'm just going back to normal build of grldr ;)

#36 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 05 February 2011 - 09:30 PM

...
I don't think so. karyonix' patched GRUB4DOS (which I think you mean) attempts to address the issue whereby the GRUB4DOS INT 0x13 hook is not protected in GRUB4DOS' E820 memory map.

The code you quote just above is for telling WinVBlock, "I know you have the [unsafe] sector-mapped disk for G4D drive 0x80 already, but switch to using a [safe] file-backed disk with filename w7.img as soon as possible."

and this, at least in my tests, is what the patched grldr couldn't do...
whilst I succeded after re-using a "flat" grldr (22 february 2011 release)
in my experience patched grldr works fine with xp and 2003.

#37 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 05 February 2011 - 09:35 PM

Can I use the following instead?

find --set-root --ignore-floppies --ignore-cd /bootmgr



map (hd0,1)/w7.img (hd0)




have the win7.img on a SECOND PRIMARY partition???
if not:

map (hd0,0)

is the right line

#38 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 09:36 PM

yep its on second primary partition. (see below)
Used another build, still doesn't work ;)




Here is how it goes, There are 2 partitions! Partition 0 has bootmgr and boot DIR. Partition 1 has Windows, Progra~1, w7.img etc etc.

Posted Image

#39 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 05 February 2011 - 09:52 PM

it's normal.
and it's ok because win7 default setup creates 2 primary partitions.
maybe this could be the problem for winvblock<-->g4d. why don't you try a single partitioned setup?

#40 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 09:58 PM

it's normal.
and it's ok because win7 default setup creates 2 primary partitions.
maybe this could be the problem for winvblock<-->g4d. why don't you try a single partitioned setup?

I choose Single, somehow Win7 setup created reserve partition on it's own. I even remember deleting both partitions "System Reserve" and the other creating new partition from scratch second time but system reserve came back after w7 installation completed :ranting2:.




Here is what i Can do, Make C:\ active, copy bootmgr + boot folder to C:\ and type some commands (bcdboot or something from windows) before restarting. But i've no idea on commands... ;)

#41 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 05 February 2011 - 10:09 PM

if you install win7 on a previously partitioned disk with a single primary partition ntfs formatted, it will install on that one, without creating the 100mb boot partition.

now: don't copy boot files but open a command prompt when in windows and


bcdboot /s c:\windows c:


and make C: partition active

at this point you can delete boot partition with third part tools and extend the win7 install partition (now is C: )
use bootice to create a fresh mbr for bootin from the "new" C: stretched partition.

#42 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 10:17 PM

if you install win7 on a previously partitioned disk with a single primary partition ntfs formatted, it will install on that one, without creating the 100mb boot partition.

now: don't copy boot files but open a command prompt when in windows and


bcdboot /s c:\windows c:


and make C: partition active

at this point you can delete boot partition with third part tools and extend the win7 install partition (now is C: )
use bootice to create a fresh mbr for bootin from the "new" C: stretched partition.


OK, C:\ is active and booted all right :ranting2: thanks however, if I delete First partition, second partition's number will change too right? making it un-bootable?

When I use third party tools, my current system partition (which is partition 1) will become (partition 0) and at that point, running bcdboot maybe from? setup cd + shift F10?

EDIT: hehe. its unbootable now... setup cd loading up...

EDIT2: "Failure when setting library system volume path" ;)

#43 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 05 February 2011 - 10:46 PM

yikes, I ran bcdedit /store c:\boot\bcd amd it said BCD is corrupt, run chkdsk...




chkdsk /f is repairing a whole bunch load of crap!!! (i think its screweing my drive completely as i read "orphan DIR etc) ;) guess all will be found.000 :ranting2: (its just a guess who knows)




EDIT: OK, I'm making new VDI, reinstalling 7 and attaching this old VDI (so my files are still available... i think)

#44 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 06 February 2011 - 12:19 AM

L:

I'm sorry, I got completely lost as to your goal. It looked like you had Windows 7 installed inside a raw HDD image file and were trying to boot it. Then it appeared as though you had Windows 7 installed to a real HDD which was hosting some image file that you were trying to simply attach (not boot from).

If that is the case, and you don't want to boot the image file but merely attach it as soon as WinVBlock starts running:

title Boot HDD, attach image file

  # Assuming HDD 0, partition 1 is OS partition

  root (hd0,1)

  # Attach image file as HDD 1

  map /w7.img (hd1)

  # Build the dummy WinVBlock parameter area

  map --rd-size=2048

  map --mem (rd)+4 (0x55)

  # Establish the INT 0x13 hook for the new (hd1) and (0x55)

  map --hook

  # Build the dummy WinVBlock parameters for w7.img -> (hd1)

  write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x81\x00

  # Assuming HDD 0, partition 0 is Windows boot-loader

  rootnoverify (hd0,0)

  # Load the HDD 0, partition 0 boot sector and boot it

  chainloader +1

Does this make sense?

It might be easier to simply have a computer startup script which does:

winvblk.exe -cmd attach -m h -u c:\win7.img



#45 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 06 February 2011 - 03:11 AM

L:

I'm sorry, I got completely lost as to your goal. It looked like you had Windows 7 installed inside a raw HDD image file and were trying to boot it. Then it appeared as though you had Windows 7 installed to a real HDD which was hosting some image file that you were trying to simply attach (not boot from).

If that is the case, and you don't want to boot the image file but merely attach it as soon as WinVBlock starts running:


title Boot HDD, attach image file

  # Assuming HDD 0, partition 1 is OS partition

  root (hd0,1)

  # Attach image file as HDD 1

  map /w7.img (hd1)

  # Build the dummy WinVBlock parameter area

  map --rd-size=2048

  map --mem (rd)+4 (0x55)

  # Establish the INT 0x13 hook for the new (hd1) and (0x55)

  map --hook

  # Build the dummy WinVBlock parameters for w7.img -> (hd1)

  write (0x55) #GRUB4DOS\x00v=1\x00w7.img\x00\x81\x00

  # Assuming HDD 0, partition 0 is Windows boot-loader

  rootnoverify (hd0,0)

  # Load the HDD 0, partition 0 boot sector and boot it

  chainloader +1

Does this make sense?

This worked but it freezes the system (i see desktop after 2/3 extra min) and after desktop loads, "new hard found" pop up further slows down (showing 2 WinVBlock Disks devices). This happens when I use above grub4dos menu. (which is important).

BTW, I disabled pagefile earlier AND I'm using VirtualBox 4.02.

Posted Image

EDIT: SafeMode shows freeze after CLASSPNP.SYS loaded. Once the text window disappears, and GUI starts, everything is fast but "installing driver software..." will continue to freeze for another 3-5 min and then show finished, restart required. ;)

#46 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 06 February 2011 - 05:19 PM

Found the cause: The Windows 7 installation will build and use a page-file on the disk that is being installed to.
...
Excellent bug report once again, Vortex! :ph34r:

This problem should be fixed now. Thanks again, Vortex. Who knows? Perhaps the code changes could help to alleviate the problems of some other reports, too.

A restriction now is that one cannot have a page-file on a file-backed disk. Since so many users are interested in the image-file-on-USB-storage scenario, they shouldn't be paging to USB flash storage anyway, so this might be better for them. Non-flash is a bit better for paging, but oh well... MS' native .VHD support doesn't support page-files, either[1].

[1] Frequently Asked Questions: Virtual Hard Disks in Windows 7 and Windows Server 2008 R2

#47 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 06 February 2011 - 05:34 PM

This worked but it freezes the system (i see desktop after 2/3 extra min) and after desktop loads, "new hard found" pop up further slows down (showing 2 WinVBlock Disks devices). This happens when I use above grub4dos menu. (which is important).

Slow, you say... How much RAM and how much page-file-backed virtual memory do you have available? Perhaps you are pushing the limits of the equipment available?

BTW, I disabled pagefile earlier AND I'm using VirtualBox 4.02.

Hmmm...

...
EDIT: SafeMode shows freeze after CLASSPNP.SYS loaded. Once the text window disappears, and GUI starts, everything is fast but "installing driver software..." will continue to freeze for another 3-5 min and then show finished, restart required. :ph34r:

As mentioned here, a "freeze" after seeing the boot-loader load the last .SYS file is not indicative of anything to do with that file. It just so happens that that file is the last one loaded into memory by the boot-loader, but it's not that that file is "doing anything."

#48 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 06 February 2011 - 06:38 PM

Slow, you say... How much RAM and how much page-file-backed virtual memory do you have available? Perhaps you are pushing the limits of the equipment available?

Hmmm...

As mentioned here, a "freeze" after seeing the boot-loader load the last .SYS file is not indicative of anything to do with that file. It just so happens that that file is the last one loaded into memory by the boot-loader, but it's not that that file is "doing anything."

:cheers: Have you tried your driver with VirtualBox 4.x? Since that all will remain common everywhere... it can catch this problem?
Virtual box suggested 512MB but i gave it 1024 since my host system has 8GB in total. I can always add 1 more GB to vbox (if its necessary) :ph34r: but i doubt if it can work.



edit: I tried your last day's driver (assuming it was latest) but still... problem remains in vbox...

#49 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 06 February 2011 - 08:43 PM

I succeded into booting with grub4dos (22 jan 2011) with map /7.iso and creating, installing and starting winvblock, attaching 7.iso and 7.img
after that win7 setup doesn't asg for cd\dvd drivers, so I suppose to go on successfully with the installation progress even if didn't continue...
But I have one problem: a floppy was needed for me because using a folder containing winvblock generates an error "file not found" when attaching the iso.
I did try mapping winvblock.img as fd0 but there's no a: unit (or other letter) into the prompt to explore and finding drivers from.
I'd like to do so, but need help for menu.lst.
thanks

#50 L A M A

L A M A

    Silver Member

  • Advanced user
  • 540 posts
  •  
    United Nations

Posted 06 February 2011 - 08:54 PM

I succeded into booting with grub4dos (22 jan 2011) with map /7.iso and creating, installing and starting winvblock, attaching 7.iso and 7.img
after that win7 setup doesn't asg for cd\dvd drivers, so I suppose to go on successfully with the installation progress even if didn't continue...
But I have one problem: a floppy was needed for me because using a folder containing winvblock generates an error "file not found" when attaching the iso.
I did try mapping winvblock.img as fd0 but there's no a: unit (or other letter) into the prompt to explore and finding drivers from.
I'd like to do so, but need help for menu.lst.
thanks

Did you try mapping 7.img on windows 7 itself (your existing installation)? does it work for you? :dubbio: I'm surprised, how did you manage to get rid of cd\dvd driver prompt in setup... can you post step by step what you did?

Since you reached to that point with some settings... i may reach ahead provided that winvblock is integrated into my custom ISO.



...
It might be easier to simply have a computer startup script which does:


 winvblk.exe -cmd attach -m h -u c:\w7.img



@Sha0: I managed ro attach w7.img with above command BUT the same doesn't happen with grub4dos commands... (freeze and all) so, if problem exist, it looks between g4d <=> winvblock during boot.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users