Jump to content











Photo
- - - - -

patchman for nuno


  • Please log in to reply
30 replies to this topic

#1 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 06 January 2007 - 01:13 AM

Please move to where it fits ...
quoting pm from 911 - Nuno - sanbarrow

See the series of 5 screenshots on my site to understand what this is about
http://sanbarrow.com/




Hi Nuno

I saw that you replied to my moapatchman-post - it's a pity that this post is lost now.
I'd like to hear your comment on that stuff ...
see some screenshots here
http://sanbarrow.com

Regards Ulli


I really liked your works, would you mind posting it also on boot-land.net?

Here's the link:
http://www.boot-land...ograms-f18.html

I'm sure more people will take interest in it once they see how it can be used - it's really a nice idea to make things so acessible this way.


I was concerned about support for qemu althought I figure that few people oughta have tried it - but this would be an awesome addon since qemu is very small sized (1Mb) and it's free to be distributed.

Some time ago I've exchanged talks with Fabrice Bellard the author of qemu when I was working on batcher and asked his permission to distribute qemu - he was very interested in helping with testing at the time. If needed I can ask his assistance to help on this task, what do you think?

Keep it up! :P


Hi Nuno

I forgot one thing - I will have to do an automatic patch translation when the offline -windows does not use controlset001 but a different one.
When I implemented that I will show it to you.

I am afraid I did first not understand your talk about quemu - maybe you missinterpretated the bunch of VMware related entries in the screenshot I thought ...
Then I realized that you must have related to the 5 screenshots on my site.
Damn - Nuno :P :P

- you got it - why not do that stuff with quemu as well ???


Doing things like described in that 5 screens is quite new grounds - I often feel bored cause nobody gets it and pushes me a little bit.

If you want to help in making this easier - maybe even with quemu - hey you are very welcome.

At the moment I want to get the patchman going soon.


Here is what it works like:


The patchman is so to say a frontend for xcopy and regedit.
When you start it - it reads a ini-configured directory for subdirs 0 -99.

Depending on the stuff you put in the subdirs patchman runs thru 2 upto about 12 stages and runs predefined actions.
If your subdir 37 exists - patchman reads a ini you put in that dir to desplay a description.
If you add a files dir to subdir 37 all files in that dir will be xcopied to targetroot.
If you add a expand.cmd into that dir patchman will launch this expand.cmd that can be used to extract files from cabs in targetroot.

If you add a system dir to subdir 37 - patchman will load the system-hive in a copy try to run delreg1-3.cmd and merge addsystem1-3.reg

If you add a software dir to subdir 37 - patchman will load te software hive as a copy, try to run ....

If you add a sam dir - patchman will ...
If you add a security dir - patchman will ...
...

If you add a cmd2run dir - patchman will excute some cmds while all needed hives are still loaded

When patchman has run thru all options it will either copy all edited hives from a scratchdir to targetroot or will abort and clean up

This procedure is in no way VMware-related - so I can't follow your quemu-sorrows.


I think I will start patchman with a small limited patchset like

patch 14: this loads hives and disables automatic reboot after a BSOD
patch 15: this loads hives and sets back the pagefile to systemcontrolled on C:

just examples - maybe you already see the pattern

Nuno - suggestions are welcome

Ulli

#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 06 January 2007 - 11:21 AM

Well, well the world is really small! :P

I just came here to PM nuno about sanbarrow's post on the 911CD forum to invite him to Bootland, and here he already is.

Welcome Ulli. :P

Nice little thingie you have going. :P

jaclaz

#3 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 06 January 2007 - 01:22 PM

Welcome sanbarrow!

After wb053 is completed I will proceed with testings to see if it possible to boot the installed OS using patchman and qEmu.

Good luck with the patchs and thank you for posting! :P

#4 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 06 January 2007 - 04:23 PM

Hi Nuno and Jaclaz

I'm not so involved into quemu - can you use REDOlogs similar to VMware ?

That's the thing that makes this so interesting : you can start the local system as a VM but you do not actually change anything on the local disk.
From what I know about quemu this is not possible - though I would like to hear that I am wrong with this assumption.

