<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title></title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    <tt>On 1/18/2011 12:33, Binh Thai wrote:</tt>
    <blockquote type="cite" cite="mid:88A6D980ACB96149856DEF1DFA18C8BA02751934@va-mail4.ncst.com">
      
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:774639806;
        mso-list-type:hybrid;
        mso-list-template-ids:791416562 342384446 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0E8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1"><tt><span style="color: rgb(31, 73,
            125);">&#8220;</span></tt><tt><span style="font-size: 10pt;">So
            having said that, I'd like to ask: _why_ do you want the
            drive numbers numbered in this way?</span><span style="color: rgb(31, 73, 125);">&#8221;<o:p></o:p></span><br>
          <span style="font-family: Wingdings; color: rgb(31, 73, 125);"><span style="">&egrave;<span style="font: 7pt &quot;Times New
                Roman&quot;;"> </span></span></span><span style="color:
            rgb(31, 73, 125);">I have some unattended programs that
            capture and deploy OS images. The user may boot a system
            from a CDROM/USB Drive and do the capturing. Meanwhile, the
            deployment occurs from an iSCSI Windows image, which
            currently changes the numbering of the internal hard drives
            and this causes the captured images to be deployed to the
            wrong drives. I can make the deployment program aware of the
            iSCSI drive but I&#8217;m looking for a more thorough solution.<o:p></o:p></span><br>
          <span style="color: rgb(31, 73, 125);"><o:p>&nbsp;</o:p></span><br>
          <span style="color: rgb(31, 73, 125);">Could you please
            explain for me the relationship between gPXE iSCSI boot and
            Windows iSCSI Initiator? When does gPXE end and Windows
            iSCSI Initiator pick up?</span><br>
        </tt><!--[if !supportLists]--><!--[endif]--></div>
    </blockquote>
    <tt><br>
      gPXE (and iPXE) create the iBFT and mark it up in the memory map
      so it is not overwritten before booting the SAN.&nbsp; gPXE (and iPXE)
      hook INTerrupt 0x13 to provide INT 0x13 users (such as DOS, the
      Windows boot-loaders, other boot-loaders) with access to the disk.<br>
      <br>
      The Windows boot-loader(s) will use [the hooked] INT 0x13 to load
      the OS.&nbsp; Once the OS begins operation, the OS no longer uses INT
      0x13, so gPXE's (or iPXE's) work is done; its code is never
      invoked again.<br>
      <br>
      The Windows iSCSI initiator boot-mode driver searches for the iBFT
      in memory.&nbsp; Once found, the driver will attempt to reconnect to
      the same SAN that the hooked INT 0x13 had previously been
      connected to.&nbsp; If successful (networking is sane), like other disk
      bus drivers, it creates a disk object.<br>
      <br>
      In Windows XP, the disk object is then driven by DISK.SYS.&nbsp; I
      believe this driver is responsible for the creation of the
      \Device\HarddiskX\ object directories (you can see with
      WinObj.exe).&nbsp; I believe that it creates the DRx and DP(x)...
      devices in those object directories, as well as the symbolic
      links.&nbsp; I believe that it also creates the PhysicalDriveX symbolic
      links under \GLOBAL??\.&nbsp; I believe that the devices it produces
      are enumerated as STORAGE devices (HKLM\SYSTEM\CCS\Enum\STORAGE\).<br>
      <br>
      I think what happens is that after all boot drivers have been
      initialized and all devices in the device tree have been walked
      (and possible installed), the kernel checks all disks' MBR
      signatures and creates the ARC name [symbolic link] for the boot
      disk based on whichever disk matches.&nbsp; It can also thus choose
      which volume to boot from.<br>
      <br>
      I hope this information helps you out.&nbsp; Perhaps you could adjust
      your unattended processes to specifically look for the internal
      HDDs, perhaps using a disk signature...&nbsp; That seems to be how
      Windows does it; perhaps you could use the signature to _exclude_
      the iSCSI disk from your processes.<br>
      <br>
      - Shao Miller</tt><br>
  </body>
</html>