Help - Search - Members - Calendar
Full Version: USB Boot XP Recovery Console
The CD Forum > Bart's PE Builder > USB Booting
gcraw
Hello

After trying many options I found a simple way to USB boot the Xp Recovery Console using PeToUSB.

First create a non-iso Bartpe, then use PeToUSB to create a working bootable stick, no Server 2003 files required.

Then copy the i386 from your xp install cd to a temp folder on the usb.

Boot into Bartpe, navigate to your temp folder and execute> winnt32.exe /cmdcons

Click OK, follow the instructions on the screen to finish Setup, and then restart your computer.

Worked great for me.

You should also be able to use the same setup to install/upgrade XP by executing> winnt32.exe /syspart:C: /tempdrive:C: /makelocalsource
Replace C: with the drive you want to install Windows to.

Cheers
jaclaz
@All
Just to keep things as together as possible, member gcraw posted an identical message on MSFN, here:
http://www.msfn.org/board/USB-Boot-Recover...le-t111986.html

@gcraw
Nice report! smile.gif
Now the question (still unanswered as far as I know) is:
What is the absolute minimum components you need in your BartPE to run winnt32.exe?

Original question dates back to 2006 w00t.gif
http://www.msfn.org/board/Installing-Unatt...8.html&st=6
http://www.boot-land.net/forums/index.php?showtopic=644

But still no takers...whistling.gif

jaclaz
svcguy
Does this install the recovery console to the host pc's hard drive (just like installing it parallel to any Windows install) or does it install to the PE enviornment?

I've been poking around here and the other related boards looking for a quick, clean and simple way to boot to the recovery console from a usb flash drive for repair purposes. Most of the work you guys do (which is awesome) is a little over my head.

This way sounds great but I'm guessing you're left with the recovery console on the hard drive and it's associated boot menu. I'd like to avoid this, if possible, and have a bootable recovery console that I can use to, well, recover stuff and take it away when I'm done, like it was never there.

Any insight would be greatly appreciated.

Andy
gcraw
Hi Andy

No it does not install on the hard drive but in Bartpe on the USb itself. It scans the whole system that it boots into and you can select which installation you wish to perform operations on. Once you have installed the console you can then delete the temp i386 folder - the console only requires 7MB of space on the USB. BTW I used service pack 2.

Once the console has been installed you have to reboot to access it, mine did not give me an option to boot into Bartpe or the console, it went straight into the console- which I was very grateful for given that I had spent the whole weekend trying to recover my system with a faulty CD ROM. But I am sure with some tweaking of boot.ini the choice of boot options could be restored.

Good luck Gary.
jaclaz
@svcguy
You could combine the method by gcraw which is fairly simple, provided you already know how to make a BartPE USB stick with the making of a new bootsector, a small tool is here:
http://www.boot-land.net/forums/index.php?showtopic=2362

Or use the method here:
http://www.boot-land.net/forums/index.php?showtopic=2254
to make a .iso and use the added info coming out from this thread:
http://www.911cd.net/forums//index.php?sho...c=20983&hl=
it's not that difficult, the tricky part is what we are doing after, trying to reduce the size, changing settings, etc., that it is still experimental.

jaclaz
svcguy
@gcraw

Nice exactly what I'm looking for! I'm gonna give that a shot, thanks for your ideas!

@jaclaz

I'm gonna look at those links when I get home from work tonight and see what I can do there. I already have a BartPE USB flash drive. Size has never been a concern whistling.gif , but the stuff that you guys do here is really cool, keep up the good work. Once I read those links, I'll post back with any questions or comments. Thanks.
svcguy
@jaclaz

Do you know the minimum files required from i386 (or a way to find out) necessary to install the recovery console. I'm using a 512MB flash drive and my PE install takes up about 165MB, leaving my only about ~320MB for copying the i386 folder. As you know this is not enough space.

Thanks

Andy
Ed_P
You may temporarily have to minimize the BartPE stuff because
QUOTE (gcraw @ Feb 6 2008, 02:10 AM) *
Once you have installed the console you can then delete the temp i386 folder - the console only requires 7MB of space on the USB.

The WinBuilder projects have some clever options for doing just that.

See http://www.911cd.net/forums//index.php?showtopic=19988
and this one too: http://www.911cd.net/forums//index.php?showtopic=20921
svcguy
Ok, I got a little crafty and just booted into the working BartPE and ran winnt32.exe /cmdcons from another flash drive that has an i386 folder on it already. Seems to have installed the recovery console, except now I have two problems.