Anyway - thanks for that friendly welcome :P

Ulli

#5 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 06 January 2007 - 06:50 PM

I'm also not sure about qemu using something like a "sandbox", I've found this reference here about bochs speaking about a bxcomit.exe wich is described as "tool for committing redologs to flat disk images":
http://fresh.t-syste...k/user/user.dbk

Also stumbled on a blog about P2V (physical to virtual) convert methods here:
http://www.rtfm-ed.co.uk/?cat=4

vmware seems to be the prefered method but I think we can still use qemu through direct disk acess to trace diagnostics and understand why it won't boot - or even try to fix it and see if it will boot.. :P


Reading more on the qemu forums I've found this:
http://qemu-forum.ip...opic.php?t=2417

Wich led to this patch that allows qemu to use "raw" drives:
http://lists.gnu.org...9/msg00243.html

Later I've noticed that this was already added on qemu and more info can be found on section 3.2 of this manual:
http://www.h7.dion.n...ml#realharddisk


Strange enough that I've been googling also for scsi drivers to use on qemu but I get no findings unless when comparing against vmware wich seems really dependent of them.

Perhaps it's not even needed to inject these scsi drivers using qemu? :P :P


Still trying to find more resources, stumbled on a page wich showed how to freely create .vmx files to allow using vmware player without needing to buy the retail/trial vmware version:
http://www.hackaday....tion/1#comments

Reading the comments found a wizard for this task:
http://rhysgoodwin.o...t.nz/vmxwizard/

Funny enough to see that qemu also provides a completely free way to make snapshots from physical drives and save them as either compressed images or even vmware compatible images:
http://fabrice.bella...-doc.html#SEC15


My experience with p2v is quite limited but I think these are probably good conditions to sucessfully achieve this P2V with qemu, can you please try it?

Good luck and thanks!! :P

#6 TheHive

TheHive

    Platinum Member

  • .script developer
  • 4165 posts

Posted 07 January 2007 - 05:38 AM

sanbarrow, you have a good project going there and I tried to follow it since you posted it at the 911CD forum. I tried to follow the steps at one time but it over whelmed me and I gave up.

#7 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 07 January 2007 - 03:48 PM

Though I have no direct experience with REDO images, the info is right on the Qemu doc page:
http://fabrice.bella...-doc.html#TOC18

The method is slightly different that VMware, but I don't think that this would cause problems:
1) You need a "base" disk image
2) You create with qemu-img another image "linked" to first one
3) You mount the latter in QEMU, where changes ONLY will be written
4) If needed you use the qemu-img commit command to modify the base image with modified contents of the second one

jaclaz

#8 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 07 January 2007 - 05:17 PM

@ all - thanks for the interesting quemu-links

From a quick scan thru them I get the impression that one aspect is missing in the quemu-approach: it looks like you first have to create an image of the physical disk. Once you got that - you can use a similar technic to what I do with VMware.

With VMware I do not need to create a image of the physical disk - I can directly use the raw-disk itself. That makes it possible to attach a REDOlog which I can store in RAMdrive. Imagine this - I go to a box with VIA_IDE ...
I create the raw-disk descriptorfile (which is a small textfile of 1kb), I then attach a REDOlog to this disk and store it in RAMdrive and mount it.
I patch it with IntelIDE-drivers and registry-settings. now the REDOlog maybe about 2MB large - cause only the changed files are stored in the REDOlog.
Next I use this raw-disk - REDOlog chain in a virtual machine and launch it.

Have a look at this link
http://liveview.sourceforge.net/

This is the project in the net that is somehow closest to what I do - though this guys still use an image of the physical disk.
I explained what I do - but they may have found it too freaky :P


Nuno - you posted a link to a vmx-file creating wizzard - this vmxwizard is crap - completely outdated and partly wrong ... do not even consider useing it!
If you are looking for a small vmx-building tool have a look at my
http://sanbarrow.com...vmx-builder.cmd
The other good tool is this vmx-builder that I made with Rob Petruska:
http://petruska.star.....l#VMX Builder

