Jump to content











Photo
* * * * * 1 votes

Page file in USB hard disk


  • Please log in to reply
70 replies to this topic

#1 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 20 October 2009 - 06:54 PM

Update
2009-12-12: New version DiskMod v0.0.2.2
See post #23 for more information.

--------

There is an idea from Thai webboard pantip.com. "Shenzhen Man" asked how to make Windows think external hard disk is internal hard disk, so that it will allow page file to be in the hard disk ?
Normally, Windows creates page file in IDE/SATA/RAID hard disk but not in USB hard disk.
If Windows creates page file in a partition in internal disk, you cannot format or delete that partition.
If you boot from USB disk and there is no Windows partition available in internal disk, you don't have page file.
I searched Google and did not find any successful story .
So I tried another approach -- a disk filter driver.
When Windows tell disk device to prepare itself for paging, the filter driver will return success status even if the lower driver failed.

Here is the experimental 32-bit version.
MF
It has been tested in Windows 7 RC 32-bit only for a few minutes.

How to install this driver (DiskMod v0.0.1.0) in Windows 7 RC 32-bit.
From Windows in USB, open Device Manager.
Find your USB disk device(s).
- When viewed by type, they are in "Disk drives" category.
- When viewed by connection, select child device of USB Mass Storage device.
Right click on disk device and Select Update driver.
Browse My Computer
Let me pick
Have Disk...
Select the directory where you have DiskMod driver extracted to
Select "Disk with pagefile" and click Next
Reboot
  • Nuno Brito likes this

#2 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 24 October 2009 - 06:41 AM

Nice, nice idea :cheers:, though it is NOT a good idea to use it on Flash based device, just a WARNING to be on the safe side:
NEVER, and when I say NEVER I mean NEVER, use pagefile/swap on a Flash based device, and if you really, really want to use it (DON'T) NEVER use a "dynamical sized" one!

;)

jaclaz

#3 MEstes

MEstes
  • Members
  • 4 posts
  •  
    United States

Posted 01 November 2009 - 10:00 PM

Sorry, I submitted a report instead of posting a reply. So i'll say again that Ihave not found any issues with the driver.




Thank You very much for the post,
MEstes

#4 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 264 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 04 November 2009 - 11:45 AM

Karyonix,your driver didn't work for me because this line :

Include = disk.inf

is wrong,such there is no disk.inf file in your zipped file.
The only inf file I can see is named diskmod.inf,so I changed the lines with :

Include = disk.inf

with

Include = diskmod.inf

and the driver has been accepted by Windows.

#5 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 04 November 2009 - 12:58 PM

I forgot to mention that it has been tested on Windows 7 RC 32-bit only.
Include and Needs lines tell setup to process a section in system-supplied disk.inf.

#6 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 264 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 04 November 2009 - 01:12 PM

