sdimgr readdisk 0x80004005 error

R

Roger Levy

I've been following precedures in a few tutorials to build, configure, and
deploy a trivial application. With some help from Google archives and this
group, I've gotten to the point where I have resealed my application on the
target after using sdimgr's writedisk function to transfer it from a network
share on my development machine and progressing through FBA. I now wish to
capture the "golden image" for network deployment to multiple targets. Per
"Building and Deploying XP Embedded Images" by Reed, et al, I booted WinPE
on the target and executed:
net use z: \\dev-machine-ip\sdi
sdimgr z:\postfba.sdi /new
sdimgr z:\postfba.sdi /readdisk:0
(Note "sdi" is a share on my development machine)
And the last command resulted in:
Error -2147467259 (0x80004005) in "SDIAUT.SDIFile.1": There is not enough
space on the disk.
Where is there not enough space? The development machine has 5GB of free
disk space. The target seems to have enough space by definition since there
was no space problem in tranferring the image to it and going through FBA
and reseal. How do I fix this? A bigger question -- how does one make
sense out of these kinds of error messages, e.g. how can I find out what
0x80004005 means and what SDIAUT.SDIFile.1 is?

RHL
 
S

Slobodan Brcin

Hi Roger,
A bigger question -- how does one make
sense out of these kinds of error messages, e.g. how can I find out what
0x80004005 means and what SDIAUT.SDIFile.1 is?

Probably HRESULT code from WinError.h

// MessageId: E_FAIL
//
// MessageText:
//
// Unspecified error
//
#define E_FAIL _HRESULT_TYPEDEF_(0x80004005L)

Unspecified error is not much better explanation than 0x80004005


This is all I can tell you,
Slobodan
 
R

Roger Levy

What are the criteria which the MS guys use to decide whether to answer a
question? I'm an MSDN Universal subscriber and I have a managed newsgroup email
alias. Am I more likely to get a response if I use that alias even though this
group is not currently in the managed list? Is there some similar way to gain
closer attention? The biggest problem I am having is that most error messages I
have seen are useless in understanding what the problem is and how to correct
it.

Roger Levy

Roger Levy wrote:
Error -2147467259 (0x80004005) in "SDIAUT.SDIFile.1": There is not enough
space on the disk.
Where is there not enough space?
<snip>
Change "3e" in my address to "eee"
 
N

Nandini [MS]

Roger,

We are looking at this issue and we will post an answer when we find it.

-Nandini
This posting is provided "AS IS" with no warranties, and confers no rights"
 
K

KM

Roger,

My suggestion might be ridiculous but have you set write permission on you
"sdi" share (I assume for "everyone" since you have not specified the
connecting user)?

RL> I've been following precedures in a few tutorials to build,
RL> configure, and deploy a trivial application. With some help from
RL> Google archives and this group, I've gotten to the point where I
RL> have resealed my application on the target after using sdimgr's
RL> writedisk function to transfer it from a network share on my
RL> development machine and progressing through FBA. I now wish to
RL> capture the "golden image" for network deployment to multiple
RL> targets. Per "Building and Deploying XP Embedded Images" by Reed,
RL> et al, I booted WinPE on the target and executed:
RL> net use z: \\dev-machine-ip\sdi sdimgr z:\postfba.sdi /new sdimgr
RL> z:\postfba.sdi /readdisk:0 (Note "sdi" is a share on my development
RL> machine)
RL> And the last command resulted in:
RL> Error -2147467259 (0x80004005) in "SDIAUT.SDIFile.1": There is not
RL> enough space on the disk.
RL> Where is there not enough space? The development machine has 5GB of
RL> free disk space. The target seems to have enough space by
RL> definition since there was no space problem in tranferring the image
RL> to it and going through FBA and reseal. How do I fix this? A
RL> bigger question -- how does one make sense out of these kinds of
RL> error messages, e.g. how can I find out what 0x80004005 means and
RL> what SDIAUT.SDIFile.1 is?

RL> RHL


With best regards, KM. E-mail: (e-mail address removed)
 
S

Saad Syed [MS]

Roger,

How big is the harddisk you're trying to capture. The /readdisk command
reads the whole disk into an SDI file. So you'll need size of disk + 4096
bytes to hold the SDI. I hope this clarifies the problem.

Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and confers no rights.
 
R

Roger H. Levy

Saad,
If you mean the whole physical disk as opposed to the partition I
created with the /writedisk command, then that would be the problem.
The partition is only 128MB but the physical disk is 6GB. The amount of
space available on the drive that hosts the share that is the
destination for the /readdisk command is 5GB. Please verify that you
mean that my physical disk is too large.

If in fact the whole physical disk is read into the SDI file then I
would love to know where that fact is documented. It is certainly not
stated in the MSDN tutorial I was following. Second, this behavior
seems like a dumb design choice. It seems logical to assume that if
/writedisk creates a partition then /readdisk would read a partition.
Also since there are probably many cases where the development machine
and target machine are the same type, there will be many cases when the
target disk will be as large as the development disk.

MS - please consider how much more useful an error message similar to
"an SDI file large enough to contain the entire physical target disk
could not be created." It would have saved an entire week of my time.

Roger
 
R

Roger H. Levy

I did put write permissions on the share even though the MSDN article I
was following titled "Building and Deploying XP Embedded Images" said I
should make it read only. In step 2 of the section "Deploying the
Pre-FBA Image" the instruction is to make the share read only. Then in
step 3 of the next section, there is an instruction to use the same
share to create a new SDI file. I assume you believe as I did that this
would not work. To me it is yet another example of the poor quality of
the documentation. It seems pretty irresponsible of the authors to
write a procedure that they apparently did not step through themselves.

Roger
 
S

Saad Syed [MS]

The /readdisk and /writedisk commands are used to read/write disks to/from
an SDI DISK blob. By disk we always mean physical disk. You'll notice that
the /xxxxdisk commands accept a disk number as parameter; which is actually
the physical disk number.
The /readpart and /writepart commands are used to read/write partition
to/from an SDI PART blob. The /xxxxpart commands accept a volume name as
parameter; which can be any symbolic or direct link to the volume e.g. a
drive letter (X:).

When you write a partition (/writepart), you disk must be pre-partitioned to
fit the partition. If the disk partition is bigger than the PART blob, it
shouldn't cause any problems, since the file system uses the boot sector
bios parameter block from the partition to determine its limits. If you're
using WINPE for deployment you should be able to use the DISKPART
commandline tool to partition the disk before you write the partition to it.

HTH

Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top