Anyway - nowadays even the guys from VMware Inc. - reference my site for details on vmx-files - see
http://sanbarrow.com/vmx.html

@ Jaclaz - you are sometimes called Mr. MBR - if we could work together on a tool that creates a VMware-like raw-disk description we could use the free VMware-player to do this. I already tried to do this but I lack the know-how to extract the necessary details from the MBR ...


about the patchman:
when it launches it does a quick-scan thru the registry of the offline-Windows and detects OS, servicepack level and so on.
Can anybody give me a hint who I can display which driver is used for the mass-storage needed on boot ?
This would help a lot - I simply haven't found how to query the registry for this info ...
Any help on this would be nice :P

Ulli

#9 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 07 January 2007 - 06:57 PM

I'm a bit rusty with VMware Disk formats, if I am not mistaken they have a header of some kind, and then they are just RAW.

I'll have a look at it.

Do you happen to have any links/specs of the VMware formats?

jaclaz

#10 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 07 January 2007 - 08:03 PM

# Disk DescriptorFile

version=1

CID=75e3f58b

parentCID=ffffffff

createType="fullDevice"



# Extent description

RW 72303840 FLAT "\\.\PhysicalDrive0" 0



# The Disk Data Base 

#DDB



ddb.virtualHWVersion = "4"

ddb.geometry.cylinders = "16383"

ddb.geometry.heads = "16"

ddb.geometry.sectors = "63"

ddb.geometry.biosCylinders = "1024"

ddb.geometry.biosHeads = "255"

ddb.geometry.biosSectors = "63"

ddb.adapterType = "ide"

Jaclaz - that is the raw-disk description for a 34,74 GB raptor-ide-disk.
Only thing I need is a way how to read the value for the extent description - in this case it is 72303840 - from the MBR.

VMware has published the specs for their disks - I'll look up the link or can send you the pdf directly if you do not want to register on the VMware-site.
I can also send you a couple of MBRs together with the descriptorfiles if that helps.
I plan to use the dsfok-tools to read that value - just don't know which bytes I have to read

Ulli

#11 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 08 January 2007 - 11:20 PM

Can anybody help me with an autoit-problem ?

I have done this before but today it looks like I am not the brightest :P

Ok - I have a registry-file - lets say patch.reg
I have scanned registry which controlset to use - so now I want to replace all occurances in patch.reg of the string
"ControlSet001"
with the string
"Controlset00" & $selectDefault

$selectDefault is already declared.

How do I do it ?
Sorry for asking such simple stuff ...
thanks

Ulli

#12 TheHive

TheHive

    Platinum Member

  • .script developer
  • 4165 posts

Posted 09 January 2007 - 03:47 AM

Anyway - nowadays even the guys from VMware Inc. - reference my site for details on vmx-files - see
http://sanbarrow.com/vmx.html

lol! Thats a compliment from them.

#13 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 09 January 2007 - 03:23 PM

lol! Thats a compliment from them.


Nope - that's simply the result of a stupid attitude towards their users:

VMware wants that users do not fiddle with vmx-files as this can produce lots of hard to find problems.
That is ok - I agree with that.
It would be ok - if almost all settings that a user will ever need would be available via the GUI.
Well that was the case with early Workstation 2 maybe ...

Nowadays the GUI covers only about 50% of the options that are necessary in daily use.
So VMware forces the user to fiddle with the vmx-file - inspite of the fact that they do all to disencourage this.
Their logic goes on like this: users should not fiddle with the vmx-file - so we better do not document these parameters on our own website - as our stupid customers would make so much errors with hand-editing this file that the workload on our support would increase a lot.

The result is that is that this parameters are documented on a hobbyists website - possibly including lots of errors ... :P

Just take one example - nowadays Workstation can use a virtual Intel E1000 Nic. This is much better for some guests than the default AMD or VMXnet device.
As the user can not set this via the GUI in a simple way - he either can not use this advanced option at all - or he has to google strange sites and fiddle with the vmx-file again - completely stupid attitude.