The first time I copied diskmod.inf in \windows\inf and diskmod.sys in \windows\system32\drivers but when I did a Right click on disk device and I Selected the driver,it said to could not find a file,then I copied disk.inf from \windows\inf to \diskmod-0.0.1.00 folder and it worked. Now I want to integrate this driver inside my Windows installation,because,since I'm running Windows from RAM,if I reboot the computer,any change will be lost. But I can insert the registry keys by editing the Windows registry using the offline mode. For anyone who needs to do something like this,I post here the registry keys interested :
[codebox] Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}\0003] "InfPath"="oem32.inf" "InfSection"="DiskEnablePageFile" "InfSectionExt"=".NTx86" "ProviderName"="Karyonix" "DriverDateData"=hex:00,00,b0,6e,e1,51,ca,01 "DriverDate"="10-21-2009" "DriverVersion"="0.0.1.0" "MatchingDeviceId"="diskmod" "DriverDesc"="Disk with pagefile" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\diskmod] "Service"="disk" "ClassGUID"="{4d36e967-e325-11ce-bfc1-08002be10318}" "LowerFilters"=hex(7):64,00,69,00,73,00,6b,00,6d,00,6f,00,64,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0] "DeviceDesc"="@oem32.inf,%diskenablepagefile%;Disk with pagefile" "Capabilities"=dword:00000010 "HardwareID"=hex(7):55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,44,00,69,\ 00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,\ 30,00,30,00,42,00,4d,00,56,00,5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,\ 00,6c,00,31,00,2e,00,37,00,35,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,\ 52,00,5c,00,44,00,69,00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,\ 00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,56,00,5f,00,45,00,78,00,74,00,\ 65,00,72,00,6e,00,61,00,6c,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,\ 00,5c,00,44,00,69,00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,00,\ 5f,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,57,00,44,00,5f,\ 00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,56,00,\ 5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,00,6c,00,31,00,00,00,57,00,44,\ 00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,\ 56,00,5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,00,6c,00,31,00,00,00,55,\ 00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,47,00,65,00,6e,00,44,00,69,00,\ 73,00,6b,00,00,00,47,00,65,00,6e,00,44,00,69,00,73,00,6b,00,00,00,00,00 "CompatibleIDs"=hex(7):55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,44,00,\ 69,00,73,00,6b,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,52,\ 00,41,00,57,00,00,00,00,00 "ContainerID"="{500ddb8f-d6c4-5c4f-8f1f-9b63e00cf41c}" "ConfigFlags"=dword:00000000 "ClassGUID"="{4d36e967-e325-11ce-bfc1-08002be10318}" "Driver"="{4d36e967-e325-11ce-bfc1-08002be10318}\\0003" "Class"="DiskDrive" "Mfg"="@oem32.inf,%mfageneric%;(Generic disk)" "Service"="disk" "LowerFilters"=hex(7):64,00,69,00,73,00,6b,00,6d,00,6f,00,64,00,00,00,00,00 "FriendlyName"="Unità disco" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters] [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\DiskMod] "EnablePageFile"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\Partmgr] "Attributes"=dword:00000000 "DiskId"="{0b43abc6-ba9b-11de-a7e3-0022683600b8}" [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\LogConf] [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Control] [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\DiskMod] "EnablePageFile"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\diskmod] "Type"=dword:00000001 "Start"=dword:00000000 "ErrorControl"=dword:00000001 "Tag"=dword:00000004 "ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\ 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,64,00,69,00,73,00,6b,00,6d,00,6f,\ 00,64,00,2e,00,73,00,79,00,73,00,00,00 "DisplayName"="DiskMod Filter Driver" "Group"="SCSI Class" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}\0003] "InfPath"="oem32.inf" "InfSection"="DiskEnablePageFile" "InfSectionExt"=".NTx86" "ProviderName"="Karyonix" "DriverDateData"=hex:00,00,b0,6e,e1,51,ca,01 "DriverDate"="10-21-2009" "DriverVersion"="0.0.1.0" "MatchingDeviceId"="diskmod" "DriverDesc"="Disk with pagefile" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\diskmod] "Service"="disk" "ClassGUID"="{4d36e967-e325-11ce-bfc1-08002be10318}" "LowerFilters"=hex(7):64,00,69,00,73,00,6b,00,6d,00,6f,00,64,00,00,00,00,00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0] "DeviceDesc"="@oem32.inf,%diskenablepagefile%;Disk with pagefile" "Capabilities"=dword:00000010 "HardwareID"=hex(7):55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,44,00,69,\ 00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,\ 30,00,30,00,42,00,4d,00,56,00,5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,\ 00,6c,00,31,00,2e,00,37,00,35,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,\ 52,00,5c,00,44,00,69,00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,\ 00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,56,00,5f,00,45,00,78,00,74,00,\ 65,00,72,00,6e,00,61,00,6c,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,\ 00,5c,00,44,00,69,00,73,00,6b,00,57,00,44,00,5f,00,5f,00,5f,00,5f,00,5f,00,\ 5f,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,57,00,44,00,5f,\ 00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,56,00,\ 5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,00,6c,00,31,00,00,00,57,00,44,\ 00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,33,00,32,00,30,00,30,00,42,00,4d,00,\ 56,00,5f,00,45,00,78,00,74,00,65,00,72,00,6e,00,61,00,6c,00,31,00,00,00,55,\ 00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,47,00,65,00,6e,00,44,00,69,00,\ 73,00,6b,00,00,00,47,00,65,00,6e,00,44,00,69,00,73,00,6b,00,00,00,00,00 "CompatibleIDs"=hex(7):55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,44,00,\ 69,00,73,00,6b,00,00,00,55,00,53,00,42,00,53,00,54,00,4f,00,52,00,5c,00,52,\ 00,41,00,57,00,00,00,00,00 "ContainerID"="{500ddb8f-d6c4-5c4f-8f1f-9b63e00cf41c}" "ConfigFlags"=dword:00000000 "ClassGUID"="{4d36e967-e325-11ce-bfc1-08002be10318}" "Driver"="{4d36e967-e325-11ce-bfc1-08002be10318}\\0003" "Class"="DiskDrive" "Mfg"="@oem32.inf,%mfageneric%;(Generic disk)" "Service"="disk" "LowerFilters"=hex(7):64,00,69,00,73,00,6b,00,6d,00,6f,00,64,00,00,00,00,00 "FriendlyName"="Unità disco" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\DiskMod] "EnablePageFile"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\Partmgr] "Attributes"=dword:00000000 "DiskId"="{0b43abc6-ba9b-11de-a7e3-0022683600b8}" [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\LogConf] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Control] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_WD&Prod_3200BMV_External&Rev_1.75\57442D575845323039544433303334&0\Device Parameters\DiskMod]
"EnablePageFile"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\diskmod]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"Tag"=dword:00000004
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,64,00,69,00,73,00,6b,00,6d,00,6f,\
00,64,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="DiskMod Filter Driver"
"Group"="SCSI Class"
[/codebox]

