MSFN Forum: Forcing system drive letter to C:/ - MSFN Forum

Jump to content



If you are having issues with Windows after removing components and have come to ask for help, please attach (not paste) your Last Session.ini file to your post to facilitate quicker assistance.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Forcing system drive letter to C:/ Rate Topic: -----

#1 User is offline   jbuzzard 

  • Group: Members
  • Posts: 1
  • Joined: 11-November 08

Posted 11 November 2008 - 03:00 AM

hi guys,

Seems that when installing from a slipstreamed nlite cd, the drive letter comes out random. I'm wondering whether there is a feature, or whether a feature could be included, to force the system to place the system drive letter as C:.

A minor thing, i know, but it does cause some problems when trying to install badly written programs.

Cheers


#2 User is offline   bledd 

  • msfn is a friend of mine!
  • Group: Supreme Sponsor
  • Posts: 1,732
  • Joined: 24-March 04

Posted 11 November 2008 - 06:15 AM

remove all other hard drives when installing, and install on the primary partition.

#3 User is offline   BikinDutchman 

  • Member
  • PipPip
  • Group: Members
  • Posts: 231
  • Joined: 11-January 07

Posted 11 November 2008 - 09:38 AM

In addition:

Make your partition primary indeed and make it active (means it will be the boot partition).

Also make sure you have the following option in your unattend data file (WinNT.sif):
[Data]
AutoPartition=0

#4 User is offline   zomos 

  • Newbie
  • Group: Members
  • Posts: 14
  • Joined: 08-November 08

Posted 18 November 2008 - 06:38 PM

It is possible to exactly define the drive letters before the Windows XP installation.
It is possible to choose your drive letters without such silly things as removing hard drives or deleting partitions.
It is even possible to put "Program Files" and "Documents and Settings" on different physical drives so Windows runs faster.

See the solution outlined at the link below:

http://www.msfn.org/board/profiles-directo...me-t125819.html

This post has been edited by zomos: 18 November 2008 - 06:43 PM


#5 User is offline   TranceEnergy 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 963
  • Joined: 23-March 06

Posted 18 November 2008 - 08:45 PM

View Postzomos, on Nov 19 2008, 01:38 AM, said:

It is possible to exactly define the drive letters before the Windows XP installation.
It is possible to choose your drive letters without such silly things as removing hard drives or deleting partitions.
It is even possible to put "Program Files" and "Documents and Settings" on different physical drives so Windows runs faster.

See the solution outlined at the link below:

http://www.msfn.org/board/profiles-directo...me-t125819.html


Many years ago i used to change the location of documents and settings, all inclusive local system service /network / all accounts.
However just 4-5 years ago i no longer noticed any benefit to this approach. It is also not as easy as you seem to think it is IF one dont like to have D:\ or whatever partition letter windows setup will create for that partition. It IS also dependent on the harddrives order connecting.

While a solution can always be put forth manual and has been an option since forever, what you write of is nothing new at all.

#6 User is offline   bledd 

  • msfn is a friend of mine!
  • Group: Supreme Sponsor
  • Posts: 1,732
  • Joined: 24-March 04

Posted 19 November 2008 - 05:44 AM

View Postzomos, on Nov 19 2008, 12:38 AM, said:

It is possible to choose your drive letters without such silly things as removing hard drives or deleting partitions.


sometimes if you have multiple hard drives in the machine (and usb sticks) the usb sticks will try and take the C: and D:, meaning you install to E: on a hard drive..

#7 User is offline   zomos 

  • Newbie
  • Group: Members
  • Posts: 14
  • Joined: 08-November 08

Posted 19 November 2008 - 10:52 AM

The drive letter ordering IS NOT DEPENDENT on the "harddrives order connecting" with my method.

Windows uses partition signatures to assign drive leters.
Drive and Partition order just does not matter for letter assignment because migrate.inf persistently overrides the default values proposed by Windows.

The utility I had written to generate migrate.inf copies the current drive assignments WHATEVER THEY ARE set to in the PE (including USB drives).
These assignemts in migrate.inf are later used by the text mode setup, REGARDLESS of "harddrives order connecting".