I offer cooperation to VMware on this vmx-documentation since almost 3 years: I asked them - leak some information on the useful parameters and I will remove all the really dangerous stuff.
Result - I once got a list of very-dangerous parameters that can seriously mess up system performance - that's all.

There is a small sign of hope though - one of the Interface-designers asked me how they can improve their GUI - and we started to discuss that kind of stuff here
http://sanbarrow.com...wforum.php?f=21

Well enough of that rant now :P - I repeat that kind of rant every 2 or 3 months in the VMware-forum and it hasn't changed a bit ...
(use the search for "vmx-parameters" - user "continuum" if you are interested ...(

Ulli

#14 TheHive

TheHive

    Platinum Member

  • .script developer
  • 4165 posts

Posted 09 January 2007 - 04:10 PM

Thanks for the clarification. It makes more sense now.

#15 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 16 January 2007 - 12:32 PM

Jaclaz - that is the raw-disk description for a 34,74 GB raptor-ide-disk.
Only thing I need is a way how to read the value for the extent description - in this case it is 72303840 - from the MBR.

VMware has published the specs for their disks - I'll look up the link or can send you the pdf directly if you do not want to register on the VMware-site.
I can also send you a couple of MBRs together with the descriptorfiles if that helps.
I plan to use the dsfok-tools to read that value - just don't know which bytes I have to read


I had a look at it.

If I am not wrong, that number is the total amount of sectors on the disk, this value is not written anywhere in the MBR, you need a function to interrogate the actual drive.

Luckily enough, MBRFIX by kaare smith does just that (between other things).
http://www.sysint.no...ting/MbrFix.htm
http://www.sysint.no...ting/MbrFix.zip
http://home.graffiti....net/index.html
http://home.graffiti...X/mbrfix0.2.zip


Only problem is that it reports the size in bytes and the number is bigger than range allowed into "normal" batch scripts.
Cannot say if Auto-it has better capabilities.

This small batch displays the values for the first four drives:

@echo offSETLOCAL ENABLEDELAYEDEXPANSIONif not exist mbrfix.exe goto :ErrorSet MAX=4Set counter=0:LOOPSet nextcom=mbrfix /drive %counter% driveinfoFOR /F "tokens=1,2,3,4 delims= " %%A in ('%nextcom%') DO (IF %%A==Drive ECHO %%A %%BIF %%A%%B==Disksize (ECHO %%A %%B %%DECHO Size in sectors will be %%D / 512)IF %%A%%B==Functionfailed. ECHO NO drive present)ECHO.Set /A counter=%counter%+1IF NOT %counter%==%MAX% GOTO :LOOP

Try using it on your "test" drive to check if the value is correct, then see if you can manage numbers that big in Auto.it, otherwise post again and I'll see if I can find some "trick" to make that division in batch...

jaclaz

#16 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 16 January 2007 - 03:30 PM

Ok,
I managed to jolt down a (rather inelegant) batch solution:
[codebox] @echo off SETLOCAL ENABLEDELAYEDEXPANSION SET number=%1 IF %1.==. GOTO :EOF Set counter=1 :loop SET chars=!number:~0,%counter%! SET /A tempSECTORS=!chars! / 512 SET /A tempREMAINS="!chars! %% 512" IF !tempsectors! gtr 0 ( SET /A Firstpart=!tempSECTORS! SET /A charshift=!counter! SET /A remains=!tempREMAINS! ) Set /A counter=!counter!+1 IF NOT !chars!==!number! goto :loop SET LENGTH=!Counter! Set /A numremains=!LENGTH!-!charshift! Set /A counter=!numremains! IF !counter! ==1 goto :loop3 :loop2 Set /A firstpart=!firstpart! * 10 Set /A counter=!counter!-1 IF !counter! gtr 1 goto :loop2 Set /A counter=!numremains! :loop3 Set /A remains=!remains! * 10 Set /A counter=!counter!-1 IF !counter! gtr 1 goto :loop3 SET chars=!number:~%charshift%,%LENGTH%! SET /A secondpart=!chars!+!remains! SET /A secondpart=!secondpart!/512 SET /A sectors =!firstpart!+!secondpart! ECHO. ECHO !NUMBER! bytes / 512 = !SECTORS! Sectors [/codebox] that appears to manage the division correctly.... :P It can undoubtedly be bettered and simplified, should you need it.

jaclaz

#17 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 16 January 2007 - 10:17 PM

Cool - Mr.MBR strikes again :P

I'll try that against some of my disks tomorrow.

Interesting that you linked LifeView-site today ...

Maybe we can use the size to create a growing virtual-disk with the quemu-tool.
Once we got that we can use vdk.exe to add a snapshot to it.
Then maybe we can replace the quemu-disk with the raw-disk descriptor and do something like Lifeview
without needing all that Jave-environment.

Vdk doesn't create REDOs for raw-disks - that's why the quemu-step inbetween may be necessary ?

Hey - with some help from Nuno we may be able to run VMplayer on one of his miniPEs.
Then we can do stunts the lifeview folks haven't even thought of :P

#18 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 17 January 2007 - 11:03 AM

Sounds fun to try! :P

I actually think that these "miniPE"'s actually do belong to the community since we all work on them.. :P

#19 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 17 January 2007 - 02:15 PM

Sounds fun to try! :P

I actually think that these "miniPE"'s actually do belong to the community since we all work on them.. :P


At the moment you have to exclude me from the "we" - I even wasn't able to built one without errors so far ...
I have no idea how the .script idea works yet.

But I can prepare a VMplayer so that someone else translates it into the .script format - in case anyone is willing to do that.
I guess that I may even get the OK from VMware to redistribute it if we build a clean package - which is easy to built.

All I need is a small PE with solid network and explorer-shell.
It may take a few weeks till I find the time to do that - want to finish the patchman first.

Nuno - I made a first minipe last week and noticed that you use B: for the RAMdrive and format it with FAT322.
Can this be discussed ? - It makes useing things that are easy on a NTFS-formatted RAMdrive as R: impossible.
I would really like to adopt to your base-built for my MOA-stuff but this is definetely a No Go.

I hope that I simply missed something but haven't looked into Winbuilder closely enough to know.

Can you comment - please.
:P

Ulli

#20 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 17 January 2007 - 02:42 PM

You should try out the latest winbuilder beta and check the projects inside, liveXP is still with some bugs, but I'm sure nativeEx should work flawless.

I haven't done the ramdisk script - it was Ove's work:
http://www.ove.boot-...et/ramdisk.html

Perhaps the drive can be quick formated on startup:
http://www.911cd.net...?showtopic=6580

Using:
FORMAT B: /FS:NTFS /Q /C /V:RAMDISK /y


There is also the work of d4vros:
; PE Builder v3 plug-in INF

; Created by d4vr0s

; http://www.ramdisk.tk/

; http://maxrealqnx.tripod.com

; Many thanks to the author for all of his help

; 2005-11-13



[Version]

Signature= "$Windows NT$"



[PEBuilder]

Name="RamDrive 5.3.1.5"

Enable=1



[Strings]

RamDiskDriveLetter="B:"



[SourceDisksFiles]

files\ramdriv.sys=4,,1

files\ramdriv.dll=2,,4



[SetupReg.AddReg]

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}","Class","RAMDriv"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}",,"RAM Drive"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}","Installer32","RAMDriv.dll,ClassInstaller"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}","Icon","105"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}","EnumPropPages32","RAMDriv.dll,PropPageProvider"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}000","InfSection","DiskInstall"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}000","InfSectionExt",".NT"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}000","ProviderName","QSoft"