#7 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 264 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 04 November 2009 - 04:39 PM

This is what I did to insert the new registry keys inside Windows 7 in offline mode :

1) Mounted the Ram Disk with Windows 7 inside using IMdisk
2) Copied C:\Windows\System32\Config\System file outside the Ram Disk
3) Booted Windows PE 3.0
4) Loaded Hive mario-mario from System file
5) Imported the registry keys of the driver diskmod
6) Unmounted Hive / Ram Disk
7) Loaded again Windows 7 into RAM memory
8) BSOD :

CONFIG_INITIALIZATION_FAILED : STOP : 0X00000067 (0X00000001,0X0000000D,0XC0000035,0X00000000)

#8 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 04 November 2009 - 05:24 PM

Well i guess the solution works only for the Harddisks and MassStorageDevices mentioned in the registry mod, because as I see the DeviceIDs are fixed in this registry modification. I need a solution thats generic and working for all MassStorageDevices I use for booting. Has anyone an idea how to embedd this FilterDriver that my preferred solution will work?

I spend two days searching and experiencing severals solutions to get this damn pagefile to work but no chance, only thing that works well is this FilterDriver, but i have nearly 30 USB Sticks (and in the Future a bit morge) that should boot up well.

Maybe it is possible to embedd that FilterDriver as a generic one, working for all StorageDevices???

greets
patrick

#9 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 264 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 04 November 2009 - 05:47 PM