If the "Program Files" and "Documents And Settings" are on a different physical drives Windows will run much faster because the I/O can be done in parallel on multiple physical drives.
The same statement is not true for different partition on the same physical drive.

Apparently you had not read the outline of my method nor tried it.


Zomos

Trance Energy said:

It is also not as easy as you seem to think it is IF one dont like to have D:\ or whatever partition letter windows setup will create for that partition. It IS also dependent on the harddrives order connecting.


#8 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 8,799
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 19 November 2008 - 02:02 PM

@zomos

Did you write the MkMigrateInf.exe?

Why?

I mean, doesn't the MkMigrateInf.cmd:
http://www.911cd.net...showtopic=19663
or the MkMigrateInf2.cmd version part of the USB multiboot_10 :
http://www.msfn.org/...SB-t111406.html
work allright?

jaclaz

#9 User is offline   zomos 

  • Newbie
  • Group: Members
  • Posts: 14
  • Joined: 08-November 08

Posted 20 November 2008 - 11:52 AM

Yes, I wrote it.

No, MkMigrateInf.cmd nor MkMigrateInf2.cmd did not work for me because:
1) It does not produce a full migrate.inf with all the current drive assignments
2) It does not handle backslashes correctly
3) It does not wrap the lines for long values like in a real migrate.inf
4) It produces invalid migrate.inf file if there are non REG_BINARY values in the registry (as with some RAID systems)
5) It uses REG.EXE that does not work without LSASS - when nobody is loged on (e.g.: PicoXP)

On the cosmetic side: MakeMigrateInf.exe is smaller and faster than Reg.exe + MkMigrateInf.cmd and there is only one file to distrubute.
When I enable the command line parsing, MkMigrateInf.exe can be renamed to Reg2Inf.exe and used to export any Registry Key as an *.inf file ( in INF format ).
That was its primary purpose to start with.

Zomos

P.S.
Reg.exe cannot export from registry in INF format.

jaclaz said:

Did you write the MkMigrateInf.exe?
Why?

This post has been edited by zomos: 20 November 2008 - 12:06 PM


#10 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 8,799
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 20 November 2008 - 12:04 PM

Thanks for clarification. :)

Quote

1) It does not produce a full migrate.inf with all the current drive assignments

Sure, it is designed to do just one drive.

Quote

2) It does not handle backslashes correctly

Can you please give an example?

Quote

3) It does not wrap the lines for long values like in a real migrate.inf

But does this create a problem or is it only a "look" problem? :unsure:

Quote

4) It produces invalid migrate.inf file if there are non REG_BINARY values in the registry (as with some RAID systems)

Didn't know that, thanks for the heads up. :)

Quote

5) It uses REG.EXE that does not work without LSASS - when nobody is loged on (e.g.: PicoXP)

Good point ! :thumbup

Now it comes to the request part ;).

Can we have in the future a version that accepts command line parameters like:
MkMigrateInf.exe /Drives=C:

that only creates the .inf for C:\
MkMigrateInf.exe /Drives=C:;D:;K:

that creates the .inf for given Drive letters
:unsure:

Can I assume that your .exe is (and will be in next versions) freely redistributable?
It would be nice if we could add it, once the needed feature has been implemented, to the "Install XP from USB" routine. B)

jaclaz

#11 User is offline   zomos 

  • Newbie
  • Group: Members
  • Posts: 14
  • Joined: 08-November 08

Posted 20 November 2008 - 12:16 PM

Maybe, but please convince me that this cannot be done by:
1) First setting the drive letters with MMC/Disk Management
2) Next generating a migrate.inf file based on settings made in pt.1.

After all, with Disk Management, you can remove drive letters and even add letters to partitions that do not have any letters assigned.

Quote

Can we have in the future a version that accepts command line parameters like:
MkMigrateInf.exe /Drives=C:;D:;K:

This post has been edited by zomos: 20 November 2008 - 12:18 PM


#12 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 8,799
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 20 November 2008 - 12:30 PM

Well, actually the only thing for which migrate.inf is used in the "Install XP from USB" is to be able to assign a letter to the USB stick.
This is the only feature needed (making the migrate.inf for a single drive letter) to replace the .cmd.

