Boot Windows PE (ntldr-based) into RAM using WIM

advanced tricks for Windows

Moderators: continuum, joakim, JFX

Boot Windows PE (ntldr-based) into RAM using WIM

Postby triplexxx » Fri Oct 22, 2010 11:02 pm

Hallo!

I have read Joakim's instruction (http://sanbarrow.com/phpBB2/viewtopic.php?t=1695) multiple, but I don't get along with it, and therefore I don't get to work my ntldr-based Windows PE to boot from a WIM-File into RAM.
My Windows PE (based on Windows XP SP2) has the following folders:
- Documents and Settings
- I386
No problem to boot from a UFD in the old way (made a ntldr-based boot-sector on the UFD, renamed I386 to minint, copied setupldr.bin from I386 to the root of the UFD and renamed it to ntldr).
But now I tried to boot this Win PE with bootmgr and a WIM-File (like the bootmgr-based Win PE do).
I did the following steps:
1. Copied winload.exe and wininit.exe to I386\system32
2. Created a WIM-File (boot.wim) with the boot-flag with the directories Documents and Settings and I386
3. Made the following folders on the UFD: folder "boot" with the files BCD and boot.sdi; folder "sources" with the file boot.wim. Created the follwing BCD-File
Image
When I boot from the UFD (USB Flash Drive) now, the Boot-Manager shows the Boot-Menu. When I select the entry "ERD Commander", it says "Windows is loading files..." and then stops with the error:
File: \I386\system32\config\system
Status: 0xc000000f
Info: Windows failed to load because the system regitry file is missing, or corrupt. :?

What I noticed: ;)
When I boot from UFD a ntldr-based Win PE, the os makes the following assignment:
C:\ Hard Disk Drive
D:\ Optical Drive
X:\ USB Flash Drive
When I boot from UFD a bootmgr-based Win PE, the os makes the following assignment:
C:\ Hard Disk Drive
D:\ Optical Drive
E:\ USB Flash Drive
X:\ Structe of BOOT.WIM

What do I make wrong?

Thank's for help in advance!
triplexxx
 
Posts: 3
Joined: Fri Oct 22, 2010 10:22 pm

Re: Boot Windows PE (ntldr-based) into RAM using WIM

Postby joakim » Sun Oct 24, 2010 4:00 pm

That is because the longhorn version of bootmgr/winload can not boot nt5 based PE. It can only boot non-PE (ie complete XP system). Sorry, it's been quite a while since I did this. I must find the stuff first and report back how it was configured for PE. But I'm fairly sure you will need setup.ldr (as patched by Nikzzz), along with a proper winnt.sif.

Joakim
joakim
 
Posts: 25
Joined: Wed Sep 29, 2010 7:12 am
Location: Bergen in Norway

Re: Boot Windows PE (ntldr-based) into RAM using WIM

Postby joakim » Sun Oct 24, 2010 4:24 pm

Here's the content of one of my old winnt.sif files;
Code: Select all
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions="/fastdetect /minint /rdimageoffset=8192 /rdimagelength=3161088 /rdpath=\I386\BootSDI.wim"


Joakim
joakim
 
Posts: 25
Joined: Wed Sep 29, 2010 7:12 am
Location: Bergen in Norway

Re: Boot Windows PE (ntldr-based) into RAM using WIM

Postby triplexxx » Sun Oct 24, 2010 6:24 pm

Hallo Joakim!

Thank you very much for your reply!

I tried to follow your instruction from http://sanbarrow.com/phpBB2/viewtopic.php?t=1695, where you wrote
"For general PE usage (MOA etc)
To boot NT5.x PE's the wim-way, you need the patched etupldr.bin that supports wimbooting, in addition to fbwf.sys/wimfltr.sys and the patched ramdisk.sys and wimfsf.sys already mentioned. Inside the WIM you will need to put boot.sdi at the root directory. Apply the registry patch as well. Mark WIM as bootable and use max compression. At the root of the cd (iso) you should have 5 files with structure like this; ..."