PatrickF,you can build the portable version of Windows 7 (http://www.boot-land...?showtopic=9193) and then use the same installation for every kind of Storage Devices,because you can clone the same installation on every computer.

#10 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 04 November 2009 - 06:04 PM

Yes but thats the thing, i installed Windows 7 on vhd. Then i made an usb device bootable. Put vhd on this device and this whole windows 7 runs from usb ~about 6GB.

The only thing is that the pagefile has to be on that device too because i need to image the harddisks in that computer. Windows creates a pagefile on the harddisks in the computer and ghost32 is not able to do hotimaging, so it cannot lock the drive. That is my problem.

#11 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 05 November 2009 - 04:05 PM

Maybe it is possible to embedd that FilterDriver as a generic one, working for all StorageDevices???

I think my installation instruction is generic enough. You can choose to install diskmod filter on any disk (at your own risk).
If you want to use this driver on multiple disks, you just have to install this driver on each of them one-by-one.
If you move Windows to different USB port or different computer you may have to install diskmod again for newly discovered disk device.

There is no need to install it offline or manually modify registry.
If want to manually modify registry to enable diskmod for another disk device,
just add value "LowerFilters" type REG_MULTI_SZ data "diskmod" in the disk device's registry subkey
under HKLM\SYSTEM\CurrentControlSet\Enum.

If you really want to enable diskmod filter for all disk device, install it as class filter. It may be unhealthy for your flash drives.
Add diskmodclassfilter.inf to your diskmod directory, right click and choose Install, then restart.
diskmodclassfilter.inf
[Version]

Signature="$WINDOWS NT$"

Class=DiskDrive

ClassGuid={4D36E967-E325-11CE-BFC1-08002BE10318}



[DestinationDirs]

DefaultDestDir=12



[SourceDisksNames]

1=%DiskName1%,,,""



[SourceDisksFiles.ntx86]

diskmod.sys=1,,

diskmod.inf=1,,



[SourceDisksFiles.ntamd64]

diskmod64.sys=1,,

diskmod.inf=1,,



[DefaultInstall.ntx86]

CopyFiles=DiskModCopyFiles_x86

AddReg=DiskModClassFilterAddReg



[DefaultInstall.ntamd64]

CopyFiles=DiskModCopyFiles_amd64



[DefaultInstall.ntx86.Services]

AddService = diskmod, 0, DiskModService



[DefaultInstall.ntamd64.Services]

AddService = diskmod, 0, DiskModService



[DiskModClassFilterAddReg]

HKLM,SYSTEM\ControlSet001\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318},"LowerFilters",0x00010008,"diskmod"



[DiskModCopyFiles_x86]

diskmod.sys



[DiskModCopyFiles_amd64]

diskmod.sys,diskmod64.sys



[DiskModService]

DisplayName	= %DiskModService%

ServiceType	= 1

StartType	  = 0

ErrorControl   = 1

ServiceBinary  = %12%\diskmod.sys

LoadOrderGroup = SCSI Class



[Strings]

DiskModService = "DiskMod Filter Driver"

DiskName1 = "DiskMod Installation Disk"


#12 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 06 November 2009 - 06:48 AM

@karyonix

I tried your diskmodclassfilter.inf solution but it seems that there are some problems using diskmod as classfilter. After installing and restarting, Windows 7 32Bit always shows the "Windows Boot Logo" fading in and out and doesn't continue booting. Any idea where the problem could be?

The diskmodclassfilter.inf would be my perfect solution fitting perfectly to my needs, i hope we can get that to work.

Attached Thumbnails

  • WinStart.png


#13 Marietto

Marietto

    Frequent Member

  • Advanced user
  • 264 posts
  • Location:Italy
  • Interests:Computers,movies,read/write,talking about philosophy and religion.
  •  
    Italy

Posted 06 November 2009 - 07:50 AM

Offline registry writing solution didn't work. Since I'm running Windows 7 from RAM,normally any change is lost when I reboot the computer. To fix the diskmod driver into the Windows registry I cloned the virtual ram drive and then I xcopied the windows folder from cloned windows to virtual ram drive.

#14 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 06 November 2009 - 07:16 PM

@PatrickF
I hope you can restore your SYSTEM hive from backup or maybe "last know good configuration" work for you.
To remove diskmod class filter, load your system hive in another Windows and delete value "LowerFilters" from key ControlSet00x\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}.
example:
reg load HKLM\xxxsystem f:\windows\system32\config\system
reg delete HKLM\xxxsystem\ControlSet001\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} /v LowerFilters
reg unload HKLM\xxxsystem

Is the problem because diskmod are loaded twice for some device that have diskmod as device-specific filter and class filter ?
Please try again. This time uninstall all "Disk with pagefile" in device manager before installing diskmod as class filter.

#15 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 10 November 2009 - 11:24 AM