But it might be an idea to add in the future the possibility to also add a given drive letter, say E: (instead of C:) for the First Primary Partition of target system, or however be "free" of assigning drive letters at will or for future, at the moment not thinked about, use. :unsure:

In other words, if it's easy to implement multiple letters, do it, it may come handy, if it's in any way difficult or complex, forget about it. :)

jaclaz

#13 User is offline   zomos 

  • Newbie
  • Group: Members
  • Posts: 14
  • Joined: 08-November 08

Posted 20 November 2008 - 12:52 PM

I can do it but the problem I see is how do you want me to identify disks/partitions that do not have any letters assigned ?
A hard disk can have partitions without drive letters and so can a USB disk.

If you want to help me, search the net how to enumerate all of the physical disks attached to the system in User Mode and without WMI (note: I am not interested in enumerating partitions).

Below is an example how to do it in Kernel Mode, but I prefer not to load any drivers to accomplish such simple task.
Enumerating device objects representing disks and partitions

This post has been edited by zomos: 20 November 2008 - 01:34 PM


#14 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 8,799
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 20 November 2008 - 01:12 PM

View Postzomos, on Nov 20 2008, 07:52 PM, said:

I can do it but the problem I see is how do you want me to identify disks/partitions that do not have any letters assigned ?
A hard disk can have partitions without drive letters and so can a USB disk.

Sure, but I don't see the problem, I mean, let's assume that when one runs your programs has assigned drive letters at least to the drives for which he/she wants an entry in migrate.inf

View Postzomos, on Nov 20 2008, 07:52 PM, said:

If you want to help me, search the net how to enumerate all of the physical disks attached to the system in User Mode and without WMI (note: I am not interested in enumerating partitions).

Below is an example how to do it in Kernel Mode, but I prefer not to load any drivers to accomplish such simple task.
Enumerating device objects representing disks and partitions

I would like to , but when it comes to programming, you're taking me out of my field of competence.

There must be systems, however.

There is a current thread with similar (though not migrate.inf related) contents here:
http://www.msfn.org/...opic=124539&hl=
particularly, see here:
http://www.msfn.org/board/compatible-batch....html&st=22

the John Newbigin version of "dd for windows" has a --list parameter that lists drives very well, though cannot say WHAT it uses.
Sample output:
dd --list>list.txt 2>&1
 
rawwrite dd for windows version 0.5.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL.  See copying.txt for details
Win32 Available Volume Information
\\.\Volume{b0b284c3-8a33-11dd-8781-806d6172696f}\
  link to \\?\Device\HarddiskVolume1
  fixed media
  Mounted on \\.\c:

\\.\Volume{b0b284c4-8a33-11dd-8781-806d6172696f}\
  link to \\?\Device\HarddiskVolume2
  fixed media
  Mounted on \\.\e:

\\.\Volume{80cf88c2-8a34-11dd-813c-806d6172696f}\
  link to \\?\Device\CdRom0
  CD-ROM
  Mounted on \\.\d:

\\.\Volume{5d3e8800-9c1f-11dd-8148-001fc6bb76ce}\
  link to \\?\Device\Harddisk2\DP(1)0-0+5
  removeable media
  Mounted on \\.\r:

\\.\Volume{80cf88c3-8a34-11dd-813c-806d6172696f}\
  link to \\?\Device\Harddisk4\DP(1)0-0+f
  removeable media
  Mounted on \\.\n:

\\.\Volume{80cf88c4-8a34-11dd-813c-806d6172696f}\
  link to \\?\Device\Harddisk5\DP(1)0-0+10
  removeable media
  Mounted on \\.\g:

\\.\Volume{80cf88c5-8a34-11dd-813c-806d6172696f}\
  link to \\?\Device\Harddisk6\DP(1)0-0+11
  removeable media
  Mounted on \\.\h:

\\.\Volume{80cf88c6-8a34-11dd-813c-806d6172696f}\
  link to \\?\Device\Harddisk7\DP(1)0-0+12
  removeable media
  Mounted on \\.\i:

\\.\Volume{98f06d4c-9506-11dd-8147-001fc6bb76ce}\
  link to \\?\Device\HarddiskVolume3
  fixed media
  Mounted on \\.\j:

\\.\Volume{98f06d4d-9506-11dd-8147-001fc6bb76ce}\
  link to \\?\Device\HarddiskVolume4
  fixed media
  Mounted on \\.\k:

\\.\Volume{98f06d4e-9506-11dd-8147-001fc6bb76ce}\
  link to \\?\Device\HarddiskVolume5
  fixed media
  Mounted on \\.\l:

\\.\Volume{98f06d4f-9506-11dd-8147-001fc6bb76ce}\
  link to \\?\Device\HarddiskVolume6
  fixed media
  Mounted on \\.\m:


NT Block Device Objects
\\?\Device\CdRom0
  size is 403259392 bytes
\\?\Device\Harddisk0\Partition0
  link to \\?\Device\Harddisk0\DR0
  Fixed hard disk media. Block size = 512
  size is 320072933376 bytes
\\?\Device\Harddisk0\Partition1
  link to \\?\Device\HarddiskVolume1
\\?\Device\Harddisk1\Partition0
  link to \\?\Device\Harddisk1\DR1
  Fixed hard disk media. Block size = 512
  size is 320072933376 bytes
\\?\Device\Harddisk1\Partition1
  link to \\?\Device\HarddiskVolume2
  Fixed hard disk media. Block size = 512
  size is 320062063104 bytes
\\?\Device\Harddisk2\Partition0
  link to \\?\Device\Harddisk2\DR4
  Removable media other than floppy. Block size = 512
  size is 134217728 bytes
\\?\Device\Harddisk2\Partition1
  link to \\?\Device\Harddisk2\DP(1)0-0+5
  Removable media other than floppy. Block size = 512
  size is 98671104 bytes
\\?\Device\Harddisk3\Partition0
  link to \\?\Device\Harddisk3\DR6
  Fixed hard disk media. Block size = 512
  size is 320072933376 bytes
\\?\Device\Harddisk3\Partition1
  link to \\?\Device\HarddiskVolume3
  Fixed hard disk media. Block size = 512
  size is 2097414144 bytes
\\?\Device\Harddisk3\Partition2
  link to \\?\Device\HarddiskVolume4
\\?\Device\Harddisk3\Partition3
  link to \\?\Device\HarddiskVolume5
\\?\Device\Harddisk3\Partition4
  link to \\?\Device\HarddiskVolume6
  Fixed hard disk media. Block size = 512
  size is 41940670464 bytes
\\?\Device\Harddisk4\Partition0
  link to \\?\Device\Harddisk4\DR7
\\?\Device\Harddisk4\Partition1
  link to \\?\Device\Harddisk4\DP(1)0-0+f
\\?\Device\Harddisk5\Partition0
  link to \\?\Device\Harddisk5\DR8
\\?\Device\Harddisk5\Partition1
  link to \\?\Device\Harddisk5\DP(1)0-0+10
\\?\Device\Harddisk6\Partition0
  link to \\?\Device\Harddisk6\DR9
\\?\Device\Harddisk6\Partition1
  link to \\?\Device\Harddisk6\DP(1)0-0+11
\\?\Device\Harddisk7\Partition0
  link to \\?\Device\Harddisk7\DR10
\\?\Device\Harddisk7\Partition1
  link to \\?\Device\Harddisk7\DP(1)0-0+12

Virtual input devices
 /dev/zero   (null data)
 /dev/random (pseudo-random data)
 -           (standard input)

Virtual output devices
 -           (standard output)
 


Since it is Open Source, you may get some ideas from it's code. :unsure:

jaclaz

#15 User is offline   bledd 

  • msfn is a friend of mine!
  • Group: Supreme Sponsor
  • Posts: 1,732
  • Joined: 24-March 04

Posted 21 November 2008 - 02:53 AM

View Postzomos, on Nov 19 2008, 04:52 PM, said:

Apparently you had not read the outline of my method nor tried it.


no i haven't i was just saying the default windows behaviour incase it helps save someone else some ball-ache :)

-which in this thread's case is the 'easiest' reply for the thread starter, and anyone that doesn't want to fiddle

This post has been edited by bledd: 21 November 2008 - 02:54 AM


Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2011 msfn.org
Privacy Policy