0x1,"ControlSet001\Control\Class\{FFB1C341-4539-11D3-B88D-00C04FAD5172}000","DriverDesc","RAMDrive [ QSoft ]"

;--------------------------------------------------------------------------------------

0x4, "ControlSet001\Services\Ramdriv","Type", 0x00000001

0x4, "ControlSet001\Services\Ramdriv","Start", 0x00000002

0x4, "ControlSet001\Services\Ramdriv","ErrorControl", 0x00000001

0x1, "ControlSet001\Services\Ramdriv","DisplayName","Ramdisk [ QSoft ]"

0x1, "ControlSet001\Services\Ramdriv","ImagePath","system32\drivers\ramdriv.sys"

0x1, "ControlSet001\Services\Ramdriv\Enum","0","Root\UNKNOWN\1000"

0x4, "ControlSet001\Services\Ramdriv\Enum","Count", 0x00000001

0x4, "ControlSet001\Services\Ramdriv\Enum","NextInstance", 0x00000001

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","ClassGUID","{FFB1C341-4539-11D3-B88D-00C04FAD5172}"

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","Class","RAMDriv"

0x4, "ControlSet001\Enum\Root\UNKNOWN\1000","ConfigFlags", 0x00000004

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","Mfg","QSoft"

0x7, "ControlSet001\Enum\Root\UNKNOWN\1000","HardwareID","ramdriv"

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","Service","RAMDriv"

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","DeviceDesc","Ramdisk [ QSoft ]"

