Help - Search - Members - Calendar
Full Version: Booting Xp From Ramdisk
The CD Forum > Bart's PE Builder > General
Pages: 1, 2, 3
Kj1
Hi all,

First of all, my excuses for posting this here. But previous topics concerning booting XP into ram were also made here, so..

Anyway, I've read all posts about booting XP(e) into ram, but I don't seem to get there.
I'm trying to boot a reduced version of Windows XP SP2 (not the embedded!, nor an embedded image) from a ramdisk.
Basicly, I want to be able to dual boot between a standaard windows XP(e) installation and a reduced XP, booted from RAM.

These are the current steps I've done, starting from scratch:

- installed XPe SP2 on my primary hdd;
- created a primary partition on a secondary drive; about 1 gig in size.
- Installed Nlite'd windows XP on secondary hdd; took about 600 MB with all drivers & patches installed. NTFS compression made it around 400 MB, reduced partition size to about 480 mb (paging disabled etc). I can boot this windows version if its the primary hdd, so bootsector & bootloader are installed on the second hdd. (So on this windows my C: drive is the nlited version, d: is the XPe windows)
- Switched back to my XPe drive, where d: is the nlited version. There, I create a SDI image of the D: partion, with following commands:
cscript "C:\Program Files\Windows Embedded\utilities\SDIMgr.wsf" c:\winnl.sdi /new
cscript "C:\Program Files\Windows Embedded\utilities\SDIMgr.wsf" c:\winnl.sdi /readpart:d:
So, winnl.sdi is around 480m in size.
- Added following line to my boot.ini on the XPe windows (wich is the default OS on my system):
ramdisk(0)\windows="XP RamDisk" /rdpath=multi(0)disk(0)rdisk(0)partition(1)\winnl.sdi /rdimageoffset=4096
- restarted; in bootmenu selected XP RamDisk; image loads in memory, XP Nlited starts to boot!
Offcourse, while 1 second loading winlite, BSOD - 0x0000007b .

I did not change anything except the things mentioned above, so no custom ntldr or other stuff.

Allright, I was kinda glad it showed me the winXP logo and the loading bar. But I can't fix the BSOD,
so any suggestions would be most apreciated smile.gif

Some things I tried, that didn't help:
- Injecting the blob & load in the sdi image as described in the msdn article:
cscript "C:\Program Files\Windows Embedded\utilities\SDIMgr.wsf" c:\winnl.sdi /import:BOOT,0,startrom.com
cscript "C:\Program Files\Windows Embedded\utilities\SDIMgr.wsf" c:\winnl.sdi /import:LOAD,0,ntldr
After loading the sdi image; I got an error "cannot find <windir>\system32\ntkrnl32.exe"

- using the boot.ini described on msdn on my nlite installation:
[boot loader]
default=ramdisk(0)\WINDOWS
[operating systems]
ramdisk(0)\WINDOWS="Windows From RAM" /fastdetect
No change.

- installing the XPe tools on the nlite partition