1.) Recovery console never acutally starts. It's an option from the boot menu; I select it and I just get a flashing cursor in the upper left hand corner of the screen.

2.) BartPE has disappeared as an option to boot to. I knew this would happen, but I'd like to fix that. However, I don't know enough about how BartPE loads to add it back into the boot.ini

I'm more concerned about the recovery console not loading, as this was my main goal. In the end I'd like to have both the Recovery Console and my BartPE setup as boot options.

Any help is greatly appreciated!

Andy
jaclaz
Andy,
don't take this the wrong way smile.gif, but you cannot expect us to do the work for you, all we are gonna do is taking you where the "knowledge" is, but it remains up to you opening the books and reading them.

READ these:
http://www.boot-land.net/forums/index.php?showtopic=2362
http://www.msfn.org/board/Boot-PE-Hard-Drive-t53366.html
http://www.msfn.org/board/multi-boot-NTLDR-t51016.html
http://www.911cd.net/forums//index.php?showtopic=20089
http://www.911cd.net/forums//index.php?sho...=16980&st=8
http://www.911cd.net/forums//index.php?showtopic=18846

The flashing cursor error is typical of a "wrong" bootsector, the missing of the PE entry can be resolved by re-adding an appropriate entry to BOOT.INI including, possibly, an appropriate bootsector and verifying that all needed files are where they should.

Please try to learn from the linked thread how CMDCONS and PE builds are loaded through NTLDR/BOOT.INI, and if there is something you do not understand feel free to ask here. smile.gif

jaclaz
gcraw
Andy

Was your original Bartpe built with PeToUSB, I was having all sorts of problems, especially with booting until I used PeToUSB.

Note this is not "pe2usb" which comes with the Bartpe download.

Good luck
svcguy
@gcraw

BartPE was built with PeToUSB, not the pe2usb from the BartPE download. Booting wasn't a problem until I introduced the Recovery Console. It's odd that it won't boot correctly since winnt32.exe does all the heavy lifting there. It's possible the fact that I ran winnt32.exe from another flash drive in BartPE might have something to do with it. I'm gonna redo the recovery console to get that to boot. Thanks for the suggestion!

@jaclaz