@karyonix
I have my Window 7 in a VM and created a Snapshot before experimenting with these drivers. Diskmod Class Filter was the only one i installed, no device specific diskmod installation. To roll back i had to goto my earlier snapshot and Windows boots up again.

Could it be, that the problem is caused by the MS Virtual Harddisk Driver ? So that Windows tries to create a pagefile in this vhd because diskmod says "yes you can create"?

Do you need any further information or some other tests from me?

The aim is to have a pagefile.sys always on the primary partition on any usb drive thats bootet with this Windows 7 Installation, so that i can run that Windows 7 on every computer i want, even without a harddisk installed.

#16 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 25 November 2009 - 06:46 AM

No idea?

Is it possible to install diskmod as a classfilter only for mass storage devices?

Greets Patrick

#17 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 25 November 2009 - 10:49 AM

Not possible.
But it is possible to improve diskmod to check hardware ID or MBR signature of device first and work only on if they match.

#18 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 25 November 2009 - 12:20 PM

Not possible.
But it is possible to improve diskmod to check hardware ID or MBR signature of device first and work only on if they match.


That would be awesome. Is Hardware ID device specific or generic?

#19 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 25 November 2009 - 12:23 PM

If I may :thumbup:, the MBR Disk Signature approach seems to me more "universal" and also easier to implement.

jaclaz

#20 PatrickF

PatrickF

    Newbie

  • Members
  • 15 posts
  •  
    Germany

Posted 25 November 2009 - 12:45 PM

Anybody able to do this?

greets
Patrick

#21 sirlong

sirlong
  • Members
  • 1 posts
  •  
    Argentina

Posted 30 November 2009 - 08:52 AM

I haven't words for give to u thanks. :thumbup: :) :rofl:

I have installed in an Acer Aspire One AOA110 (XP, Windows7 & Leopard 10.5.6) on a 320 GB USB Hard disk (built inside with usb2sata card), some day I build a tutorial for this. (I not answer any question for this topic here).
I have XP in patition 1, 7 in partition 2 and Leopard in partition 3
The only thing that I needed was the pagefile !!!!! Leopard have not problem with virtual memory on usb disk, but XP & 7 yes. XP work with my RAM (1,5GB) (max. on AOA110), but 7 use much more RAM that XP, and after of a titanic work to install 7 fully operational on my Acer, the pagefile problem ended with all.
Now, thaks to u, I have pagefile in partition 1 for XP, and other pagefile in partition 2 for 7. I used both OS many hours and I can confirm (at least on this configuration) that work fantastic.

Again..... :) :thumbup: ;)
Thank u very much

#22 conch

conch
  • Members
  • 2 posts
  •  
    Thailand

Posted 10 December 2009 - 11:35 PM

Thanks a lot Khun Palukkuamkid. I think I've seen this name 'Karyonix' somewhere before when I install the driver. Actually, it's from here and you are the one. I sincerely thanks on your work which make my life a lot easier.

Thanks a lots from Shenzhen Man

#23 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 11 December 2009 - 01:09 PM

Here is new version DiskMod 0.0.2.0.
Driver files Attached File  diskmod_0.0.2.0.zip   12.31KB   1399 downloads Source code Attached File  diskmod_0.0.2.0_src.7z   6.25KB   686 downloads
New version DiskMod 0.0.2.2.
Driver files Attached File  diskmod_0.0.2.2.zip   12.45KB   5515 downloads Source code Attached File  diskmod_0.0.2.2_src.7z   6.27KB   1295 downloads

It is to be installed as disk class lower filter driver. Please uninstall all DiskMod 0.0.1.0's "Disk with pagefile" device nodes before (or after) installing this one, otherwise DiskMod may be loaded twice for those devices.
Test-signed 64-bit driver is included. If you want to use (test) it in Windows Vista or 7 (64-bit), you must enable TESTSIGNING Boot Configuration Option before you install DiskMod driver.
If you don't want to be warned about unknown publisher, you may install my self-signed test-signing root certificate before you install DiskMod driver. Attached File  TestSignRootCA.reg   4.78KB   4305 downloads