I did the follwoing steps:
1.) Made a new folder "erd" and expanded my ISO containing my setupldr-based Win PE (ERD Commander, it's based on Windows XP SP1 NOT SP2 like I wrote in my 1st post). The folder structure looks like this:
- Documents and Settings
- I386
2.) Downloaded the necessary files from here: http://sanbarrow.com/phpBB2/viewtopic.php?t=1694
3.) Patched setupldr.bin, ramdisk.sys and wimfsf.sys. When I have pacthed these 3 files, they have the same hash like the files in your package "wimboot_unixp_drivers.rar"
4.) Copied ramdisk.sys, wimfsf.sys, fbwf.sys and wimfltr.sys (these two files from you packkage "wimboot_unixp_drivers.rar") to I386\system32\drivers
5.) Copied winload.exe and wininit.exe to i386\system32
6.) Copied boot.sdi to erd: erd\boot.sdi
7.) Made the bootable WIM
8.) Made winnt.sif like you told me
9.) The structure of my UFD looks like this now:
- winnt.sif
- setupldr.bin (original)
- BOOT\BCD
- BOOT\BOOT.SDI
- i386\ntdetect.com
- i386\setupldr.bin (patched one)
- Sources\boot.wim

In your instruction you write to apply the registry patch. :?: There is no registry on my ISO ... Am I wrong?

When I boot from the UFD, I get the same error like I wrote in my first post ...

Any ideas?

Thank you!

triplexxx
triplexxx
 
Posts: 3
Joined: Fri Oct 22, 2010 10:22 pm

Re: Boot Windows PE (ntldr-based) into RAM using WIM

Postby JFX » Tue Oct 26, 2010 9:17 pm

Hi triplexxx,

Code: Select all
File: \I386\system32\config\system
Status: 0xc000000f

means that the file is not available as you have a winpe 1.x there is usually a \I386\system32\setupreg.hiv.

we can try this together, but's not clear to me what exactly you are trying.

There are 2 way's to boot a XP/2003 based system fom a WIM file loaded in RAM.


1. Nikzzzz wimboot (winpe 1.x) project

2. Joakims wimboot (full xp instillation)


ERD Commander is a Winpe 1.x (as far as i know based on 2003 SP1)


which one do you want to build?
JFX
 
Posts: 17
Joined: Thu Oct 14, 2010 5:58 pm

Re: Boot Windows PE (ntldr-based) into RAM using WIM

Postby triplexxx » Thu Oct 28, 2010 12:22 am

Hi JFX!

Thank you very much for your reply!

I have successfully booted a Win PE 1.x (Erd Commander) into RAM using the ISO from it. Because the ISO has more than twice size than a WIM, I thought it is also possible to boot the Win PE 1.x using MS WIM-Technology.

To answer your question, if I want to do 1 or 2: Neither nor. Because Nikzzz Wimboot.script builds a LiveXP using WIM-Technology for booting, Erd Commander ist alrealy built. The challenge is to make a WIM from the ISO and make it able to boot into RAM using setupldr. In the meantime I know, that setupldr is able to load the WIM, but is NOT able to mount it (therefore I got the error from my post #1 here, also the BCD-entry is wrong: I have to use a legacy entry). I have already studied Nikzzzz's Wimboot.script and WinBuilder and how setupldr and some sys-files have to be patched and which changes have to be made to txtsetup.sif and setupreg.hiv to be able to load WIMs. And I think, that exactly these changes the Wimboot-Script does, have to be made to my already built ISO. I have to do it manually. I think this is the way I have to go that my Win PE 1.x is able to boot via WIM-Technology.

I'll report, if it works! I have also made a post regarding the same issue here: http://www.boot-land.net/forums/index.php?showtopic=12828&pid=112125&st=0&#entry112125

Regards
triplexxx
triplexxx
 
Posts: 3
Joined: Fri Oct 22, 2010 10:22 pm


Return to boot Windows into RAM

Who is online

Users browsing this forum: No registered users and 0 guests

cron