Thanks for the lead on the bootsector issue. Never intended anyone to spoon feed me the answer, just looking for thoughts as to a possible problem/solution. Which version of your batch file is the best to use in my case. That particular thread is a little hard to follow. Since batch programming/scripting is not my thing I'm actually trying to avoid using your code. The reason being, since I don't really understand the batch, if it works (which I'm sure it will), I won't know why and therefore won't learn anything.

I'm going to install the recovery console alongside a Windows install on a hard disk and use those files to see if I can fix the recovery console on the flash drive, then re-PeToUSB it and see where that gets me.

Andy
svcguy
It seems I may need more help than I think bye2.gif ...

I just can't seem to get anywhere with this little project...

    The goal is to have the XP Recovery Console bootable from flash drive, and BartPE bootable as an added bonus.
    USB Flash Drive is 512MB Kingston Data Traveler 2.0
    Hardware does support USB booting with no problems.


Here's what I've done:

    Create BartPE with PeToUSB 3.0.0.7. USB Removeable, Enable Disk Format, Enable File Copy.
    Use mkbt.exe to extract this bootsector, call it PEBOOT.BIN and place it in the root.
    Boot into BartPE with external USB DVD-RW drive attached and XPSP2 DVD in drive.
    Run d:\i386\winnt32.exe /cmdcons to install Recovery Console.
    Use nt2peldr.exe to change PEBOOT.BIN bootsector to look for peldr instead of ntldr
    PEBOOT.BIN now looks like this

    CODE
    00000000:eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 10 06 00 <MSDOS5.0.....
    00000010:02 00 02 00 00 f8 f5 00 3f 00 ff 00 3f 00 00 00 ......?..?...
    00000020:c1 47 0f 00 80 00 29 29 ff ec b4 4e 4f 20 4e 41 G...))NO NA
    00000030:4d 45 20 20 20 20 46 41 54 31 36 20 20 20 33 c9 ME FAT16 3
    00000040:8e d1 bc f0 7b 8e d9 b8 00 20 8e c0 fc bd 00 7c Ѽ{ٸ. .|
    00000050:38 4e 24 7d 24 8b c1 99 e8 3c 01 72 1c 83 eb 3a 8N$}$<.r.:
    00000060:66 a1 1c 7c 26 66 3b 07 26 8a 57 fc 75 06 80 ca f.|&f;.&Wu.
    00000070:02 88 56 02 80 c3 10 73 eb 33 c9 8a 46 10 98 f7 .V..s3ɊF.
    00000080:66 16 03 46 1c 13 56 1e 03 46 0e 13 d1 8b 76 11 f..F..V..F..ыv.
    00000090:60 89 46 fc 89 56 fe b8 20 00 f7 e6 8b 5e 0b 03 `FV .^..
    000000a0:c3 48 f7 f3 01 46 fc 11 4e fe 61 bf 00 00 e8 e6 H.F.Na..
    000000b0:00 72 39 26 38 2d 74 17 60 b1 0b be a1 7d f3 a6 .r9&8-t.`.}
    000000c0:61 74 32 4e 74 09 83 c7 20 3b fb 72 e6 eb dc a0 at2Nt. ;rܠ
    000000d0:fb 7d b4 7d 8b f0 ac 98 40 74 0c 48 74 13 b4 0e }}@t.Ht..
    000000e0:bb 07 00 cd 10 eb ef a0 fd 7d eb e6 a0 fc 7d eb ...}}
    000000f0:e1 cd 16 cd 19 26 8b 55 1a 52 b0 01 bb 00 00 e8 ..&U.R...
    00000100:3b 00 72 e8 5b 8a 56 24 be 0b 7c 8b fc c7 46 f0 ;.r[V$.|F
    00000110:3d 7d c7 46 f4 29 7d 8c d9 89 4e f2 89 4e f6 c6 =}F)}ىNN
    00000120:06 96 7d cb ea 03 00 00 20 0f b6 c8 66 8b 46 f8 .}... .fF
    00000130:66 03 46 1c 66 8b d0 66 c1 ea 10 eb 5e 0f b6 c8 f.F.ff.^.
    00000140:4a 4a 8a 46 0d 32 e4 f7 e2 03 46 fc 13 56 fe eb JJF.2.F.V
    00000150:4a 52 50 06 53 6a 01 6a 10 91 8b 46 18 96 92 33 JRP.Sj.j.F.3
    00000160:d2 f7 f6 91 f7 f6 42 87 ca f7 76 1a 8a f2 8a e8 Bv.
    00000170:c0 cc 02 0a cc b8 01 02 80 7e 02 0e 75 04 b4 42 ..̸..~..u.B
    00000180:8b f4 8a 56 24 cd 13 61 61 72 0b 40 75 01 42 03 V$.aar.@u.B.
    00000190:5e 0b 49 75 06 f8 c3 41 bb 00 00 60 66 6a 00 eb ^.Iu.A..`fj.
    000001a0:b0 50 45 4c 44 52 20 20 20 20 20 20 0d 0a 52 65 PELDR ..Re
    000001b0:6d 6f 76 65 20 64 69 73 6b 73 20 6f 72 20 6f 74 move disks or ot
    000001c0:68 65 72 20 6d 65 64 69 61 2e ff 0d 0a 44 69 73 her media...Dis
    000001d0:6b 20 65 72 72 6f 72 ff 0d 0a 50 72 65 73 73 20 k error..Press
    000001e0:61 6e 79 20 6b 65 79 20 74 6f 20 72 65 73 74 61 any key to resta
    000001f0:72 74 0d 0a 00 00 00 00 00 00 00 ac cb d8 55 aa rt.........U


    Copy setupldr.bin from /minint to root and rename it peldr
    Rename /cmdcons to /CMDCONS.
    Add in the following boot.ini
    CODE
    [boot loader]
    timeout=10
    default=C:\CMDCONS\BOOTSECT.DAT
    [operating systems]
    C:\CMDCONS\BOOTSECT.DAT="Microsoft XP Recovery Console" /cmdcons
    c:\PEBOOT.BIN="BartPE"


USB drive boots fine, and I am provided with the boot menu, means ntldr is working, right?
Both options from the boot menu result in flashing cursor in upper left of screen. jaclaz says this is a bad bootsector.

C:\CMDCONS\BOOTSECTOR.DAT looks like this:
CODE
00000000:eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 10 06 00 <MSDOS5.0.....
00000010:02 00 02 00 00 f8 f5 00 3f 00 ff 00 3f 00 00 00 ......?..?...
00000020:c1 47 0f 00 80 00 29 29 ff ec b4 4e 4f 20 4e 41 G...))NO NA
00000030:4d 45 20 20 20 20 46 41 54 31 36 20 20 20 33 c9 ME FAT16 3
00000040:8e d1 bc f0 7b 8e d9 b8 00 20 8e c0 fc bd 00 7c Ѽ{ٸ. .|
00000050:38 4e 24 7d 24 8b c1 99 e8 3c 01 72 1c 83 eb 3a 8N$}$<.r.:
00000060:66 a1 1c 7c 26 66 3b 07 26 8a 57 fc 75 06 80 ca f.|&f;.&Wu.
00000070:02 88 56 02 80 c3 10 73 eb 33 c9 8a 46 10 98 f7 .V..s3ɊF.
00000080:66 16 03 46 1c 13 56 1e 03 46 0e 13 d1 8b 76 11 f..F..V..F..ыv.
00000090:60 89 46 fc 89 56 fe b8 20 00 f7 e6 8b 5e 0b 03 `FV .^..
000000a0:c3 48 f7 f3 01 46 fc 11 4e fe 61 bf 00 00 e8 e6 H.F.Na..
000000b0:00 72 39 26 38 2d 74 17 60 b1 0b be a1 7d f3 a6 .r9&8-t.`.}
000000c0:61 74 32 4e 74 09 83 c7 20 3b fb 72 e6 eb dc a0 at2Nt. ;rܠ
000000d0:fb 7d b4 7d 8b f0 ac 98 40 74 0c 48 74 13 b4 0e }}@t.Ht..
000000e0:bb 07 00 cd 10 eb ef a0 fd 7d eb e6 a0 fc 7d eb ...}}
000000f0:e1 cd 16 cd 19 26 8b 55 1a 52 b0 01 bb 00 00 e8 ..&U.R...
00000100:3b 00 72 e8 5b 8a 56 24 be 0b 7c 8b fc c7 46 f0 ;.r[V$.|F
00000110:3d 7d c7 46 f4 29 7d 8c d9 89 4e f2 89 4e f6 c6 =}F)}ىNN
00000120:06 96 7d cb ea 03 00 00 20 0f b6 c8 66 8b 46 f8 .}... .fF
00000130:66 03 46 1c 66 8b d0 66 c1 ea 10 eb 5e 0f b6 c8 f.F.ff.^.
00000140:4a 4a 8a 46 0d 32 e4 f7 e2 03 46 fc 13 56 fe eb JJF.2.F.V
00000150:4a 52 50 06 53 6a 01 6a 10 91 8b 46 18 96 92 33 JRP.Sj.j.F.3
00000160:d2 f7 f6 91 f7 f6 42 87 ca f7 76 1a 8a f2 8a e8 Bv.
00000170:c0 cc 02 0a cc b8 01 02 80 7e 02 0e 75 04 b4 42 ..̸..~..u.B
00000180:8b f4 8a 56 24 cd 13 61 61 72 0b 40 75 01 42 03 V$.aar.@u.B.
00000190:5e 0b 49 75 06 f8 c3 41 bb 00 00 60 66 6a 00 eb ^.Iu.A..`fj.
000001a0:b0 43 4d 4c 44 52 20 20 20 20 20 20 0d 0a 4e 54 CMLDR ..NT
000001b0:4c 44 52 20 69 73 20 6d 69 73 73 69 6e 67 ff 0d LDR is missing.
000001c0:0a 44 69 73 6b 20 65 72 72 6f 72 ff 0d 0a 50 72 .Disk error..Pr
000001d0:65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 72 ess any key to r
000001e0:65 73 74 61 72 74 0d 0a 00 00 00 00 00 00 00 00 estart..........
000001f0:00 00 00 00 00 00 00 00 00 00 00 ac bf cc 55 aa ...........U



