Jump to content











Photo
- - - - -

ARC Paths and DOS Drives

boot.ini boot xp ntldr

  • Please log in to reply
4 replies to this topic

#1 boyans

boyans

    Newbie

  • Members
  • 13 posts
  • Interests:Music
  •  
    Bulgaria

Posted 22 March 2012 - 05:51 PM

boot.ini and ARC Paths again.

A small GUI utility "ArcPaths" lists DOS Drives and corresponding ARC Paths - can be downloaded
here (needs .NET 2.0). The utility is based on internal NT mappings.

If you need to set up a dual-boot OS based on ntldr the utility gives the needed ARC path for boot.ini entry.

Interesting is that a booted VHD is mapped to vdisk(n) - have not seen it mentioned on any site,
even M$ sites. Win 8 CP installed to VHD when booted lists its ARC path as ....vdisk(0)partition(1).

Some feedback from computers with more than one disk (scsi,ata) would be useful (test purpose) -
screenshot of Disk Management + utility output please.

The overall algorithm for manual ARC path creation is:
disk order, partition order (primary partitions counted first, "foreign" partitions counted).
  • Brito likes this

#2 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 22 March 2012 - 06:19 PM

....(needs .NET 2.0).....

:ph34r:

Otherwise nice idea. :thumbsup:

Just for the record Winobj:
http://technet.micro...ernals/bb896657
(if it runs on Windows 8) should give the same kind of info (only in a 450 Kb program that needs not .Net) though not "directly".

:cheers:
Wonko

#3 boyans

boyans

    Newbie

  • Members
  • 13 posts
  • Interests:Music
  •  
    Bulgaria

Posted 22 March 2012 - 08:55 PM

same kind of info though not "directly"

winobj info:
drive links to volume, device links to volume, multi(0).... links to device, - really not "directly". :suda:

only in a 450 Kb program that needs not .Net

winobj last version is over 700 Kb, utility only 29 Kb (but needs .net)
Is .net a curse ? :innocent:

:cheers:
boyans

#4 Wonko the Sane

Wonko the Sane

    The Finder

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

Posted 23 March 2012 - 10:20 AM

EXACTLY what I stated.

Is .net a curse ? :innocent:

IMHO, yes.
*anything* based on .Net is a mass of bloat (not the .exe itself of course, but the actual .Net)
WinObj.zip is 448 Kb, it can be run from within the .zip.

:cheers:
Wonko

#5 omniplex

omniplex

    Newbie

  • Members
  • 12 posts
  •  
    Germany

Posted 04 April 2016 - 07:37 AM

disk order, partition order (primary partitions counted first, "foreign" partitions counted).

Some years later, about "foreign" partitions counted: I had a VHD with Windows 2000 on NTFS starting in sector 64 (for MBR = 1 + unused gap = 2 ... 63). Recently I extracted the NTFS partition from this VHD and inserted it in a new VHD with the partition starting in sector 9 (for MBR = 1 + unused gap = 2 ... 8). Of course I had to change the hidden sector number 63 (hex. 3F) in the first NTFS sector (VBR) to 8 (hex. 8), and I had to change the partition table in the MBR of the new VHD. That worked as expected, the new Windows 2000 VHD could be booted (host OS: Windows 7 Virtual PC), W2K figured out that something changed, and after a reboot all was as it used to be.

Just for fun I created a FAT12 partition in the 7 unused sectors. 1st experiment: Tag it as bootable (I have a dummy FAT boot code telling me when I arrive on a "not really" bootable FAT partition). Interestingly it worked, i.e., Windows 7 Virtual PC can handle a FAT12 with 7 sectors (DISKPART.exe hates it). 2nd experiment: Tag W2K as bootable. That failed until I updated the ARC-path, because NTFS was now the 2nd partition. After that it was okay, and W2K chkdsk.exe claimed that the FAT12 partition is "good". It even had a Recycle bin subdirectory with a desktop.ini and 2 of 7 sectors still free (1 VBR +1 FAT +1 root dir +1 bin dir +1 desktop,ini = 5), but otherwise unusable (Windows NT hates tiny FAT partitions and VHDs with less than 17 sectors).

3rd experiment: C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows 2000..." /cmdcons That failed, because the BOOTSECT.DAT still contained the old hex. 3F (63) instead of the new 08 offset. After I fixed that it worked. 4th experiment: I captured the "start tiny FAT" MBR in a FAKEBOOT.DSK and added a boot entry for it in the BOOT.INI on the NTFS partition: C:\FAKEBOOT.DSK="Fake Boot"

Finally I removed the tiny FAT partition in the MBR, and reset the ARC number to 1st partition in BOOT.INI:

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="W2K Pro SP4 /sos /bootlog" /sos /bootlog
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows 2000..." /cmdcons
C:\FAKEBOOT.DSK="Fake Boot"

Caveats: The "extract NTFS partition from VHD and put into another VHD at another offset" recipe is not supposed to work with newer Windows versions, at some point the "activation technologies" and "genuine advantage" will whine if something is too different. I only tried it because I want my stuff to be ready for 512e (4K sectors emulating 512), and because I considered to create a DOS FAT partition in the 2047 unused sectors after the MBR on my physical hard disk. After the W2K experiments I'm almost sure that this would cause havoc, the BCD stuff also counts partitions, like the old ARC stuff, and I think (untested) primary partitions are counted by their physical position, not by their MBR partition table entry number.


Edited by omniplex, 04 April 2016 - 08:04 AM.






Also tagged with one or more of these keywords: boot.ini, boot xp, ntldr

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users