Jump to content











Photo
- - - - -

ARC-Path Quiz


  • Please log in to reply
29 replies to this topic

#1 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 16 January 2008 - 05:25 PM

Welcome to the Arc-Path Quiz, where you can win points for guessing the right ARC-Path! :D

We search for the ARC-Path (as in boot.ini) to a Folder, let's call it simply 'Windows', which is located on a CD-ROM-Drive, which is connected to the secondary IDE port as Master.

Already filed in solutions (which were wrong! :D ):

- multi(0)disk(0)rdisk(2)partition(0)\WINDOWS="Secondary Master"
- multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="Secondary Master"
- C:\WINDOWS="Secondary Master"
- \WINDOWS="Secondary Master"
- cdrom(0)\WINDOWS="Secondary Master"
- no boot.ini


Happy quizing! :D
:thumbsup:

#2 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 16 January 2008 - 09:11 PM

multi(0)disk(0)rdisk(0)partition(1)		= "Primary Channel, C:"

multi(0)disk(0)rdisk(0)partition(0)		= "Primary Channel, System Partition"

multi(0)disk(0)cdrom(%u)				   = "CD-ROM, Variable"

ramdisk(0)								 = "RamDisk"

net(0)									 = "Network"

multi(0)disk(0)fdisk(0)					= "Diskette A:"

multi(0)disk(0)rdisk(1)partition(0)		= "Secondary Channel, Partition 0"

multi(0)disk(0)rdisk(1)partition(%d)	   = "Secondary Channel, Variable Partition"

multi(0)disk(0)rdisk(1)partition(1)		= "Secondary Channel, Partition 0"

multi(0)disk(0)rdisk(0)partition(%d)	   = "Primary Channel, Variable Partition"

multi(0)disk(0)fdisk(1)partition(0)		= "Diskette B:, Partition 0"

multi(0)disk(0)fdisk(0)partition(0)		= "Diskette A:, Partition 0"

multi(0)video(0)monitor(0)				 = "ConsoleOut, Monitor"

multi(0)key(0)keyboard(0)				  = "ConsoleIn, Keyboard"

multi(0)disk(0)fdisk(1)					= "Diskette B:"

eisa(0)disk(0)fdisk(0)					 = "EISA Diskette A:"

eisa(0)disk(0)fdisk(1)partition(0)		 = "EISA Diskette B:, Partition 0"

eisa(0)disk(0)fdisk(0)partition(0)		 = "EISA Diskette A:, Partition 0"

Offtopic:
Windows NT has found only %dK of low memory. 512k of low memory

is required to run Windows NT. You may need to upgrade your

computer or run a configuration program provided by the manufacturer.



Windows NT has not found enough extended memory. 7Mb of extended

memory is required to run Windows NT. You may need to upgrade your

computer or run a configuration program provided by the manufacturer.


#3 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 16 January 2008 - 11:56 PM

Run a few... well a lot of tests :D and we still have no winner. :thumbsup:

Care for a few crazy ntldr oddities?
- When i put ntldr, ntdetect and boot.ini on a CD, i can't even boot a windows at multi(0)disk(0)rdisk(0)partition(1)\WINDOWS from it! :D
- When i run ntldr from HDD and try to boot multi(0)disk(0)cdrom(0)\WINDOWS, the floppy is accessed several times before i get told, that no hal.dll can be found. :D
All other values for cdrom() bring the error that the media can't be found.

;)

#4 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 January 2008 - 12:18 AM

Weird. SetupLDR does it.

Try

Multi(0)Disk(0)Cdrom(950)

#5 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 12:22 AM

I know!
Came finally up with the idea to rip the arc-path from a bootet pe.
It reads multi(0)disk(0)cdrom(239)
No idea were the 239 comes from, but will post back when i've tried it.
So stay tuned! :D

:thumbsup:

#6 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 12:38 AM