0x4, "ControlSet001\Enum\Root\UNKNOWN\1000","Capabilities", 0x00000000

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000","Driver","{FFB1C341-4539-11D3-B88D-00C04FAD5172}001"

0x1, "ControlSet001\Enum\Root\UNKNOWN\1000\Control","ActiveService","RAMDriv"

;--------------------------------------------------------------------------------------

0x2, "ControlSet001\Control\Session Manager\Environment", "temp", "%RamDiskDriveLetter%"

0x2, "ControlSet001\Control\Session Manager\Environment", "tmp", "%RamDiskDriveLetter%\"

0x2, "ControlSet001\Control\Session Manager\Environment", "ramdrv", "%RamDiskDriveLetter%"

; Letter

0x1,"ControlSet001\Services\Ramdriv\Parameters","DriveLetter","%RamDiskDriveLetter%"

0x1,"ControlSet001\Services\Ramdriv\Parameters","VolumeName","RAMDisk"

0x4,"ControlSet001\Services\Ramdriv\Parameters","VolumeID",0x12345678

0x4,"ControlSet001\Services\Ramdriv\Parameters","BreakOnEntry",0x0

0x4,"ControlSet001\Services\Ramdriv\Parameters","DebugLevel",0x5

0x4,"ControlSet001\Services\Ramdriv\Parameters","DebugComp",0xFFFFFFFF

0x4,"ControlSet001\Services\Ramdriv\Parameters","AutoResize",0x1

0x4,"ControlSet001\Services\Ramdriv\Parameters","DiskCompression",0x1

0x1,"ControlSet001\Services\Ramdriv\Parameters","Format","NTFS"

0x4,"ControlSet001\Services\Ramdriv\Parameters","DiskIndexingService",0x0

0x4,"ControlSet001\Services\Ramdriv\Parameters","AllowedPAGEDPoolBanks",0xFFFFFFFF

;--------------------------------------------------------------------------------------

; Configurable settings

; Kept for reference - 32mb disk size

0x3,"ControlSet001\Services\Ramdriv\Parameters","DiskSize",00,00,00,02,00,00,00,00

0x4,"ControlSet001\Services\Ramdriv\Parameters","AllowedNPAGEPoolBanks",0x1

0x4,"ControlSet001\Services\Ramdriv\Parameters","AllowedMDLPGPoolBanks",0xFFFFFFFE

; You may turn this to "zero" , but then the ramdisk may grab all memory of that type away from other drivers.

; 0x1 recommened

0x4,"ControlSet001\Services\Ramdriv\Parameters","ExcludedNPAGEPoolBanks",0x1

0x3,"ControlSet001\Services\Ramdriv\Parameters","MDLPGExcludedMap",\

00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,13

;--------------------------------------------------------------------------------------

0x4,"ControlSet001\Services\Ramdriv\Parameters","AllowedNCACHPoolBanks",0xFFFFFFFF

0x4,"ControlSet001\Services\Ramdriv\Parameters","AllowedCONCAPoolBanks",0xFFFFFFFF

0x4,"ControlSet001\Services\Ramdriv\Parameters","ExcludedPAGEDPoolBanks",0xFFFFFFFF