What needs to be done with these bootsectors, this is where I'm lost...

For the sake of completeness (and to make this post even longer) here are the output of some of the dir commands.

Root:
CODE
F:\>dir
Volume in drive F is BOOTABLE RC
Volume Serial Number is B4EC-FF29

Directory of F:\

02/07/2008 08:04 PM 167 winbom.ini
08/04/2004 12:00 PM 250,032 ntldr
08/04/2004 12:00 PM 47,564 ntdetect.com
11/02/2004 02:04 PM 46 autorun.inf
05/27/2007 11:10 AM 2,048 bootsect.bin
02/07/2008 08:04 PM <DIR> minint
02/07/2008 08:07 PM <DIR> Programs
05/27/2007 11:07 AM 0 win51ip
05/27/2007 11:07 AM 0 win51ip.sp2
02/08/2008 12:39 AM 512 PEBOOT.BIN
02/08/2008 12:42 AM 171 BOOT.INI
08/04/2004 06:00 AM 260,272 peldr
10 File(s) 560,812 bytes
2 Dir(s) 329,498,624 bytes free


EDIT: Just noticed \cmdcons isn't listed, forgot to -h it before grabbing the screen cap; it is there, tho

\minint:
CODE
F:\minint>dir
Volume in drive F is BOOTABLE RC
Volume Serial Number is B4EC-FF29