Also a no go. hal.dll can't be found, but at least no access to the floppy!
I just don't get it, this one should have worked. The arc-path was taken, after all, fom a successfully bootet PE, so it can't be wrong!
Can it be, that ntldr does not know the parameter cdrom?

:thumbsup:

#7 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 January 2008 - 01:00 AM

Disassemblies of OSLoader and SetupLDR v5.1.2600.2180

Remove them if they are illegal.




#8 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 01:30 AM

Ok, so ntldr should be able to handle arc paths to cdrom, any idea why the §#$% it doesn't?

Ok, what do 'we' learned so far?
- ntldr can start from a CD
- ntldr can read the boot.ini from a CD
- ntldr can not even start a system from multi(0)disk(0)rdisk(0)partition(1)\WINDOWS, if ntldr,boot.in and ntdetect are on a CD
- system just resets whenever an entry is choosen from boot menu, if ntldr, boot.ini and ntdetect are on a CD
- cdrom() parameter uses wierd numbers like 239 or 950 - reason unknown

:thumbsup:

#9 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 January 2008 - 01:47 AM

NTLDR supports 3 digit numbers.

Example

Multi(123)Disk(456)Cdrom(789)

#10 was_jaclaz

was_jaclaz

    Finder

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

Posted 17 January 2008 - 09:11 AM

Another couple semi-random ideas.

Try using -iso-level 3 instead of -iso-level 4 when making the CD.

Be sure to add the /minint switch, maybe another switch is needed? :thumbsup:

The "right" one should be multi(0)disk(0)cdrom(0):
http://board.iexbeta...php/t56901.html

jaclaz

#11 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 12:27 PM

The "right" one should be multi(0)disk(0)cdrom(0):

Yes it should be, but, as posted, it leads to ntldr trying to read from the floppy drive. :thumbsup:

Try using -iso-level 3 instead of -iso-level 4 when making the CD.

That sounds like an interesting idea. Will try. Though boot.ini can be read just fine.?

:D

#12 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 12:29 PM

NTLDR supports 3 digit numbers.

Example

Multi(123)Disk(456)Cdrom(789)

What do you wanna tell me with that aeroxp? That i have 240 cd-drives in my computer? :D

:thumbsup:

#13 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 02:49 PM

If anyone likes to play along.
Threw together a little project which gives you the chance to run some own experiments.
Attached File  ntldr_CD_Test.rar   9.38KB   291 downloads

:thumbsup:

#14 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 06:06 PM

Another couple semi-random ideas.

Try using -iso-level 3 instead of -iso-level 4 when making the CD.

Just tried that. Result: CDBOOT: Couldn't find NTLDR. - No idea why!

:thumbsup:

#15 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 January 2008 - 10:30 PM

Some more facts, for those who care.

If the arc path leads to an actually existing disk/partition but XP can't be bootet the error is :
<Windows root>\system32\hal.dll not found
This goes also for multi(0)disk(0)rdisk(0)partition(0) as long as multi(0)disk(0)rdisk(0) exists!

If the named disk/partition does not exist the error is something like: datastorage misconfiguered and not found.

With the parameter cdrom in the arc path, one never gets: datastorage misconfiguered and not found! :thumbsup:

Still no explaination why all cdrom(x) creates access to the floppy.
Only cdrom(xxx) do not create access to the floppy. (Is this now good or bad?:D )

:D

#16 thunn

thunn

    Silver Member

  • .script developer
  • 531 posts
  • Location:Brooklyn, New York
  • Interests:computers<br />mechanics<br />distortion<br /><br />
  •  
    United States

Posted 08 March 2008 - 09:58 PM

This is a very important topic to keep in mind.
Thanks for the ideas posted so far, good stuff!

