Jump to content

Problem booting from CF on old PC


Recommended Posts

Hmm, I was just looking at BootICE and according to that 0E is FAT16 LBA and 0C is FAT32 LBA so I'm not sure which you meant me to try, but as it's currently FAT32 (0B) I guess it makes sense to try FAT32 LBA (0C) first and after that I'll try FAT16 LBA (0E).

Yep, sorry :( , typo :blushing: , I meant 0C, you cannot have 06 or 0E, unless you make smaller partitions.

jaclaz

No worries, thanks for the quick reply. I'll get a chance to try that later hopefully :)

Link to comment
Share on other sites

  • 2 weeks later...

OK, sorry for the delay, only just got a chance to try it.

With the CF only connected and the g4d MBR and type 0C I get the same as before:

Try (hd0,0): FAT32: disk error

(hd0,1) -> (hd0,3): invalid or null

BIOS: Drive=0x0, H=0, S=0

Try (fd0): invalid or null

Cannot find grldr

Then when I press a key to boot the previous MBR, the XP boot menu appears, but is hung showing:

I/O error accessing boot sector file multi(0)disk(0)rdisk(0)partition(1)\Bootsect.dos

That file is on the CF but I don't know why it's looking for it anyway, as the XP boot menu defaults to grldr.

With the HDD connected it loads g4d (0.4.5c) from that and geometry (hd0) shows:

drive 0x80(LBA): C/H/S=1943/64/63 Sector Count/Size = 7834176/512, Fat, type 0C

I then changed the MBR to NT 5.x with BootICE and booting the CF after that it loads the XP Boot Menu but as before, when selecting the grldr entry it shows:

I/O error accessing boot sector file multi(0)disk(0)rdisk(0)partition(1)\Bootsect.dos

which as I say I don't understand why it's trying to load that. Selecting the XP entry gives an error about a missing file (hal I think) which isn't surprising as there isn't an actual XP installation on the CF.

Link to comment
Share on other sites

You do understand that you never posted the contents of the BOOT.INI?

Now, be nice, please FORGET whatever you have done and let's start again from fresh, OK?

Remove the grub4dos MBR+hidden sectors, replacing it with the "standard" 2K/XP MBR.

Make sure that the FAT32 filesystem has the standard 2K/XP bootsector invoking NTLDR.

Copy to the filesystem only NTLDR, BOOT.INI and grldr.

Make sure that the BOOT.INI contents are as follows:

[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=optin /fastdetect
C:\grldr="Grub4Dos"

In other words, you want to have this way to load grub4dos (and NOT any other way):

http://diddy.boot-land.net/grub4dos/files/install_windows.htm#windows1

In a "perfect" world, you would use the MBRbatch command to create a proper disk image and then dd it to the card.

Once you are ready, INDPENDENTLY from whether it is booting to the BOOT.INI choices or not, extract the MBR and bootsector eith hdhacker and post them, together with a description of what exactly happens when you try to boot.

jaclaz

Link to comment
Share on other sites

Well I did use the standard XP MBR for the last test and it also had the XP bootsector. NTLDR, grldr and boot.ini were on there and the boot.ini contents were:

[boot loader]

Timeout=5

Default=c:\grldr

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Image" /noexecute=optin /fastdetect

c:\grldr="Grub4DOS"

and I did make a disk image with the proper geometry and transfer it to the card a while ago if you recall. You've already checked the MBR and bootsector in post #6 and the only thing that I've changed is the partition type to 0C.

Link to comment
Share on other sites

Well I did use the standard XP MBR for the last test and it also had the XP bootsector. NTLDR, grldr and boot.ini were on there and the boot.ini contents were:

It is already difficult enough to try following you mixing two CF cards on two different systems, with a report once a week or so, at each test you seem like changing two things together (or doing more than one test per report, or report something else from what I need, I am really confused, see previous post #3)

This makes NO sense (or it is completely irrelevant):

With the HDD connected it loads g4d (0.4.5c) from that and geometry (hd0) shows:

drive 0x80(LBA): C/H/S=1943/64/63 Sector Count/Size = 7834176/512, Fat, type 0C

When compared with:

How exactly does the VL400 see the chosen card geometry?

The BIOS shows the 4GB CF as Secondary Master - IDE Removable, but under the Boot submenu it shows the CF under both HDDs and Removable Devices.

Cylinders 7769

Heads 16

Sectors 63

CHS Format 4010MB

LBA Format 4010MB

Multi-Sector Transfers Disabled

LBA Mode Disabled

32 Bit I/O Enabled

Transfer Mode FPIO 4 / DMA 2

Ultra DMA Mode Mode 2

How exactly the chosen version of grub4dos (please name it) on the VL400 see the chosen card (please specify which one you chose) geometry?

Using grldr v0.4.4: drive 0x80 (LBA): C/H/S=1024/16/63 Sector Count/Size =1032192/512

However, currently I have updated to 0.4.6a so I need to check how that reports the geometry on the VL400.

I'm not actually sure which version of the grub4dos MBR I have on there though (I would have installed it with the latest version of BOOTICE I have, which is 06-05-2012), nor how to update it (i've used grubinstgui in the past but unfortunately that doesn't seem to be available for recent versions and it seems to have the MBR hardcoded in the program, rather than being able to install a MBR file contained in the same directory, which would be handy). Perhaps you can suggest which MBR version I should install and a good way to do so (preferably from Windows)?

Again, you are "mixing" things and/or posting confusing info.

If you start again from scratch, maybe it will be possible to do (hopefully) some step forward.

You were almost there here:

http://reboot.pro/16737/page__st__50#entry155690

before you started doing all changes and variations you could think of (and one more) :ph34r: .

General suggestions:

  1. You should NOT EVEN THINK of using grub4dos 0.4.6a, that is a test version.
  2. You should use ONLY 0.4.4 - 2009-10-16 (and NOT any other 0.4.4 version) unless told to use another version.
  3. You should NOT install the grub4dos MBR.
  4. You should try, WITHOUT making ANY modifications, of ANY kind unless told so, with a "plain" XP MBR, an XP bootsector, NTLDR, BOOT.INI and grldr
  5. Read the generic advice given in FAQ#10 here:
    http://jaclaz.altervista.org/Projects/USB/USBfaqs.html

Now, it is almost clear that - for *any* reason - that that particular BIOS/CF card combo:

  • sees the 4 Gb card as having a geometry of 16/63
  • does not "like" LBA mapped partitions AND/OR it doesn't "like" partitions bigger than 512 Mb (1024*16*63*512=528482304)

So the next step would be to create a smaller partition, with a 16/63 geometry, FAT 16 CHS formatted, with the standard XP MBR and bootsector, NTLDR, BOOT.INI and grldr (0.4.4 - 2009-10-16).

With mkimg:

C:\Testimages\>mkimg

Please enter target file name: 264Mb.img

Image size, in bytes or suffixed by K, M or G for Kilo Mega or Giga

Please enter target image size: 264273408

Please type desired geometry [255/63 128/63 64/63 16/63 64/32]: 16/63

Available partition types for this image, 264273408 bytes:

06 FAT 16 CHS Mapped

07 NTFS

0B FAT 32 CHS Mapped

0C FAT 32 LBA Mapped

0E FAT 16 LBA Mapped

Please type desired Partition Type [06 07 0B 0C 0E]: 06

Please type /fsz to use fsz.exe or [ENTER] to use mksparse.exe:

Creating a MBR from C:\WINDOWS\System32\dmadmin.exe with dsfo.exe:

OK, 512 bytes, 0.000s, MD5 = 61a174a7d3cbe41d9996de0f124b7ebf

Image will be mounted as 06h:FAT16

Can you simply do EXACTLY the above, transfer the image to the CF card and report?

Please verify that once the image has been transferred to the CF card and the VL400 has been booted at least once with the card connected the MBR signature is non-zero.

To do so, use MBRFIX (and NOT any other tool):

http://www.sysint.no/nedlasting/mbrfix.htm

MbrFix /drive <num> readsignature

If it is 00000000 change it with:

MbrFix /drive <num> writesignature 01020304

A meaningful (to me) report follows this scheme (let's number them so it will be easier):

  1. Machine used: the VL400
  2. CF card used: the 4Gb one
  3. Partitioning scheme used: the one made with mkimg 264273408-16/63-06
  4. Files in the device: NTLDR; BOOT.INI with contents as per post #18, glrldr from grub4dos 0.4.4 - 2009-10-16
  5. Description of what happens when booting (if not any of the following)
  6. Description of what happens when booting when choosing the "Windows XP" entry (if it gets to the BOOT.INI choices)
  7. Description of what happens when booting when choosing the "grub4dos" entry (if it gets to the BOOT.INI choices)
  8. Result of grub4dos commands (if it gets to the grub> command prompt) for these commands:

    1. root
    2. geometry (hd0)
    3. geometry (hd1)



      Once you have posted this info, you are kindly requested to NOT do any change to anything until I suggest you WHICH changes to try.
      I know that I sound like an old, grumpy bastard, mainly because I
am an old, grumpy bastard ;), but also because this thingy is getting on my nerves, it should have taken NO time to find a solution or a workaround for your issue, but it is going on for what? 3 MONTHS? :w00t:
Maybe this way we can get rid of it quickly :unsure: .
jaclaz Edited by jaclaz
Link to comment
Share on other sites

It is already difficult enough to try following you mixing two CF cards on two different systems, with a report once a week or so, at each test you seem like changing two things together (or doing more than one test per report, or report something else from what I need, I am really confused, see previous post #3)

It's frustrating I know but let's try not to rake up the past ;) I didn't mix two CF cards in my recent report nor do I think I failed to report what you asked for. I reported what happened when booting from the CF with g4d MBR (failed to load grldr), with the NT MBR (failed to load grldr) and (the only way I could load grldr) booting from the HDD and then checking what geometry g4d reported for the CF.

This makes NO sense (or it is completely irrelevant):
With the HDD connected it loads g4d (0.4.5c) from that and geometry (hd0) shows:

drive 0x80(LBA): C/H/S=1943/64/63 Sector Count/Size = 7834176/512, Fat, type 0C

Yes I know, I pointed out the "strangeness" of the differing results between 0.4.4 and 0.4.5c at the end of post #8.

[*]You should NOT EVEN THINK of using grub4dos 0.4.6a, that is a test version.

[*]You should use ONLY 0.4.4 - 2009-10-16 (and NOT any other 0.4.4 version) unless told to use another version.

Shame you didn't mention that when I said I was going to test with 0.4.6a at the end of post #8 ;)

Now, it is almost clear that - for *any* reason - that that particular BIOS/CF card combo:

  • sees the 4 Gb card as having a geometry of 16/63
  • does not "like" LBA mapped partitions AND/OR it doesn't "like" partitions bigger than 512 Mb (1024*16*63*512=528482304)

So the next step would be to create a smaller partition, with a 16/63 geometry, FAT 16 CHS formatted, with the standard XP MBR and bootsector, NTLDR, BOOT.INI and grldr (0.4.4 - 2009-10-16).

OK, that sounds like a good idea.

Can you simply do EXACTLY the above, transfer the image to the CF card and report?

Please verify that once the image has been transferred to the CF card and the VL400 has been booted at least once with the card connected the MBR signature is non-zero.

Having done that (create the img and transfer it to the CF) I have an unformatted 252MB partition on the CF. Common sense tells me I should format it and put NTLDR, BOOT.INI and grldr (0.4.4) on there, otherwise it will be rather hard to make the meaningful report that you ask for next but I figured I'd better check as you're quite clear I should only do what you advise and no more. :ph34r:

I know that I sound like an old, grumpy bastard, mainly because I am an old, grumpy bastard ;), but also because this thingy is getting on my nerves, it should have taken NO time to find a solution or a workaround for your issue, but it is going on for what? 3 MONTHS? :w00t:

Maybe this way we can get rid of it quickly :unsure: .

Believe me, it's annoying me 10x more than it is you and I'll be glad to get it sorted before I lose any more hair :wacko:

Link to comment
Share on other sites

Having done that (create the img and transfer it to the CF) I have an unformatted 252MB partition on the CF. Common sense tells me I should format it and put NTLDR, BOOT.INI and grldr (0.4.4) on there, otherwise it will be rather hard to make the meaningful report that you ask for next but I figured I'd better check as you're quite clear I should only do what you advise and no more. :ph34r:

NO, you have NOT followed the instructions (or they were NOT clear enough :unsure:).

So the next step would be to create a smaller partition, with a 16/63 geometry, FAT 16 CHS formatted, with the standard XP MBR and bootsector, NTLDR, BOOT.INI and grldr (0.4.4 - 2009-10-16).

With mkimg:

C:\Testimages\>mkimg

Please enter target file name: 264Mb.img

Image size, in bytes or suffixed by K, M or G for Kilo Mega or Giga

Please enter target image size: 264273408

Please type desired geometry [255/63 128/63 64/63 16/63 64/32]: 16/63

Available partition types for this image, 264273408 bytes:

06 FAT 16 CHS Mapped

07 NTFS

0B FAT 32 CHS Mapped

0C FAT 32 LBA Mapped

0E FAT 16 LBA Mapped

Please type desired Partition Type [06 07 0B 0C 0E]: 06

Please type /fsz to use fsz.exe or [ENTER] to use mksparse.exe:

Creating a MBR from C:\WINDOWS\System32\dmadmin.exe with dsfo.exe:

OK, 512 bytes, 0.000s, MD5 = 61a174a7d3cbe41d9996de0f124b7ebf

Image will be mounted as 06h:FAT16

the mkimg batch after the above (the snippet was posted UNIQUELY to let you see easily which values you should have used, that are bolded for your convenience) , continues, and prompts to format the partiton and will also mount it, opening it in Explorer, ready to copy to it the bolded files.

Since you were EITHER PROMPTED to format the partition (and you declined the "offer" to format the partiion) OR you got an ERROR of some kind, you should have posted how you had some issues or asking what to do when prompted, wouldn't have this been more logical that "going ahead" and end up with an unformatted partition?

BTW, you seemingly already ran this batch successfully, here:

http://reboot.pro/16737/page__st__25#entry154146

so I cannot but assume as given that you know how it works :unsure:

jaclaz

Link to comment
Share on other sites

NO, you have NOT followed the instructions (or they were NOT clear enough :unsure:).

the mkimg batch after the above (the snippet was posted UNIQUELY to let you see easily which values you should have used, that are bolded for your convenience) , continues, and prompts to format the partiton and will also mount it, opening it in Explorer, ready to copy to it the bolded files.

Since you were EITHER PROMPTED to format the partition (and you declined the "offer" to format the partiion) OR you got an ERROR of some kind, you should have posted how you had some issues or asking what to do when prompted, wouldn't have this been more logical that "going ahead" and end up with an unformatted partition?

Well no, they weren't clear enough as you said

So the next step would be to create a smaller partition, with a 16/63 geometry, FAT 16 CHS formatted, with the standard XP MBR and bootsector, NTLDR, BOOT.INI and grldr (0.4.4 - 2009-10-16).

With mkimg:

C:\Testimages\>mkimg

Please enter target file name: 264Mb.img

Image size, in bytes or suffixed by K, M or G for Kilo Mega or Giga

Please enter target image size: 264273408

Please type desired geometry [255/63 128/63 64/63 16/63 64/32]: 16/63

Available partition types for this image, 264273408 bytes:

06 FAT 16 CHS Mapped

07 NTFS

0B FAT 32 CHS Mapped

0C FAT 32 LBA Mapped

0E FAT 16 LBA Mapped

Please type desired Partition Type [06 07 0B 0C 0E]: 06

Please type /fsz to use fsz.exe or [ENTER] to use mksparse.exe:

Creating a MBR from C:\WINDOWS\System32\dmadmin.exe with dsfo.exe:

OK, 512 bytes, 0.000s, MD5 = 61a174a7d3cbe41d9996de0f124b7ebf

Image will be mounted as 06h:FAT16

Can you simply do EXACTLY the above, transfer the image to the CF card and report?

So you didn't indicate I should allow it to continue to format, nor to copy any files to the CF between "transfer the image to the CF card" and "report" and had I done so I wouldn't have been doing "EXACTLY the above" and considering you've got the hump with me for doing things you haven't told me to, I tried to follow your instructions :whistle:

Anyway, it's clear now I should format the partition (do I need to allow mkimg to do this to get a FAT16 CHS format and transfer the image again or can I use Windows XP's format?) and put those files on there.

Link to comment
Share on other sites

OK, I recreated the img, allowing it to format this time, copied it to the CF and added NTLDR, boot.ini and grldr (0.4.4). I checked the MBR and it is NT 5.x

Please verify that once the image has been transferred to the CF card and the VL400 has been booted at least once with the card connected the MBR signature is non-zero.

To do so, use MBRFIX (and NOT any other tool):

http://www.sysint.no...ting/mbrfix.htm

MbrFix /drive <num> readsignature

If it is 00000000 change it with:

MbrFix /drive <num> writesignature 01020304

Does this HAVE to be done after booting with the card connected on the VL400? I checked the signature and it is 0000 but perhaps this get's changed when booting with the card connected?

Also, can I test boot the CF on my PC just to check it's working here or is it important that I only boot it on the VL400? I tested it with MobaLive (Qemu) anyway and that worked fine, so it's probably OK.

Link to comment
Share on other sites

OK, I recreated the img, allowing it to format this time, copied it to the CF and added NTLDR, boot.ini and grldr (0.4.4). I checked the MBR and it is NT 5.x

Please verify that once the image has been transferred to the CF card and the VL400 has been booted at least once with the card connected the MBR signature is non-zero.

To do so, use MBRFIX (and NOT any other tool):

http://www.sysint.no...ting/mbrfix.htm

MbrFix /drive <num> readsignature

If it is 00000000 change it with:

MbrFix /drive <num> writesignature 01020304

Does this HAVE to be done after booting with the card connected on the VL400? I checked the signature and it is 0000 but perhaps this get's changed when booting with the card connected?

Also, can I test boot the CF on my PC just to check it's working here or is it important that I only boot it on the VL400? I tested it with MobaLive (Qemu) anyway and that worked fine, so it's probably OK.

It doesn't really make any "real" difference.

Mkimg/mrbatch were designed to be a helper for further "customizations", and it leaves the disk signature "blank".

Such a device won't boot (fully) a NT system (but it should have no problem whatsoever in booting up to the BOOT.INI choices).

As soon as a device with a 00000000 signature is connected to a NT running system, at mount time the NT system will write one.

You can try booting from it on *any* system, at the most it won't boot, the need to have any non 0 signature is only for later when you will actually try booting a NT system from it.

You can either connect it to a system that boots (from another media) a NT based system or write manually any non 0 value to it.

Till now we are experimenting only in the "real mode" part of booting, the need for the disk signature is when NTLDR will "switch" to "Protected mode".

jaclaz

Link to comment
Share on other sites

Well unfortunately that didn't work any better :huh:

Machine used: the VL400

CF card used: the 4Gb one

Partitioning scheme used: the one made with mkimg 264273408-16/63-06

Files in the device: NTLDR; BOOT.INI,, glrldr from grub4dos 0.4.4 - 2009-10-16

[boot loader]

Timeout=5

Default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Image" /noexecute=optin /fastdetect

c:\grldr="Grub4DOS"

Description of what happens when booting when choosing the "Windows XP" entry (if it gets to the BOOT.INI choices):

Forgot to try that, will go and do it now.

Description of what happens when booting when choosing the "grub4dos" entry (if it gets to the BOOT.INI choices):

Much the same as before I'm afraid

hd0,0: FAT16 disk error

hd0,1 - hd0,3: Invalid or null

(fd0): invalid or null

Cannot find grldr in all drives

With the HDD connected, choosing the grub4dos entry it loads grldr (0.4.5c) and menu.lst from the HDD. I didn't do the root and geometry commands from here as I don't think you want the results from 0.4.5c (I could put 0.4.4 on the HDD, I'm just a bit nervous in case that screws up booting from the HDD as this machine isn't USB bootable, so then I'd have no way to fix it, other than moving the HDD to another PC!).

Link to comment
Share on other sites

OK, selecting the "Windows XP" entry just makes the PC reboot, no messages, whether just the CF was connected or the CF and HDD.

EDIT: Sorry, forgot to provide the MBRfix output. I actually checked it after testing with MobaLive (Qemu) and that changed it from 0000 to something non-zero (can't remember exactly but it was something like D013049584).

As we're not having much luck with it, woud you mind if we put the 4GB CF to one side for now and see if we can fix the problem with the 16GB CF, which at least boots but was causing XP (booted from the HDD) to lock up when copying files to the CF, which perhaps might be fixed by formatiing it with a 16/63 geometry? I'd like to be able to send it to my brother in about a month (to use in his VL400 which will be used as a RDP station to connect to the new PC I'm building him) and we can have another look at the 4GB CF after that if you've got some other ideas.

To remind you of how the VL400 sees the 16GB CF:

In the BIOS it shows as Secondary Master 15989MB (not IDE Removable as the 4GB CF does)

Cylinders 16383

Heads 16

Sectors 63

CHS Format 8455MB

LBA Format 15989MB

Multi-Sector Transfers Disabled

LBA Mode Enabled

32 Bit I/O Enabled

Transfer Mode FPIO 4 / DMA 2

Ultra DMA Mode Mode 2

This booted directly to grub4dos 0.4.5b (27-03-2011) and geometry (hd0) showed:

drive 0x80 (LBA): C/H/S=1024/255/63, sector count/size=31227840/512. Partion num:0, active, FAT, partition type 0x0C

So if you could advise what parameters to use with mkimg to create a 16/63 img for it, I'll try that and see if it fixes the problem.

Edited by doveman
Link to comment
Share on other sites

Don't want to nag you jaclaz but I'll be over there again tomorrow so if you have the time to advise before then that would be great. ;)

NO nagging at all :), I overlooked your previous few replies, so it's a good thing that you bumped this.

Let's see waht happens with the 16 Gb card, you said:

In the BIOS it shows as Secondary Master 15989MB (not IDE Removable as the 4GB CF does)

This may be a piece of relevant info (the different way the card is seen by the BIOS).

OT, but not much, years ago there was a tool to change the status of CF cards (at least of some types of it), this is JFYI, do not even THINK of trying that tool (ATCFWCHG.COM):

http://www.thinkwiki.org/wiki/Compact_Flash_boot_drive

This may well be caused by that "removable" setting (in combination with that pesky BIOS:

hd0,0: FAT16 disk error

hd0,1 - hd0,3: Invalid or null

(fd0): invalid or null

Cannot find grldr in all drives

Now, on the 16 Gb one:

Cylinders 16383

Heads 16

Sectors 63

CHS Format 8455MB

LBA Format 15989MB

Multi-Sector Transfers Disabled

LBA Mode Enabled

32 Bit I/O Enabled

Transfer Mode FPIO 4 / DMA 2

Ultra DMA Mode Mode 2

But also:

drive 0x80 (LBA): C/H/S=1024/255/63, sector count/size=31227840/512. Partion num:0, active, FAT, partition type 0x0C

31227840 sectors in grub4dos.

31227840*512/1024/1024=15247,96

31227840*512/1000/1000=15988,65 <- the BIOS is seemingly using x1000 for Kilo and Mega.

The fact that the BIOS sees an actual LBA geometry is a good thing, though I would anyway try first with a "wholly inside" first CHS partition at first.

A good number could be 1024*16*63=1032192 sectors x 512 = 528482304 <- this is the size of the file to be given to MBRBATCH/MKIMG.

Use a FAT 16 (06) type at first, then try 0E (by only changing the relevant byte in the partition table) with a hex/disk editor.

Rest of procedure is the same.

You may want to get my little spreadsheet here (get the "newish" version attache dto post #10):

http://reboot.pro/2959/

and play a little bit with it....

jaclaz

Link to comment
Share on other sites

Thanks, got that done so I'll let you know how it goes :)

Stupid Win7 wouldn't let me run VDK though, even though I disabled Driver Signing AND signed vdk.sys with Driver Signature Enforcement Overrider (well I could install it but it wouldn't allow it to start) so I had to boot to my backup XP (even my Virtualbox XP wouldn't work for mkimg today!) which was a nuisance.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...