Directory of F:\minint

02/07/2008 08:04 PM <DIR> .
02/07/2008 08:04 PM <DIR> ..
08/04/2004 06:00 AM 48,044 biosinfo.inf
08/04/2004 06:00 AM 1,032,192 explorer.exe
02/07/2008 08:04 PM <DIR> Fonts
02/07/2008 08:04 PM <DIR> inf
08/04/2004 06:00 AM 47,564 ntdetect.com
08/04/2004 06:00 AM 260,272 setupldr.bin
08/04/2004 06:00 AM 232,832 spcmdcon.sys
02/07/2008 08:05 PM <DIR> system32
05/27/2007 11:10 AM 472,028 txtsetup.sif
02/07/2008 08:07 PM <DIR> WinSxS
02/08/2008 12:07 AM 13,379 WINNT32.LOG
02/08/2008 12:24 AM 94 setupact.log
02/08/2008 12:07 AM 0 setuperr.log
02/08/2008 12:08 AM 264 UPGRADE.TXT
10 File(s) 2,106,669 bytes
6 Dir(s) 329,498,624 bytes free


If I'm right, I just need to fix the PEBOOT.BIN and \CMDCONS\BOOTSECT.DAT?
Or, have I just got this way wrong?


Thanks,
Andy
cdob
QUOTE (svcguy @ Feb 8 2008, 05:53 AM) *
Here's what I've done:
Create BartPE with PeToUSB 3.0.0.7. USB Removeable, Enable Disk Format, Enable File Copy.
Use mkbt.exe to extract this bootsector, call it PEBOOT.BIN and place it in the root.
Boot into BartPE with external USB DVD-RW drive attached and XPSP2 DVD in drive.
Run d:\i386\winnt32.exe /cmdcons to install Recovery Console.
Use nt2peldr.exe to change PEBOOT.BIN bootsector to look for peldr instead of ntldr


winnt32.exe /cmdcons may change boot environment.

Copy directory <USB:>\cmdcons to hard disk.

Run PeToUSB 3.0.0.7, format USB drive, add BartPE.

Does BartPE boot?

Copy directory \comdcons to USB drive.

Change boot.ini
CODE
[operating systems]
C:\PEBOOT.BIN="Microsoft XP Recovery Console" /cmdcons
C:\PEBOOT.BIN="BartPE"
jaclaz
Well, you did MOST of the needed steps correctly, I understand I fed you with an amount of data that can be difficult to grab all at once as the matter IS a bit confusing.

However, the fact that the stick is booting to NTLDR but it is not for both CMLDR and PELDR means that some (maybe very little) step has been performed incorrectly.

Let's start troubleshooting the bootsectors.

I have no way to check your bootsectors unless I can compare them against a working one (which you appear to have as "real" bootsector on the drive.

So please, trust me "blindly" just this time wink.gif and do the following:
1) get HDhacker here:
http://dimio.altervista.org/eng/
(or use your own Hex Disk Viewer/Editor) and extract from the stick the "good" bootesector (the one that succeeds in loading NTLDR
2) extract also the MBR from the stick
3) Compress the above two 512 bytes files in a .zip file, together with the two bootsectors you are using (and that do not work) you posted, PEBOOT.BIN and C:\CMDCONS\BOOTSECTOR.DAT and post the file, I'll have a look at them.

jaclaz
wanderer
@svcguy
QUOTE
I've been poking around here and the other related boards looking for a quick, clean and simple way to boot to the recovery console from a usb flash drive for repair purposes. Most of the work you guys do (which is awesome) is a little over my head.

Perhaps these guides will help you a bit?

For XP

http://www.911cd.net/forums//index.php?sho...st&p=142073

or Win 2000

http://www.911cd.net/forums//index.php?sho...st&p=141994

Greetz
gcraw
@Andy