Some part of kernel and drivers not used in paging I/O can be paged to disk. When system runs out of physical memory, pagable code and data can be paged out or discarded to make room for other use. If it is needed, it can be reloaded from disk again.
Normally, USB drivers are not in paging path. Some of their code may be marked as pagable.
When we forcefully use USB disk for paging, it is possible that some part of USB drivers that is required for USB disk I/O are still marked as pagable. If it is discarded from memory, we cannot read USB disk anymore, so we should also set value "DisablePagingExecutive" in key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" to make sure USB drivers code is always in memory.

How to install DiskMod 0.0.2.2.
  • Extract the archive file in a folder.
  • Right-click diskmod.inf and select "Install" from context menu.
  • Set its parameters in registry.
    • key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\diskmod\Parameters
      • value "Paging" type REG_DWORD
        data 0 = Disable paging, 1 = Enable paging, 2 = Normal (Default)
      • value "Removable" type REG_DWORD
        data 0 = Fixed media (partitioned), 1 = Removable media, 2 = Normal (Default)
        Affect all hard disks and mass storage devices.
    • key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\diskmod\Parameters\MBR_12345678
      • value "Paging", "Removable"
        Affect only devices that have matching MBR signature (or 4-bytes data at offset 0x1B8).
    • key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\xxxx\xxxx\Device Parameters\DiskMod
      key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\xxxx\xxxx\Device Parameters\DiskMod
      key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\xxxx\xxxx\Device Parameters\DiskMod
      (version 0.0.2.2)
      • value "Paging", "Removable"
        Affect only one installed device.
  • Detach and re-attach disks or restart computer.
    Parameters are read when each disk device start.
Example
Enable paging for disk device that contains drive C: and make all disk devices appear as fixed disks.

C:\>reg query HKLM\SYSTEM\MountedDevices /v \DosDevices\C:

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
\DosDevices\C: REG_BINARY 785634120000100000000000

C:\>reg add HKLM\SYSTEM\CurrentControlSet\services\diskmod\Parameters\MBR_12345678 /v Paging /t REG_DWORD /d 1
The operation completed successfully.

C:\>reg add HKLM\SYSTEM\CurrentControlSet\services\diskmod\Parameters /v Removable /t REG_DWORD /d 0
Value Removable exists, overwrite(Yes/No)? y
The operation completed successfully.

C:\>reg query HKLM\SYSTEM\CurrentControlSet\services\diskmod\Parameters /s

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\diskmod\Parameters
Removable REG_DWORD 0x0
Paging REG_DWORD 0x2

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\diskmod\Parameters\MBR_12345678
Paging REG_DWORD 0x1

C:\>


  • GCalzo likes this

#24 Loralon

Loralon
  • Members
  • 9 posts
  •  
    United States

Posted 31 December 2009 - 08:52 AM

Hi karyonix,

I, first of all, wanted to thank you for your excellent posts. Thanks to your other posts I have two portable windows 7 32 and 64-bit installations off my external hdd.

I have a question on the above, can it work and has it been tested to work with windows 7 64 bit or not?

Thank you.

#25 Loralon

Loralon
  • Members
  • 9 posts
  •  
    United States

Posted 31 December 2009 - 09:05 AM

Hi again karyonix,

I have tried to follow the above steps but I seem lost and my windows 7 64 bit installation is still complaining about the lack of pagefile.
Do you confirm that following the installation steps 1-4, one can have the solution working?

My confusion/lack of understanding (and bear with me because I am a noobie on this topic) is first concerning the following passage of the explanation: "When we forcefully use USB disk for paging, it is possible that some part of USB drivers that is required for USB disk I/O are still marked as pagable. If it is discarded from memory, we cannot read USB disk anymore, so we should also set value "DisablePagingExecutive" in key "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" to make sure USB drivers code is always in memory. "

Secondly, I could not make the step 3 to work as I could not edit adequately my registry. Will you, please, give more specific steps or at least provide .bat or .reg file to implement step 3?

Thanks in advance.




4 user(s) are reading this topic

0 members, 4 guests, 0 anonymous users