What in the heck am I doing wrong? NTFS boot disk

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Okay, this is extremely frustrating... Was developing an XPE image,
transferring the image to an IDE drive connected via USB to my dev machine,
then transferring the drive to the destination machine. Initially, I had
problems getting the destination machine to boot. I did what was supposed to
work -- delete the partition, create a new primary partition, mark the
partition active, copy the XPE files onto the drive, then remove the drive
safely -- but it just would sit there after the POST. Somehow, it started
working. Not to look a gift horse yadda yadda, I just went with it. Each
new image I created, I would follow the same procedure--new partition, format
quick NTFS, copy image, remove safely, install on test machine, boot -- and
it always worked. Now, I have some production machines in. The hard drive
I've been using for testing still works, but the drive that came with the
machine just won't. I've done the same exact steps on the production
machine's drive side by side with the dev machine's drive, and the production
machine will boot with the dev machine's drive but not the other. What am I
missing here?
 
William,

To have more reliable process for deploying the image on your HDDs
(preparing the media to boot) you may want to switch to DOS and use
fdisk/format there. That will keep necessary disk geometry settings while
patitioning and formating the drives.
Then you can convert it to nfts if required. If not, use bootprep to be able
to load up the ntldr at boot time.

To know where you are getting stuck at POST or later, place a non-zero
timeout value in boo.ini. If XP boot menu appears, you get to ntldr.

KM
 
I thought bootprep was only for FAT drives... But I went ahead and created a
new active NTFS partition on the drive, ran bootprep on it, copied over the
image files and edited boot.ini the way you said to. The only thing I didn't
do was format it from DOS. Still no success. The drive won't boot. Do I
really have to format these drives from DOS in order to get them to boot?
This seems like a very strange situation...
 
William,
I thought bootprep was only for FAT drives...

It is. Where did I say otherwise?
But I went ahead and created a
new active NTFS partition on the drive,

Di you do that on the target?
ran bootprep on it,

You don't need bootprep with NTFS as the BTFS bootsector knows that and how
to load ntldr.
copied over the
image files and edited boot.ini the way you said to. The only thing I
didn't
do was format it from DOS. Still no success. The drive won't boot.

Did you see anything now with the new boot.ini? Did you see the XP OS choice
menu?
Do I really have to format these drives from DOS in order to get them to
boot?

You most likely have to (it sometimes veries on the BIOS, MB and HDD brands
you use) to keep the right disk geometry factors.
This seems like a very strange situation...

Well.. It is not. If you search MS KB database, you wil see that they
recommend using DOS for preparing media for NT/2K/XP.

KM
 
You most likely have to (it sometimes veries on the BIOS, MB and HDD brands
you use) to keep the right disk geometry factors.


Well.. It is not. If you search MS KB database, you wil see that they
recommend using DOS for preparing media for NT/2K/XP.
I have been banging my head against this one for ages now... In a product
which uses XPe, I have a requirement to be able to do a clean re-install of
the compact flash from a bootable CD, fine, make a bootable XPe disk for the
product which will format the CF and copy all the files to it... but this
doesn't work, formatting the CF in XPe makes a mess of the NTFS partition
header...
And MS say I have to use DOS to format... does that mean I have to pay for a
licence for DOS as well as a licence for XPe for each product, just to be
able to reinstall the XPe OS in the field????
All this because of a BUG in XPe (and XP/Win2k as well it seems), that makes
it incapable of formatting the CF properly.
 
What bug in XP/Win2k are you referring to? Is the CF marked as removable
media? If so then this is by design. Searching the newsgroup archives has
many explanations of how to get your CF in a state where it's bootable.

Andy
 
Stormblade,

Well.. I feel you pain but this is how XPe tools now work.
In general you would want to contact manufacturer of CF card to get the right partition and format tools from them.
I'd love if Microsoft creates some more reliable tools to format any CF on the market and make it bootable on particular target.
 
It is by design that XPe is incapable of formating a CF marked as removable
into a bootable state? thats a bug!

Yes I can get the CF into a bootable state using a WinPE boot disk.
But we do not have a licence to distribute a WinPE boot disk with the product.
It is not possible to get an XPe Boot CD to format a CF disk and make it
bootable.
This means that I cannot create a recovery CD using XPe...
 
I can't attest to the effectiveness of this, but formatting from a command
prompt worked in my situation. Does Windows PE include a command prompt?
You might want to try it using that...
 
Stormblade,

Some of problems belong to MS feature, some to MS bug, some are related to
BIOS problems.
All partitioning formatting tools need to know correct LCHS geometry used by
BIOS on target computer to map your disk. In during the boot this values do
not match then you will get weird problems during the real-mode boot phase.

It is a feature in a way how disk.sys driver is implemented if you look at
the source in DDK:
You will see that function DiskIoctlGetDriveGeometryEx
(IOCTL_DISK_GET_DRIVE_GEOMETRY_EX) will test if removable flag is set and if
it is then it will skip geometry copy phase.
So that any utility from user mode won't be able to read disk geometry from
driver.

Also you can't partition removable disk from window you can use first
existing partition or you can use whole disk as one partition. (This is also
a feature by design)

All infos collected by ntldr and ntdetect are stored in:
HKLM\Hardware\DESCRIPTION\System\MultifunctionAdapter\7\DiskController\xxxx\DiskPeripheral\yyyyyy\Configuration
Data

So you can access these infos if you want by your program.

There are times due to bad design of some BIOS-es and one or both of
ntdetect and ntldr programs when disk and its entries are not listed in
above mentioned values.
Since BIOS return at least elemental information's about disk number and its
geometry problem is more MS oriented then BIOS. (Expecting all BIOS-es to
comply with some unusual undocumented MS requirements is just not realistic)


You have a simple work-around.
1. Do not use partitions.
2. Format disk with "format.exe /T: /N:" if you know geometry for your disk
on certain computer you should be able to set it trough these switches.

Or make a program that will read these values from registry and put them in
BPB.

Regards,
Slobodan
 
Back
Top