After following various links and suggestions on this board, and having similar problems as your self - this is the method that i was able to have a Bartpe / cmdcons menu list.

1. Created Bartpe build from source on XP cd (even worked with sp1)
2.Did a straight PeToUsb - format - file copy options - no modifications to booting.
3 Downloaded grubinst and copied the folder to the usb root.
4.Copied "grldr" from grubinst directory into root of usb.
5.Saved this as menu.lst into root of usb
CODE
title find and load BartPE
find --set-root /minint/setupldr.bin
chainloader /minint/setupldr.bin

title find and load Recovery Console of Windows NT/2K/XP
find --set-root /cmdcons/setupldr.bin
chainloader /cmdcons/setupldr.bin
#or use /minint/setupldr.bin
#find --set-root /minint/setupldr.bin
#chainloader /minint/setupldr.bin
#####################################################################
# write string "cmdcons" to memory 0000:7C03 in 2 steps:
#####################################################################
# step 1. Write 4 chars "cmdc" at 0000:7C03
write 0x7C03 0x63646D63
# step 2. Write 3 chars "ons" and an ending null at 0000:7C07
write 0x7C07 0x00736E6F

6. Copied \cmdcons directory from a harddisk install onto root of usb.
7. Booted into Bartpe and navigated to grubinst directory and used this command grubinst --save-mbr=MBR.sav (hd0) to modify the mbr. (this also saves the previous mbr in case you wish to restore later)
8. Rebooted and had 2 working boot options.

Good luck
svcguy
@jaclaz

My mom told me "Never trust strangers", so... umm... Kidding thumbsup.gif
I used HDHacker and extracted the Logical Drive (Bootsector) and Physical Drive (MBR). I check Win's disk management to make sure my physical disk number was good.

Here they are
Click to view attachment
Thanks for taking a look.

@gcraw

If I can't get anywhere with this current setup, GRUB is going to be my next option. Thanks
jaclaz
QUOTE (svcguy @ Feb 9 2008, 07:22 PM) *
@jaclaz

My mom told me "Never trust strangers", so... umm... Kidding thumbsup.gif


Yep, but you see, mothers are ALWAYS right:
now I know you are a prematurely balding guy that loves cross-dressing while watching Disney cartoons, and ALL your bank accounts login/passwords! wink.gif

....also ... check your car, from the data I got the engine is going to kiss you goodbye soon,
happy71.gif