0x4,"ControlSet001\Services\Ramdriv\Parameters","ExcludedCONCAPoolBanks",0xFFFFFFFF

;0x1,"ControlSet001\Services\Ramdriv\Parameters","ImageFile","\??\X:\I386\SYSTEM32\RAMDISKIMAGE.IMG"

;0x4,"ControlSet001\Services\Ramdriv\Parameters","LoadImage",0x1

;0x4,"ControlSet001\Services\Ramdriv\Parameters","SaveImage",0x0

;0x1,"ControlSet001\Services\Ramdriv\ImageFileProcessing","ProgramPath","RamDiskImage.exe"

; 0xFFFFFFFF = Disabled

; 0xFFFFFFFE = use all possible available

Wich can be used with:
http://members.fortu.../ramdiskpro.htm


If you read closely the plugin code you'll see that it is possible to define the ramdisk to use NTFS instead of Fat32 - script work muck alike plugins, the difference is that you load and unload hives as needed and specify the keys to write.

Perhaps the best way to learn is reading how Ove's ramdisk script was done - you'll see that it's easier than it looks.. :P

#21 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 17 January 2007 - 03:50 PM

Hi Nuno

again I realize how far I have moved away from old BartPE-standards -

0x2, "ControlSet001\Control\Session Manager\Environment", "temp", "%RamDiskDriveLetter%"
0x2, "ControlSet001\Control\Session Manager\Environment", "tmp", "%RamDiskDriveLetter%\"


I hope you don't read the next comment as arrogant or something like that - but I can't live with this.
I think this is a design-error in BartPE - it limits your options.

Why not use %temp% = %RamDiskDriveLetter%\temp ?
I use hardcoded %temp% = R:\temp
In case I have very little RAM so that only an 4MB-ramdrive is possible - I simply junction R:\temp to a location on a local-disk or USB-traveldisk.
You cannot do that with
%temp% = %RamDiskDriveLetter%

Nuno - I don't know if you have an idea of what my MOA-stuff looks like - if you have a possibilty to watch VMware-codec videos please check this video I made
http://sanbarrow.com...moa025video.zip

It shows a MOA-XP-sp2 built running on a box with 128MB RAM - this built is far away from perfect - but it shows how I handle RAMdrive and the programs-directory. It uses a programs-directory with 300MB of various programs - fully writeable ...
It shows some things that are impossible on all other current popular builts - no matter wether it is BartPE - out of the box, UBCD4WIN, XPE, Reatogo, Winbuilder ... whatever.

I'd rather continue fiddling alone with my MOA-stuff than adopting to any other builts that still still stick to the original design-errors.

Please, please look into it - you will not regret it. Promised.

And I would really like to settle down in a larger community - instead of fighting alone.

:P

For me the following is a must:

RAMdrive must be a high driveletter that can be used for harddisks - anything at the end of the scale likeQ-W will do. I use R:
Temp must be a subdir of the RAMdrive
RAMdrive must be uncompressed NTFS

Please, please consider it.

Ulli

#22 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 17 January 2007 - 05:12 PM

Oops - I linked the wrong video - the linked one is MOA-2k3-sp1 based on a 728 MB host

#23 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 17 January 2007 - 05:21 PM

It is already possible to use different drive letters on wb052- you choose..

ramdisk2.png

On nativeEx and liveXP this is done on another part of the project, inside the "Define Fundamentals" script.


Never needed to use NTFS before, but I see you take advantage of junctions so this might be a good time to use NTFS instead of Fat32, why not?

:P

#24 sanbarrow

sanbarrow

    Silver Member

  • Developer
  • 788 posts
  • Location:Germany - Sauerland

Posted 17 January 2007 - 05:36 PM

Good - the screenshot looks different from what I tried - need to see what you are really doing as soon as possible.

What about %temp% ? :P

#25 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 17 January 2007 - 07:07 PM

What about %temp% ? :P


I guess you can add an option on the script interface and use a %temp% that suits your needs - the newer projects do tend to be more dynamic and ease these changes a lot.. :P




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users