- installing RAM disk driver (from windows 2k3 SP2) on the XP nlite (didn't change anything)


Right; so I've got a few other options but i don't really know where to start or why:
- using ntldr, ntdetect and other files from Windows server 2003 SP1 (but where should I place them?)
- Installing other ram disk driver (eg is there one from XPe that I could use?)
- Installing the ram disk driver not via "add hardware" but ..?
- set xp lite to use only 1.5 gig mem (/maxmem).
...?

Any ideas welcome!


Thnx in advance,
Kj
euhenio
Hi Kj1
I cannot tell your mistake, but it should work.
Mine image Nlite'd 128 MB (ntfs compression with minlogon) is loaded and works! (~15s)
While I no have time to study it.
Continue your attempts to receive success!
pavel
QUOTE
- using ntldr, ntdetect and other files from Windows server 2003 SP1 (but where should I place them?)

Difficult to help you, but I think the problem is with incorrect version of ntldr -or- ntdetect.com - or some important file(s). My only help is: try to read XP Embedded Help...

Pavel
Kj1
QUOTE (pavel @ Dec 24 2006, 12:37 AM) *
Difficult to help you, but I think the problem is with incorrect version of ntldr -or- ntdetect.com - or some important file(s). My only help is: try to read XP Embedded Help...

Pavel

I'll do that, tnx. I've tried some combinations; but i didn't get really far. (errors like 'some system file could not be found')

BTW if a ramdisk is loaded in the memory via ntldr; what driveletter is it assigned?
A/B/C?
If its c, Could that create conflicts with my other hdd's?
euhenio
Ramdisk mounting as "C:"
pavel
Maybe this can help you: http://www.xpefiles.com/viewtopic.php?t=252&

Pavel
hilander999
QUOTE
- Added following line to my boot.ini on the XPe windows (wich is the default OS on my system):
ramdisk(0)\windows="XP RamDisk" /rdpath=multi(0)disk(0)rdisk(0)partition(1)\winnl.sdi /rdimageoffset=4096
http://www.911cd.net/forums//index.php?s=&...ost&p=77683

QUOTE
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=WINPE.SDI"


I did not read this thread in detail, but from a quick look you seem to have the wrong offset.

Try using some different combinations in your file, but the magic number seems to be 36352.
Kj1
QUOTE (pavel @ Dec 24 2006, 09:49 PM) *


Its about an sdi created by Target Designer for XPe. I don't use target designer nor XPe (as 'target') , but a fresh installation of XP. Maybee its just impossible for XP to boot completely on ramdisk? XPembedded was partly designed for exactly that...

QUOTE (hilander999 @ Dec 24 2006, 10:57 PM) *
I did not read this thread in detail, but from a quick look you seem to have the wrong offset.
Try using some different combinations in your file, but the magic number seems to be 36352.


Nope, didn't work. Got errors like ntoskrnl.exe could not be found etc. 36352 seems however the right number for booting PE in ram from usb key. (tried that before).

No luck either with other versions of ntldr.
Using the bart PE boot method (winnt.sif; ntldr from server 2k3, etc) i got the error txtsetup.sip not found.
using this winnt.sif:

CODE
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\I836\SYSTEM32\"
OsLoadOptions = "/rdimageoffset=36352 /rdpath=WINPE.SDI"


However, got a few questions there:
bootpath: is it the path to the bootfiles from the ramdisk; or the path to the files for loading the sdi in memory? (tried using windows\system32; or just \ )
Can I create a bootlog of the boot proces (see first post) where I get the BSOD (on another drive that is)?
hilander999
Check your syntax here.....

QUOTE
[SetupData]BootDevice = "ramdisk(0)"
BootPath = "\I836\SYSTEM32\"
OsLoadOptions = "/rdimageoffset=36352 /rdpath=WINPE.SDI"

Looks like a common typo.

Should be I386 and filecase may also be an issue depending on how you are building the sdi image you may need to uppercase system files for this method to work.
Kj1
QUOTE (hilander999 @ Dec 26 2006, 12:16 AM) *
Looks like a common typo.

Crap, my bad.
Didn't work either tho.
I'm trying now to get it to work with the boot.ini; its faster in loading the image then using the PE method.

i'll let you know if i get it to work smile.gif
pavel
I have an experiance, when using
CODE
/rdpath=WINPE.SDI

The filename MUST be WINPE.SDI, not WinPE.sdi -or- WINPE.sdi -or- ... so on.

Pavel
jaclaz
Too bad. sad.gif

I wanted to buy a copy right now, even before trying it, since you are so convincing, but look what I have found by pressing the "Buy" button:
http://www.disklessangel.com/modules.php?name=buy
QUOTE
Sorry, this Module isn't active!


...or maybe it isn't selfpromotion of Commercial software? blink.gif

jaclaz
Ed_P
Typical marketing type. Sell the product, let manufacturing or technology catch up later. Same with the web designer, that wasn't the only page that isn't active.

I thought the posting was SPAM until I visited the link. biggrin.gif
Kj1
intresting. thought it was spam too. I'll check it out, thanks.
After my exams, i'll post my results here smile.gif
(and i'll maybee check how it works exactly and post the method here - should be intresting to be able to bypass the 500mb image limit)
euhenio
Kj1

My work should you assist http://euhenio.mam.by/ (testing).
I apologize - while only Russian.
bilou_gateux
QUOTE (pavel @ Dec 26 2006, 02:01 PM) *
I have an experiance, when using
CODE
/rdpath=WINPE.SDI

The filename MUST be WINPE.SDI, not WinPE.sdi -or- WINPE.sdi -or- ... so on.

Pavel


Although i have currently only partial success, i can confirm that if you UPPERCASE the filename of your SDI file and UPPERCASE the filename in boot.ini, it does the job
I can also put the SDI file in a subdir of my root like 3rd entry in my boot.ini below:
CODE
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="disk(0)rdisk(0)partition(2) ACPI HT" /fastdetect /noexecute=AlwaysOff /HAL=halmacpi.dll /kernel=ntkrnlmp.exe
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="disk(0)rdisk(0)partition(2) ACPI Uniprocessor" /fastdetect /noexecute=AlwaysOff /HAL=halaacpi.dll /kernel=ntoskrnl.exe
ramdisk(0)\windows="Embedded RamDisk" /rdpath=multi(0)disk(0)rdisk(0)partition(2)\RECOVERY\WEPOS.SDI /rdimageoffset=4096


During the boot process, initial loading Ramdisk image do the job but i have an error:
QUOTE
Windows could not start because the following file is missing
or corrupt
\windows\SYSTEM32\CONFIG\SYSTEM

mad.gif

I'm posting now from this HDD partition(1) Windows installation used to build the SDI disk image so i'm sure my registry files are not corrupted on the source. Maybe there is an issue when i copy the source to destination SDI with Windows Explorer. I will try to use professional tools (like robocopy) to make the copy step.
jaclaz
QUOTE
I will try to use professional tools (like robocopy) to make the copy step.


FYI:
http://www.microsoft.com/technet/technetma...ult.aspx?loc=en
http://download.microsoft.com/download/f/d...ight2006_11.exe


jaclaz
bilou_gateux
Thanks Jaclaz for your input but i won't use this utility because

.NET framework 2 is required to run it and i feel stupid to install 80 Gb of crap on my windows system for a little command line utility.

Maybe the issue i have is not related to file copy because i have now copied all the partition with robocopy.

But i use a NTFS compressed SDI disk image and uncompress \windows\SYSTEM32\CONFIG\SYSTEM folder. Could it be the issue? I have to make more Trial and error rolleyes.gif
jaclaz
QUOTE (bilou_gateux)
Thanks Jaclaz for your input but i won't use this utility because

.NET framework 2 is required to run it and i feel stupid to install 80 Gb of crap on my windows system for a little command line utility.


Yes, I feel exactly the same smile.gif, I would never install .NET just to run a few utilities, but generally speaking, a "development" machine usually has it installed anyway....

...maybe it runs also with the reduced .NET subset you need to have anyway if you use nlite.


jaclaz
euhenio
MobileOS quick install guide
Original site http://euhenio.mam.by

MobileOS not support 2048 bytes sector usb-flash disk

required ramdisk.sys and ntldr of Microsoft Windows Server 2003sp1
modified grub.exe (mended internal menu) , syslinux.cfg , boot.ini , MobileOSregPatch.reg download http://euhenio.mam.by

-- Fill with zeros of 100 first physical sectors usb-flash disk
pull out and insert him
-- Format in explorer usb-flash disk filesystem fat
-- install syslinux on usb-flash disk(should will appear ldlinux.sys)

-- exempt disk C
-- install XP on disk C (use nLite ) to default folder (WINDOWS)
-- copy ramdisk.sys to C:\WINDOWS\SYSTEM32\DRIVERS
-- run regedit and load C:\WINDOWS\SYSTEM32\CONFIG\SYSTEM as "sys"
-- run MobileOSregPatch.reg , click "Yes"
-- reload regedit and unload "sys"
-- create virtual disk.Filesystem - ntfs,compression - on,indexing - off
-- copy three folders (windows,programs folder,settings and documents folders ) to virtual disk
-- save virtual disk image as RAM.IMG (boot sector ntfs should be sector 0 and pre-last sector)

-- copy to usb-flash disk: syslinux.cfg , grub.exe , ntldr , ntdetect.com , bootfont.bin(for non english version), boot.ini , RAM.IMG
bootfont.bin and ntdetect.com find in installation CD


I am going to provide loading from CD and USB-ntfs-compressed(I think it will be possible soon )


MobileOS is the convenient appellation and nothing more
euhenio
MobileOS - support all bootable devices (based on grub4dos)

metod A
-- create second virtual disk . Filesystem - fat16 . Size = first disk + 640k
-- copy to virtual disk : ntldr , ntdetect.com , bootfont.bin , boot.ini , ram.img
-- save virtual disk as forgrub.img
-- copy forgrub.img to bootable device

menu.lst include

title mobileos
map --read-only [bootable device]/forgrub.img (fd0)
map --hook
chainloader (fd0)/ntldr


metod B (amputate system ram = all - forgrub.img)
-- create second virtual disk . Filesystem - fat16 . Size = first disk + 640k
-- copy to virtual disk : ntldr , ntdetect.com , bootfont.bin , boot.ini , ram.img
-- save virtual disk as forgrub.img
-- gzipped compress forgrub.img as forgrub.imz
-- copy forgrub.imz to bootable device

menu.lst include

title mobileos
map --mem [bootable device]/forgrub.imz (fd0)
map --hook
chainloader (fd0)/ntldr


My forgrub.img has the size 96Mb (and it not a limit), that does not affect loading with 256Mb ram


Original site http://euhenio.mam.by (Russian)
jaclaz
euhenio,
really, don't take this badly smile.gif , but it is impossible to understand your posts, you give as already established some methods or programs which you do not make any reference to, and your English appears to use some words improperly, for example:

QUOTE (euhenio)
(amputate system ram = all - forgrub.img)

to amputate in English means:
http://medical-dictionary.thefreedictionary.com/amputate
QUOTE
To cut off a part of the body, especially by surgery.

and the whole quoted paragraph does not make sense, at least to me.

I have the impression that there is very good info on your page and posts, but as they are I find them incomprehensible.

I posted on boot-land.net where a few Russian members I know speak (write) a very good English a help request into translating your page, but had no reply till now.

You sure you don't have a friend that can help you with the English?

jaclaz

EDIT: Oleg_II replied here:
http://www.boot-land.net/forums/index.php?...ic=1145&hl=

In a few days we should be able to get somewhere.
euhenio
Yes, I really badly know english

However, I hope that you understand it

Also I hope, that you very well understand what I inform

I the cheerful person and at me good sense of humour

You me gladden - thanks you
scankurban
Translated version of "http://euhenio.mam.by/"

http://translate.google.com/translate?u=ht...-8&oe=UTF-8
Dietmar
Hi all,

I make a try with that Google translation of the Tutorial from Euhenio from russian to english language for XP ram boot.

Hope, that I understand all, please correct me smile.gif :


You need from Windows Server 2003sp1 : ntldr and ramdisk.sys, copied at their right places.

You need Syslinux.

You need MobileOS, that is some kind of clone of Grub4dos.

You need a ramdisk, RAMDisk Enterprise version 5.3.1.6b (is Qdisk from Christiaan) seems to be the best choice.


In a brandnew XP installation you change its registry with MobileOSregPatch.reg.
You put all the folders of that XP to a ramdisk, and save the contend of that ramdisk as for example XP.img .

You copy this XP.img to an USB stick (or other medium) with Syslinux boot mbr.
Syslinux loads XP.img to ram (via RAMDisk Enterprise or Memdisk from Syslinux? ).
The reboot from XP in ram happens then via MobileOs (Same syntax as Grub4dos) and the ramdisk.sys driver from 2003sp1 .

Nice to hear from you,
Dietmar


PS: This would be indeed a very good solution for ram boot,
because Vista can handle more than 128 GB ram, and that RAMDisk Enterprise can do this too.
euhenio
MobileOS http://euhenio.mam.by/ updated

ntldr (Windows Server 2003sp1) is not needed

For testing , you needed boot.ini and RAM.IMG(include ramdisk.sys and MobileOSregPatch.reg)

MobileOS is the convenient appellation and nothing more , is not some kind of clone of Grub4dos

For building RAM.IMG , will be compatible filedisk or SDI disk(better)



Dietmar , your work (http://www.911cd.net/forums//index.php?showtopic=14181) has given me of what i dreamed. But i wish more !
jaclaz
@scankurban

With all due respect, do you think that no one here thought about google or systran translations? blink.gif

I find it offensive mad.gif , unless you can tell me what this means:
QUOTE (Google translation by scankurban)
-- Perezagrujaem the Registry Editor and wygrujaem bush (single HKEY_LOCAL_MACHINE \ sys and are in the menu "File").


However, thanks to Alexei and HighwayStar at boot-land, we have a much better start:
http://www.boot-land.net/forums/index.php?...ic=1145&hl=

jaclaz
scankurban
QUOTE
I find it offensive , unless you can tell me what this means:

QUOTE(Google translation by scankurban)
-- Perezagrujaem the Registry Editor and wygrujaem bush (single HKEY_LOCAL_MACHINE \ sys and are in the menu "File").


Please ask the author or translate for us.Thank you...
jaclaz
QUOTE (scankurban)
Please ask the author or translate for us.Thank you...


Done, we were cross-posting.....smile.gif

QUOTE
However, thanks to Alexei and HighwayStar at boot-land, we have a much better start:
http://www.boot-land.net/forums/index.php?...ic=1145&hl=


jaclaz
dennis123123
Well... I have been working with this for the few days its been up, and ill have to say....it works!!! hehe laugh.gif

My method, chopped and changed from translations, own experience, and systran rolleyes.gif

1. In VMWare, make a new installation of a nice small NLited windows install. Replace the IDE and all other drivers to Generic, to make it a universal xp! And do not have pagefile, or hibernate
2. use VMWare Mount Tool to make the image a drive letter like V:
3. install filedisk, then type in cmd window:
CODE
filedisk /mount  0 c:\win.img 256M q:
(It will even make you the image hehe!) ^ Change the 256M if you have a big windows directory

4. go in my computer, double click q:, and say yes to format, in NTFS compressed.
5. use Unstoppable copier to copy all of drive V: to drive Q: (vmware -> disk image mounted)
6. unmount the VMWare drive
7. copy the windows server 2003 (the trial version will do fine) of the ramdisk.sys, and NTLDR to drive Q:\windows\system32\drivers\ramdisk.sys and Q:\NTLDR and also the NTLDR to the boot drive of the RAM boot XP, so the USB for example.
8. start>run>regedit then mount the hive SYSTEM of the Q:\ drive, as "sys"
9. apply reg patch ...here...
10. unload the hive SYS
11. unmount the image, Q:, using
CODE
filedisk /umount q:

12. Modify boot.ini on boot drive, to add:
CODE
ramdisk(0)\WINDOWS="RAM Boot XP" /rdpath=\win.img /fastdetect /SOS /BOOTLOG

13. copy c:\win.img, NTLDR from 2003sp1, NTDETECT.com and boot.ini to boot drive
14. Reboot PC and enjoy RAM-Boot Full XP! laugh.gif tongue.gif laugh.gif
pavel
@ dennis,

YOU ARE THE MAN!

QUOTE
Replace the IDE and all other drivers to Generic

Could you add more info, please? How-to do it?

Regards,
Pavel
dennis123123
-Double click the device in device manager,
-click Driver tab,
-click update driver,
-click Install from list...,
-click Do not search - let me pick,
-and install the standard one, instead of, say, VIA IDE Controller, pick Standard IDE Controller smile.gif

and restart the PC when they are all done, or you will be there forever ohmy.gif

Here you go, click this:



A few more pointers...

1. It would NOT work for me without Server 2003 SP1 NTLDR, i got a "could not find ramdisk yadaa yadaa..."
2. I cannot see the use of the grub4dos or syslinux, these were not needed by me
3. My motherboard needs a drive seen as a "Fixed Disk" by windows for USB boot, eg a 2.5 laptop hard drive, it would not work with a USB key drive, which is a "Removable Device" - i dont know if thats just my old motherboard biggrin.gif
4. The windows standard ramdrive is fine, QSoft shareware one is definitely Not needed
5. I used all free software, which are hyperlinks in my original post for everything I used, hope this is of some help to some people who keep asking people like Dietmar "gief me some modified ntdetect plz" smile.gif
pavel
@dennis,

thank you! Your explanation is clear. It is e-a-s-y, i can't believe it :-) Many thanks man.

Pavel
pavel
@dennis123123

Maybe i misunderstand anything. Could it be booted of internal hdd or of usb-external only?

QUOTE
2. I cannot see the use of the grub4dos or syslinux, these were not needed by me
Not a problem but grub is useful for multiboot solution and i think it could work...

QUOTE
3. My motherboard needs a drive seen as a "Fixed Disk" by windows for USB boot, eg a 2.5 laptop hard drive, it would not work with a USB key drive, which is a "Removable Device" - i dont know if thats just my old motherboard

Are you talking abou motherboard exactly or is the problem with WinXP? I ask because there is a solution make WinXP "think" they are on fixed although they are on removeable.

QUOTE
5. I used all free software, which are hyperlinks in my original post for everything I used

Yes, i have noticed that. Greate work, greate solution(s).

Best regards,
Pavel
euhenio
I am very glad, that someone at this forum could repeat my experience.
I think that, after several similar examples for all members it will be understandable as it to make

In plans MobileOS - creation on the basis of scripts Winbuilder
dennis123123
QUOTE (pavel @ Feb 15 2007, 10:39 PM) *
...
Could it be booted of internal hdd or of usb-external only?
...
...
Are you talking abou motherboard exactly or is the problem with WinXP?
...


It can be booted from either internal HDD or usb, both I have got to work using this method.
The problem for me is just with a very old ASRock motherboard, it does not really like USB boot dry.gif laugh.gif dry.gif



@euhenio

Could you please give me a few pointers in the way of booting this image from a CD/DVD? You say on your website (from translator online biggrin.gif )
QUOTE
MOBILEOS can also be installed on other bootable device that supports SYSLINUX and GRUB4DOS -
к примеру на CD-диск .for example to CD. Об этом я сообщу попозже .That is what I will announce later

Can you make this any more clear at the moment? I would like to help on this matter very much.
euhenio
I have not checked up it, but my friend HighwayStar on forum.ru-board informed on successful loading from CD how if it was HDD
euhenio
Contents of CD:

\I386\NTDETECT.COM
\NTLDR
\BOOT.INI
\RAM.IMG
\BOOTFONT.BIN
\GRLDR.BS (loading)

command:

c
chainloader /NTLDR
boot
dennis123123
QUOTE (euhenio @ Feb 16 2007, 01:36 AM) *
Contents of CD:

\I386\NTDETECT.COM
\NTLDR
\BOOT.INI
\RAM.IMG
\BOOTFONT.BIN
\GRLDR.BS (loading)

command:

c
chainloader /NTLDR
boot


YESSSSSSSSSSSSS! laugh.gif laugh.gif laugh.gif Thankyou so much euhenio and HighwayStar! You and you're friend are geniuses! this is fantastic and works 100%. Full XP booting from DVD into ram wink.gif

by the way, anyone else trying this, GRLDR.BS is just GRLDR, and BOOTFONT.BIN is only needed for special languages



EDIT1: I made a patcher program so that GRLDR will autoboot the XP in RAM smile.gif no command lines needed anymore, copy patch to GRLDR directory, and double click it. http://www.megaupload.com/?d=I9T9KHPZ
jaclaz
VERY good! smile.gif

Some semi-random ideas:
1. As you might know, I am very "partial" towards VDK, instead of filedisk, as it is easier to install and one can use my pseudo-GUI for it

2. If you don't use/need multiboot on the CD/DVD, instead of using Grub4DOS or any other "configurable" bootloader, modified to be "fixed" with no choices, one could use the clever trick hinted here:
http://www.911cd.net/forums//index.php?showtopic=19124

I.e. using the standard "Microsoft Corporation.img" or "Arnes Boot Record.img" of XP setup CD's and rename NTLDR as either setupldr.bin or bootfix.bin

3. To limit the amount of RAM needed, what happens if, since the RAMdisk is NTFS, one takes out from it some files and puts them in another .img file, mounted with either filedisk or VDK as a softlink (junction point) and added to PATH?
In other words, do all windows system files and .dll's relly NEED to be in %Systemdir%\ or in %Systemdir%\system32 or some of the can be moved into another folder, say %Systemdir%\mysys32, as long as the folder (actually a junction point to a folder on the other volume) is added to PATH? Anyone ever tried something similar?

I am reallly happy this new method has been found, I think it opens up LOTS of possibilities.

Congratulations to euhenio and thanks to all the people that helped in translations adaptations.

jaclaz
euhenio
Hi All
MobileOS is updated for support bootCD

http://euhenio.mam.by
alexei
Here is my idea (a dream?).

Just for fun of imagining faces of MS lawyers:
- Make a driver that would present original installation CD as hard drive with unpacked files.
- Link those files (via junction points) from NTFS partition that has just a few files on it.
Theoretically, this should allow running of full XP from original CD without installation smile.gif
Such OS would be terribly slow, but it may become a legal precedent that would effectively destroy most of MS EULA tongue.gif

laugh.gif
Alexei
pavel
@jaclaz,

QUOTE
3. To limit the amount of RAM needed, what happens if, since the RAMdisk is NTFS, one takes out from it some files and puts them in another .img file, mounted with either filedisk or VDK as a softlink (junction point) and added to PATH?
Good idea. I have tried this with my ReatogoSDI solution: after boot i make delete some files inside SDI and make junction to (allready repaired) files on VDK virtual disk (files can be on the real disk too).

QUOTE
In other words, do all windows system files and .dll's relly NEED to be in %Systemdir%\ or in %Systemdir%\system32 or some of the can be moved into another folder, say %Systemdir%\mysys32, as long as the folder (actually a junction point to a folder on the other volume) is added to PATH? Anyone ever tried something similar?

I don't know if that folders are good for "redirecting" using junction, maybe there are better folders duch as \Windows\inf, \Windows\help and so on...

Pavel
dennis123123
QUOTE (jaclaz @ Feb 16 2007, 09:55 AM) *
VERY good! smile.gif

Some semi-random ideas:
1. As you might know, I am very "partial" towards VDK, instead of filedisk, as it is easier to install and one can use my pseudo-GUI for it

2. If you don't use/need multiboot on the CD/DVD
....
....
rename NTLDR as either setupldr.bin or bootfix.bin
....



Hi, as for VDK, i tried it, but only filedisk would allow me the creation of the formatted img file, VDK would only access it *after* it had been formatted with filedisk biggrin.gif

for the rename of NTLDR, i will try that, it sounds much better smile.gif thanks!

EDIT1: renaming NTLDR to setupldr.bin, and placing in i386, it works!!
bilou_gateux
QUOTE (dennis123123 @ Feb 15 2007, 09:38 PM) *
Well... I have been working with this for the few days its been up, and ill have to say....it works!!! hehe laugh.gif

My method, chopped and changed from translations, own experience, and systran rolleyes.gif

1st, big thanks dennis!


2nd thanks euhenio! (reg Patch)

some notes from my own trial and error using dennis method + euhenio reg patch + some parts from Windows Embedded SP2:

keep the size of the image under 500 Mb (because of ramdisk driver limit):
CODE
filedisk /mount 0 c:\RAMboot\WEPOS.IMG 490M Q:


you can store the image in a subfolder:
boot.ini
CODE
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=alwaysoff /fastdetect
ramdisk(0)\WINDOWS="RAMboot" /rdpath=\RAMboot\WEPOS.IMG /fastdetect /SOS /BOOTLOG


i have successfully used the regular RAM Disk Driver binary in %SystemRoot%\System32\Drivers
ramdisk.sys - File version 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158) - 20 736 bytes - 02/12/2004 12:00

i have copied ramdisk.inf in %SystemRoot%\inf (not sure if this step is required but this file is present in Windows Embedded runtime image)

however, i have kept ntdetect.com and ntldr from Windows 2003 Server SP1.
Using Windows XP versions of both files above, you may receive an error message that is similar to the following:
QUOTE
Windows could not start due to an error while booting from a RAMDISK.
Windows failed to open the RAMDISK image.


You can leave out boot.ini, ntldr and ntdetect.com from the image, only OS folders:
ProfilesDirectory=%SystemDrive%\Documents and Settings
IIS location=%SystemDrive%\Inetpub
ProgramFilesDir=%SystemDrive%\Program Files
%SystemRoot%=C:\windows

i have done some editing in euhenio reg patch, ie have replaced all:
{052EDE36-BFFF-4AD4-9FEE-5838250CE7AF}
with
{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}
+
i have merged some ramvolume infos into SYSTEM hive (taken from Windows Embedded)

Hope i do not add confusion to newbies.
Do not try to do the same unless you have a lot of time and some skills (and a Windows Embedded runtime image for reference)

Use only dennis and euhenio method for 100% success.
jaclaz
QUOTE (dennis123123)
Hi, as for VDK, i tried it, but only filedisk would allow me the creation of the formatted img file, VDK would only access it *after* it had been formatted with filedisk


Yes, you need another way to create the .img file.

As suggested by Highwaystar you can use the app from Qemu or one of the other methods I posted a link to.

For the record, the image (made by filedisk or by the other utilities) is NOT formatted, it is just a RAW file, of course with the exception of those made by Winimage or mkdosfs.exe, that BOTH create the file and format it.


jaclaz
euhenio
jaclaz

Having taken advantage of your advice MobileOS run over on VDK and DSFOK.
However, what you offer on replacement Winhex?
jaclaz
QUOTE (euhenio @ Feb 17 2007, 03:11 PM) *
jaclaz

Having taken advantage of your advice MobileOS run over on VDK and DSFOK.
However, what you offer on replacement Winhex?


You mean as a FREEWARE hex/disk editor?

There are several good ones, the ones I am partial to are:
http://www.mirkes.de/en/freeware/tinyhex.php
http://www.mh-nexus.de/programs.htm

but also:
http://sourceforge.net/projects/diskeditor/
http://www.kibria.de/frhed.html

I guess it is more a question of personal preferences...

jaclaz
dennis123123
QUOTE (jaclaz @ Feb 17 2007, 10:44 AM) *
Yes, you need another way to create the .img file.

As suggested by Highwaystar you can use the app from Qemu or one of the other methods I posted a link to.

For the record, the image (made by filedisk or by the other utilities) is NOT formatted, it is just a RAW file, of course with the exception of those made by Winimage or mkdosfs.exe, that BOTH create the file and format it.
jaclaz



Yes, but filedisk will show the unformatted drive in My computer, ready to be formatted.

If i use qemu tool to make raw img, VDK mounts it, but its nowhere to be found laugh.gif any ideas on making it show as a "corrupt" drive ready to format, with VDK?
jaclaz
QUOTE (dennis123123)
If i use qemu tool to make raw img, VDK mounts it, but its nowhere to be found any ideas on making it show as a "corrupt" drive ready to format, with VDK?


I cannot say about Qemu tool, but you can try this (using fsz from the DSFOK toolkit):

WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!

You will have to spend some time on this.

fsz C:\test\vdktest.img 160000000

vdk.exe OPEN 0 "C:\test\vdktest.img" /RW

vdk.exe LINK 0 0 J:

(please note how the first 0 is the Virtual Disk Number, while the second one means "mount ENTIRE drive")

You have now a mounted RAW partition image with assigned letter J:

Just double click on drive J: in explorer and you will be prompted to format it, or use directly command line FORMAT on it.

OK, I joked tongue.gif , it won't work, the "stupid" 2K/XP format has some kind of check that won't allow you to format it as FAT16 or FAT32.

But, strangely enough, it will work as NTFS. smile.gif

So you are right, we need some "trick" for FAT16 and FAT32.

Trick #1 (FAT32 only):

Try again with FAT 32 formatter:
http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm

The image will not be bootable, but will nonetheless work OK.

Once it has been formatted as FAT 32, the 2K/XP Format will be able to re-format it as NTFS, but NOT as FAT16 or FAT32.

Trick #2 (having correct geometry):

One problem might be that the resulting image will have the "old" Nx64x32 NT geometry (because VDK, if you don't specify a geometry, defaults to to CHS Nx64x32).

Let's make a new image calculating a correct amount of bytes.

As an example, suppose you want to make a 100 Mbyte image.
1 Kbyte=1,024 bytes
1 Mbyte=1,024 Kbytes=1,024 x 1,024 bytes= 1,048,576 bytes
100 Mbyte=100 x 1,048,576 = 104,857,600
104,857,600/512 bytes/sector= 204,800 sectors

This is somehow not satisfying, as normally a drive under 2K/XP has a geometry of N x 255 x 63, and it is a good "rule" not to have "fractional end cylinders" to be sure of maximum compatibility with various utilities and Operating Systems.

divide 204,800 by 63 and you'll get 3,250.79
divide 3,250 by 255 and you'll get 12,74

So you can choose between an image 12 x 255 x 63 = 192,780 sectors = 98,703,360 bytes
and one 13 x 255 x 63 = 208,845 sectors = 106,928,640 bytes

Let's make the second (delete vdktest.img first):

fsz C:\test\vdktest.img 106928640

Now create a file with notepad with these contents:

CODE
DRIVETYPE      ide
CYLINDERS     13
HEADS        255
SECTORS       63
ACCESS "C:\test\vdktest.img" 0 208845


and save it as vdktest.pln

vdk.exe OPEN 0 "C:\test\vdktest.pln" /RW

vdk.exe LINK 0 0 J:

This can be formatted as NTFS or with FAT32 Formatter, this time with the "right" geometry of Nx255x63


Trick #3 (Make a temporary MBR)

Let's redo the above (delete vdktest.img first):

fsz C:\test\vdktest.img 106928640

vdk.exe OPEN 0 "C:\test\vdktest.pln" /RW

Now get MBRfix:
http://home.graffiti.net/jaclaz:graffiti.net/index.html

And use it to put an MBR on the PHYSICAL DISK (technically a MBR Code is not necessary, all is needed is that "magic" signature 55AA is present at the end of first sector, you can do it with a hex editor).

Now get Beeblebrox:
http://students.cs.byu.edu/~codyb/

Open the PHYSICAL DISK and input following data in entry 1 (Leave ALL others to 0):
Type=06
Bcyl=1
Bsec=1
Ecyl=(Cyl-1)=12
EHd=(Heads-1)=254
ESec=(Sectors)=63
StartSector=63
NumSector=(208845-63)=208782

Unmount, stop and uninstall driver:

vdk.exe REMOVE

Re-start it:

instead of the "accurate" command line:
vdk.exe OPEN 0 "C:\test\vdktest.pln" /RW /P:1 /L:J:

You can use the "automatic" one:

vdk.exe OPEN * "C:\test\vdktest.pln" /RW

The image will be mounted, first partition will be assigned to letter J: (if J: is first available letter).

Now you can format volume J: as FAT16, FAT32 and NTFS at will.

To make a copy of the drive without the MBR:

Use dsfo as follows:
dsfo \\.\J: 0 0 "C:\test\vdktest2.img"

Unmount, stop and uninstall driver:

vdk.exe REMOVE


Remount the new image:

vdk.exe OPEN * "C:\test\vdktest2.img" /RW

We still need to fix a little thing, that can be done with a Hex editor or with this little app:
http://www.roadkil.net/bootbuild.html

i.e. change the number of hidden sectors from 63 to 1.

If you use, instead of beeblebrox, PTEdit32, it can also correct the hidden sectors in the bootsector.

Please note that for "normal" activities, i.e. Copying/Deleting files, etc. the fact that the latter image is mounted with the Nx64x32 geometry instead of the usual Nx255x63 won't make any difference.

If you really need to access it the right way, you need another file vdktest2.pln:
CODE
DRIVETYPE      ide
CYLINDERS     12
HEADS        255
SECTORS       63
ACCESS "C:\test\vdktest2.img" 0 208782


Of course you should adapt size, number of Cyls and Sectors to your needed use....

Hope you get to the end of post with your brain still 100% working wink.gif, don't blame me if not.... ph34r.gif

jaclaz
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2013 Invision Power Services, Inc.