Jump to content











Photo
- - - - -

Specific VHD creation and mounting problems.


  • Please log in to reply
69 replies to this topic

#51 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 26 November 2014 - 09:29 PM

Arsenal seems to have a friendly name which would be "Arsenal Virtual".

Seems the system creates that friendly name by itself by concatening Vendorid + Productid.

See below.

 

PfCfcv0.png

 

Linked here a quick & dirty devices enumerator i used in the screenshot below.

It uses the same setupapi as Rufus.



#52 Akeo

Akeo

    Frequent Member

  • Developer
  • 359 posts
  •  
    Ireland

Posted 26 November 2014 - 10:21 PM

If an application sees SPDRP_FRIENDLYNAME set to "Arsenal Virtual SCSI Disk Device", then that's good enough for me.



#53 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 27 November 2014 - 10:36 AM

That's great that you will be adding support for additional virtual disk names in a future build.

In the meantime would it be possible to publish the code changes needed to implement this support?
I'm not a developer, but I do have some programming knowledge and I would be willing to try building a version of your source code with these changes. I would need some guidance regarding the compiler used and its configuration.

If that suggestion doesn't appeal due to time constraints or any other reason, maybe you could publish a patch file?

Thank you.

Edited by Nuvo, 27 November 2014 - 11:35 AM.


#54 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 27 November 2014 - 12:27 PM

@All

In the meantime I checked Winvblock, and it is another driver that does not "fall" into the "SCSI" connection as "Enumerator_Name". :(

 

@akeo

Not really an "issue" BTW, I guess that people using these drivers and wanting to have them listed in Rufus are nowhere to be found.

 

@erwan.l

Nice little tool you put together, it may come handy :).

 

:duff:

Wonko



#55 Akeo

Akeo

    Frequent Member

  • Developer
  • 359 posts
  •  
    Ireland

Posted 27 November 2014 - 01:23 PM

@Nuvo,

I'll figure something out for ya. It shouldn't take more than 5 mins to patch the code, and I can update the 1.5.0 ALPHA then.

Hopefully, I'll have a new ALPHA within 24 hours.



#56 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 27 November 2014 - 01:36 PM

Brilliant.  Thank you very much.



#57 Akeo

Akeo

    Frequent Member

  • Developer
  • 359 posts
  •  
    Ireland

Posted 28 November 2014 - 12:41 AM

ALPHA version that includes support for the extra VHD drivers can be found here.

 

And just in case, I'm afraid the annoying popup from the ALPHA is here to stay until 1.5.0 is complete enough for a BETA, the reason being that I'm seeing a few too many people eager to redistribute the latest builds as formal releases, and getting incomplete (and potentially buggy) stuff being unscrupulously advertised as a release is the last thing I want.



#58 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 28 November 2014 - 02:51 PM

Thank you very much for the punctual Alpha release. :)

I personally don't have a problem with the pop-up message box in the slightest. I'm just happy to be able to use your software today with the additional driver support.

I can confirm that Rufus creates boot discs flawlessly on VHDs mounted with both the MS Virtual Server 2005 vhdmount tool and Olaf's Arsenal driver.

Unfortunately, I was unable to test it using the KernSafe TotalMounter driver as I have problems installing this. The installer claims to have installed the driver but the TotalMounter program displays a "no driver" message at the bottom of its window even after a reboot.
I have no doubt that it will work as intended though. Perhaps somebody could verify this?

Thanks again,
Robert.

Edited by Nuvo, 28 November 2014 - 02:55 PM.


#59 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 28 November 2014 - 03:36 PM

Confirmed :thumbsup: Rufus Alpha works fine with Total Mounter on my system.

 

I seem to remember, some time ago, to have had issue installing the driver on a machine, cannot really remember the details, however I seem to remember that this happened with the 2.01 version.

 

Try installing the (older) 1.50 version:

http://www.kernsafe....Mounter1.50.exe

 

:duff:

Wonko



#60 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 28 November 2014 - 04:57 PM

Thanks Wonko, your memory serves you well. All working with Total Mounter v1.5. :)

#61 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 28 November 2014 - 06:12 PM

All is well that ends well. :)

 

:duff:

Wonko



#62 Akeo

Akeo

    Frequent Member

  • Developer
  • 359 posts
  •  
    Ireland

Posted 20 December 2014 - 05:41 PM

All is well that ends well. :)

 

...that is, unless you're dealing with Microsoft.

 

I just found out that the SPDRP_FRIENDLYNAME is localized, which means that using it for VHD detection only works if you're using an English version of Rufus (which might actually explain why Wonko indicated he could not see the VHDs by default).

 

I have now redone the VHD detection to use the HARDWAREID, which should work regardless of the locale.

 

If you feel like testing it, the new ALPHA is at its usual place.



#63 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 20 December 2014 - 07:14 PM

...that is, unless you're dealing with Microsoft.

Yep :), they like to NOT document their standards in order to later be able to NOT respect them (hoping that noone will notice). :frusty:
 

I just found out that the SPDRP_FRIENDLYNAME is localized, which means that using it for VHD detection only works if you're using an English version of Rufus (which might actually explain why Wonko indicated he could not see the VHDs by default).




And now you may better appreciate how *sometimes* apparently random suggestions by a stranger :w00t: :ph34r: may have some merit ;):