The path to cdrom(???) is what I was double checking today.
It appears you found a solution (ur pm), but it may or may not apply to another nt build.
I want to dual boot from cd with only windows files. Why not?
The postings were helpfull to read. :(
We'll see how it goes. :)
-t

#17 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 October 2008 - 06:11 PM

Extremely large bump, but a PE built from XP SP2 Checked says this in qEmu.

ARCPath => multi&#40;0&#41;disk&#40;0&#41;cdrom&#40;240&#41;

Here's some pseudo code about how it generates the odd CD ARCs.
if &#40;!BootLoaderMnemonicFind&#40;BootDevice,		  // Find the boot device

								&#34;cdrom&#34;,			 // generate ARC Path

								&BootDriveNumber&#41;	// generate ARC Path


#18 was_jaclaz

was_jaclaz

    Finder

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

Posted 17 October 2008 - 06:20 PM

It's still something that needs to be cleared, so the bump was a good thing. :cheers:

From the last couple of messages it seems like Medevil and thunn know more that what has been posted. :cheers: Or was the game abandoned? :confused1:

jaclaz

#19 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 17 October 2008 - 07:31 PM

Sorry, even after reading the thread again, i can't remember what thunn might be referring to.
The only piece of info which i remember and is not posted here is the use of several boot.ini entries each with a different cdrom(???). There can be 8.

Else: Topic was abandoned because it's initial goal could not be reached without fixing ntldr. Ironicly the reason for this quest was, to find a way to have a different folder than i386 without fixing setupldr, as well as gaining access to the /Kernel and /HAL parameters.

btw. A way to set the %systemroot% to any folder name one wishes, without the need to fix a file has been found in the mean time and is part of NaughtyPE.

:confused1:

#20 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 18 October 2008 - 04:22 AM

I'll post it in non script form.

Make a folder named Windows in your Target Directory.
Copy everything to the Windows folder.
Remove everything in i386 EXCEPT setupldr.bin,ntdetect.com,txtsetup.sif.

In txtsetup.sif, under [SetupData], write
BootPath=\Windows\System32\


#21 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 04 July 2009 - 10:51 PM

I got it!

multi(0)disk(0)cdrom(224) - CD on Primary Channel
multi(0)disk(0)cdrom(239) - CD on Secondary Channel

#22 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 04 July 2009 - 11:15 PM

You've got what?

:lol:

#23 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 04 July 2009 - 11:22 PM

Arc Paths for CD-ROM devices.

#24 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,763 posts

Posted 04 July 2009 - 11:42 PM

Yes, but those change from machine to machine. So what's the point?

:lol:

#25 was_jaclaz

was_jaclaz

    Finder

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

Posted 05 July 2009 - 06:37 AM

Out of topic, but not much :lol:, and since the topic was revived, it seems like there is a provision for floppy disks too:
http://www.911cd.net...showtopic=22716
(nothing working, but maybe something that can lead to something else)


Has someone been succesful in booting Windows XP (Embedded) from USB stick seen as FDD?

Update 1: I changed path in boot.ini to "multi(0)disk(0)fdisk(0)\WINDOWS". Now NTLDR says that "<Windows root>\system32\hal.dll" is missing or corrupt - it seems that the boot process from USB-FDD finally started!

Update 2: I copied the entire WINDOWS folder to USB stick. But the message about missing or corrupt hal.dll was still there. Then I deleted WINDOWS folder, manually created it, created system32 subfolder and copied hal.dll and ntoskrnl.exe ONLY. Now the booting process goes one step further - it shows "zebra" strip and then says "Windows could not start because of an error in the software. Please report this problem as: load needed DLLs for kernel". It's OK - there were no DLLs yet. The copying of entire folder contents does not help - Windows still cannot find needed DLLs. I believe it's the same problem as when it couldn't find hal.dll if the entire folder was copied.


Meanwhile, I made NTLDR boot XP Embedded to a certain stage. It seems that arcpath in BOOT.INI should read "multi(0)disk(0)fdisk(0)" when USB is seen as FDD (superfloppy).


;)

jaclaz




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users