Seriously, I could not find anything too obvious, exception made for the fact that the stick appears to be "badly" fdisked/formatted.
This is more common than you would think, and it can be caused by a number of factors.
From what I can see, the problem is in the CHS data of the format not being "in sync" with LBA data.
Please try changing on the stick ONLY the MBR with the attached one (or, just to make sure about what you are doing, don't trust me and simply hexedit byte 450 dec/1C2 hex of the MBR from "06" to "0E" hex) and report if anything changes.

jaclaz
..
svcguy
jaclaz,

Your bootsector destroyed my hard drive, raised my credit score, caused my bathroom sink to leak and made my wife leave me. How can you do that to someone?!? hysterical.gif

Seriously, of course it worked! worthy.gif I can now boot to both my XP RC and my BartPE install. I even took the liberty of following your instructions in this thread (post #26). Works like a charm, brilliant. By chance, do you have a link to material about the fix, I'm curious.

From what I can gather, it had to winnt32.exe that screwed up the construction of the MBR, right? Probably because MS's code is not really intended to do what we're doing with it here?

For all that are interested, the techique that worked can be summed up by referring to posts #13 and #19. Not, of course, discounting ideas posted by gcraw, wanderer and cdob! Thanks to all! I'll certainly be lurking around here from now own.

BTW, I'm more of a Cartoon Network guy when I crossdress and watch cartoons blush.gif
jaclaz
QUOTE
By chance, do you have a link to material about the fix, I'm curious.

From what I can gather, it had to winnt32.exe that screwed up the construction of the MBR, right? Probably because MS's code is not really intended to do what we're doing with it here?


Basically, there are two ways to address a sector:
CHS (Cylinder/Head/Sector)
and
LBA (Large Block Address)

Without getting too technical, THEORETICALLY the data on the partition table "CHS part" SHOULD be EXACTLY correspondent to the "LBA part" in it.
CHS being "bound" by physical (or, in the case of modern hard disks or flash sticks "simulated") geometry, having a "correct" CHS entry almost always means having a certain amount of space UNADDRESSED and thus unusable.

The clever guys at HP (but the original utility comes from M-Systems, AFAIK) thought that having the data in the two parts "unbalanced" was not a problem, so the utility writes the "biggest possible" geometry on the CHS part and the actual capacity, usually, as said, larger, in the LBA part, some BIOSes simply ignore the difference between "06" (FAT16 partition CHS mapped) and "0E" (FAT16 partition LBA mapped) and, just like 2K/XP/2003 do, use ANYWAY the LBA addressing,but some BIOSes, actually more accurate, do make a difference.

Since the bootsector uses anyway a form of LBA address, when it finds a different addressing scheme (as the BIOS has loaded the CHS one) the stick won't boot.

"Forcing" the BIOS to read the LBA addressing scheme, by marking the partition as LBA,
this can be resolved on most motherboards, but since a number of (rather old) motherboards do not support at all booting from ANYTHING that is not "01" (FAT12) or "06" (FAT16 CHS) the "ideal" solution is to have BOTH address data on the partition table pointing to the SAME addresses, in other words on a "perfectly" formatted stick you can write either "06" or "0E" as partition type identifier and the stick will remain bootable.

If you want to get into some technicality, read this old thingie:
http://home.graffiti.net/jaclaz:graffiti.n...B/USBstick.html

jaclaz
YoungNastyMan
QUOTE (svcguy @ Feb 6 2008, 07:19 PM) *
@jaclaz

Do you know the minimum files required from i386 (or a way to find out) necessary to install the recovery console. I'm using a 512MB flash drive and my PE install takes up about 165MB, leaving my only about ~320MB for copying the i386 folder. As you know this is not enough space.

Thanks

Andy


I recently needed to find this information out myself in order to facilitate automatically installing the recovery console after imaging a system. After a few google searches I didn't find the files needed, but I did find this post and thought I would come back and share my knowledge once I had the answer. What I did was I ran Filemon from Sysinternals, which shows all hard drive activity on a system. So with that running, I ran the C:\i386\winnt32.exe /cmdcons command, and applied a filter in Filemon to get just the files opened by Winnt32.exe. I got the list of files and was able to make a Wise package that installs just the required files to C:\i386. So after running that install package I can run the winnt32 /cmdcons command with no trouble. This works great because the files required are only about 6mb, the whole i386 folder as you know is much larger.

I don't know if I can post the installer as it's my work's license of Wise and I don't know if I can legally redistribute Microsoft files. But I will post the file list to help out anyone else who might stumble on this thread.

Files required to install the recovery console in XP:
(These should all be in C:\i386, save for the few files needed from C:\i386\COMPDATA and C:\i386\WINNTUPG)
CODE
1394bus.sy_
abp480n5.sy_
acpi.sy_
acpiec.sy_
adpu160m.sy_
aha154x.sy_
aic78u2.sy_
aic78xx.sy_
aliide.sy_
amsint.sy_
asc.sy_
asc3350p.sy_
asc3550.sy_
atapi.sy_
autochk.exe
autofmt.exe
biosinfo.inf
bootvid.dl_
c_1252.nl_
c_437.nl_
Cabinet.dll
cbidf2k.sy_
cd20xrnt.sy_
cdfs.sy_
cdrom.sy_
classpnp.sy_
cmdide.sy_
COMPDATA\NTCOMPAT.INF
cpqarray.sy_
dac2w2k.sy_
dac960nt.sy_
disk.sy_
disk1
dmboot.sy_
dmio.sy_
dmload.sy_
DOSNET.INF
dpti2o.sy_
drvmain.sdb
eula.txt
fastfat.sy_
fdc.sy_
flpydisk.sy_
ftdisk.sy_
hal.dl_
halaacpi.dl_
halacpi.dl_
halapic.dl_
hidclass.sy_
hidparse.sy_
hidusb.sy_
hpn.sy_
hwcomp.dat
hwdb.dll
i2omgmt.sy_
i2omp.sy_
i8042prt.sy_
ini910u.sy_
intelide.sy_
intl.inF
isapnp.sy_
KBDAL.DLL
KBDBE.DLL
KBDBLR.DLL
KBDBR.DLL
KBDBU.DLL
KBDCA.DLL
kbdclass.sy_
KBDCR.DLL
KBDCZ.DLL
KBDCZ1.DLL
KBDDA.DLL
KBDDV.DLL
KBDES.DLL
KBDEST.DLL
KBDFC.DLL
KBDFI.DLL
KBDFR.DLL
KBDGKL.DLL
KBDGR.DLL
KBDGR1.DLL
KBDHE.DLL
KBDHE220.DLL
KBDHE319.DLL
KBDHELA2.DLL
KBDHELA3.DLL
kbdhid.sy_
KBDHU.DLL
KBDHU1.DLL
KBDIC.DLL
KBDIR.DLL
KBDIT.DLL
KBDIT142.DLL
KBDLA.DLL
KBDLT.DLL
KBDLV.DLL
KBDLV1.DLL
KBDNE.DLL
KBDNO.DLL
KBDPL.DLL
KBDPL1.DLL
KBDPO.DLL
KBDRO.DLL
KBDRU.DLL
KBDRU1.DLL
KBDSF.DLL
KBDSG.DLL
KBDSL.DLL
KBDSL1.DLL
KBDSP.DLL
KBDSW.DLL
KBDTUF.DLL
KBDTUQ.DLL
KBDUK.DLL
KBDUR.DLL
KBDUS.DLL
kbdus.dll
KBDUSL.DLL
KBDUSR.DLL
KBDUSX.DLL
KBDYCC.DLL
KBDYCL.DLL
kd1394.dl_
kdcom.dl_
ksecdd.sys
l_intl.nl_
lbrtfdc.sy_
mountmgr.sy_
mraid35x.sy_
ntdetect.com
ntdll.dll
ntfs.sys
ntkrnlmp.ex_
ntldR
ntldr
ohci1394.sy_
oprghdlr.sy_
partmgr.sy_
pci.sy_
pciide.sy_
pciidex.sy_
pcmcia.sy_
perc2.sy_
perc2hib.sy_
PIDGen.dll
ql1080.sy_
ql10wnt.sy_
ql12160.sy_
ql1240.sy_
ql1280.sy_
ramdisk.sy_
sbp2port.sy_
scsiport.sy_
serenum.sy_
serial.sy_
setupdd.sy_
setupldr.bin
SETUPP.INI
setupreg.hiv
sfloppy.sy_
sparrow.sy_
spcmdcon.sys
spddlang.sy_
sym_hi.sy_
sym_u3.sy_
symc810.sy_
symc8xx.sy_
system32\
tffsport.sy_
toside.sy_
txtsetup.sif
TXTSETUP.SIF
ultra.sy_
usbccgp.sy_
usbd.sy_
usbehci.sy_
usbhub.sy_
usbohci.sy_
usbport.sy_
usbstor.sy_
usbuhci.sy_
usetup.exe
vga.sy_
vgaoem.fo_
viaide.sy_
videoprt.sy_
WINNT32U.DLL
winntupg\ftcomp.dll
WINNTUPG\netmap.inf
WINNTUPG\NETUPGRD.DLL
wmilib.sy_
wsdu.dll
wsdueng.dll
jaclaz
@YoungNastyMan

Interesting report, thanks smile.gif, but you might also want to check this other thread:
http://www.911cd.net/forums//index.php?showtopic=20983

Point is that a lot of files (drivers) in \I386 and thus in \CMDCONS are completely unneeded, as the hardware they are for is not in use since several years, same thing applies for keyboard layouts, you can get rid of EVERYTHING but your own country one.

And of course removing unneeded entries from the original TXTSETUP.SIF, which can (and should) be compressed as TXTSETUP.SI_ you can slim it noticeably.

BTW in your list there is both a txtsetup.sif and a TXTSETUP.SIF....w00t.gif

jaclaz
Ed_P
QUOTE (jaclaz @ Feb 25 2008, 01:12 PM) *
Point is that a lot of files (drivers) in \I386 and thus in \CMDCONS are completely unneeded

With the list of files requiring only 6MB does it matter now?? If half the files are unneeded removing them may only save 3MB. Not denying that a precise list would be nice, this one ain't bad. happy62.gif
jaclaz
QUOTE (Ed_P @ Feb 25 2008, 11:23 PM) *
QUOTE (jaclaz @ Feb 25 2008, 01:12 PM) *
Point is that a lot of files (drivers) in \I386 and thus in \CMDCONS are completely unneeded

With the list of files requiring only 6MB does it matter now?? If half the files are unneeded removing them may only save 3MB. Not denying that a precise list would be nice, this one ain't bad. happy62.gif


Everyone has his own "values", fighting bloatware and resisting against the increase of entropy is one of mine:
http://www.911cd.net/forums//index.php?sho...20983&st=37

wink.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.