Now of course, if you can tell under which name the software/driver you use on XP lists VHDs, I can try to add an exception for it in a future version. ;)

 it would IMHO be easier/less work for you if you could add *somewhere* (like in a checkbox or a .ini or *whatever*) an option like "Reserved for reckless crazy bastards" :whistling:, possibly password protected with "YESIWANTTORISKMYBYTES" where it would be possible to add a virtual disk driver name (as seen in Device Managerment).

 


I have now redone the VHD detection to use the HARDWAREID, which should work regardless of the locale.

...but are you still maintaining compatibility With Arsenal and Total Mounter, right? :unsure:
 
:duff:
Wonko

#64 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 21 December 2014 - 03:09 PM

...but are you still maintaining compatibility With Arsenal and Total Mounter, right? :unsure:

 

Looking at Rufus code, Arsenal, MS VHD and Total Mounter should be supported as the hardware id's below match the one reported by the tool i posted in a previous post.

static __inline BOOL IsVHD(const char* buffer)
{
	int i;
	// List of the Friendly Names of the VHD devices we know
	const char* vhd_name[] = {
		"Arsenal_________Virtual_",
		"KernSafeVirtual_________",
		"Msft____Virtual_Disk____",
//		"VMware__VMware_Virtual_S"	// Would list primary disks on VMWare instances, so we avoid it
	};

	for (i = 0; i < ARRAYSIZE(vhd_name); i++)
		if (safe_strstr(buffer, vhd_name[i]) != NULL)
			return TRUE;
	return FALSE;
}


#65 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 21 December 2014 - 04:17 PM

I asked because I am not sure to understand :unsure: (actually I am pretty sure I do not understand :w00t: :ph34r:) C/C++ and similar code, so it's just a "cosmetic matter" or "leftover" in the comments, like:

// List of the Friendly Names HardwareID of the VHD devices we know

 

 

Good. :thumbup:

 

:duff:

Wonko



#66 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 21 December 2014 - 05:28 PM

I asked because I am not sure to understand :unsure: (actually I am pretty sure I do not understand :w00t: :ph34r:) C/C++ and similar code, so it's just a "cosmetic matter" or "leftover" in the comments, like:

 

Good. :thumbup:

 

:duff:

Wonko

 

I am not a good c++ dev guy either but I understand Akeo dropped the friendly name in favor of the hardwareid.

 

And it does actually reflect in the below code :

// We can't use the friendly name to find if a drive is a VHD, as friendly name string gets translated
		// according to your locale, so we poke the Hardware ID
		memset(&props, 0, sizeof(props));
		memset(buffer, 0, sizeof(buffer));
		props.is_VHD = SetupDiGetDeviceRegistryPropertyA(dev_info, &dev_info_data, SPDRP_HARDWAREID,
			&datatype, (LPBYTE)buffer, sizeof(buffer), &size) && IsVHD(buffer);

There you can see he retrieves the hardwareid and then use the IsVHD function (mentionned in my previous post) to (exact) match it against a list of known hardware id's : "Arsenal_________Virtual_"        "KernSafeVirtual_________"        "Msft____Virtual_Disk____" .



#67 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 08 January 2015 - 11:42 AM

I've two issues with recent alpha releases of Rufus.  Should I report them via GitHub?

I'll give a brief description here to begin with.

 

1. Running v2.0.0 alpha, If I try to select a physical usb flash drive from the device drop down menu I get a msvcrt.dll unhandled exception error.

 

2. Running v1.5.0 alpha, using a verified XP SP3 ISO source file gives a ntdetect failure when booting fro USB.  On some occasions Rufus             hangs when copying files from the ISO file.  Rufus v1.4.12 doesn't have either of these issues and works as expected.

 

Do you need any additional logs or other detailed information to replicate and troubleshoot the above?

 

edit:  Running v2.0.0 on another XP system gives the following related error when launched:

 

2rdavx2.png

 

 


Edited by Nuvo, 08 January 2015 - 11:57 AM.


#68 erwan.l

erwan.l

    Platinum Member

  • Developer
  • 3041 posts
  • Location:Nantes - France
  •  
    France

Posted 08 January 2015 - 05:16 PM

I've two issues with recent alpha releases of Rufus.  Should I report them via GitHub?

I'll give a brief description here to begin with.

 

1. Running v2.0.0 alpha, If I try to select a physical usb flash drive from the device drop down menu I get a msvcrt.dll unhandled exception error.

 

2. Running v1.5.0 alpha, using a verified XP SP3 ISO source file gives a ntdetect failure when booting fro USB.  On some occasions Rufus             hangs when copying files from the ISO file.  Rufus v1.4.12 doesn't have either of these issues and works as expected.

 

Do you need any additional logs or other detailed information to replicate and troubleshoot the above?

 

edit:  Running v2.0.0 on another XP system gives the following related error when launched:

 

2rdavx2.png

 

About reporting, if you want to keep it on this forum, you should use this thread.



#69 Nuvo

Nuvo

    Member

  • Members
  • 47 posts
  •  
    Scotland

Posted 09 January 2015 - 10:47 AM

Thanks Erwan, I've copied my post there.


Edited by Nuvo, 09 January 2015 - 11:18 AM.


#70 Akeo

Akeo

    Frequent Member

  • Developer
  • 359 posts
  •  
    Ireland

Posted 25 January 2015 - 12:47 AM

Please try to use the github tracker if you encounter issues. I just found out that gmail sends topic notifications from reboot.pro into my SPAM folder, and I tend to check reboot.pro very infrequently. If you want the fastest response (and make my life easier, since I can then use direct reference to an issue in the code changes), use github.

 

PS: I also fixed the comment with "Friendly Name"






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users