Jump to content

After USB install, won't boot w/o usb


dbinca

Recommended Posts

So I got everything installed ok from my USB drive, but if I remove it and reboot, I just get a black screen with flashing underscore and won't let me boot. When I put the USB back and reboot, it goes fine. Any ideas?

Derek

Link to comment
Share on other sites


Any ideas?

Plenty. :)

  1. Which app/method did you use?
  2. Which OS did you actually install?
  3. When you boot from the USB do you get a grub4dos menu?

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

I would have the same questions as Jaclaz... :)

I have ran into this before as well when doing a Win7 boot repair on a computer. I didn't have Grub4dos switch the drive order when I booted the Win repair ISO and my USB was drive 0. The repair cd then put some of the needed boot files on the USB rather than on the HD. I moved the boot files onto the HD from the USB drive and then used BCDEDIT to point to the right drive for the bootfiles...

Link to comment
Share on other sites

1. Using USB_MultiBoot.cmd from here

Well, this should put grub4dos on the USB stick.

2. XP SP3

Good. :)

3. I don't recall getting the menu, just boots to XP.

As said this is strange.

The general idea is that the stick "generated" by the batch is re-usable n times.

It is likely that you somehow managed to "install" the XP boot files directly on the USB instead of on the actual hard disk, as daddy_fizz suggested.

But no problem it can be easily corrected. :)

Boot to the installed XP.

Make sure you have "hidden and system files" visible.

Check that in your USB stick root there are:

  1. NTLDR
  2. NTDETECT.COM
  3. BOOT.INI

files (and that the same files are NOT in root of the hard disk)

If the above applies, simply copy the files from the USB stick to the hard disk.

Then, remove the system and hidden and read only attributes to BOOT.INI (open a command prompt, and assuming that the drive where XP is installed is actually C: type):

attrib -s -h -r C:\boot.ini

[ENTER]

and open BOOT.INI in Notepad.

Copy it's contents and paste them in your next post.

Post also if the actual drive where XP is installed is actually assigned letter "C:"

Confirm that you have a file "grldr" in root of the stick.

jaclaz

Link to comment
Share on other sites

ok,so all those files exist in both roots. grldr is in root of stick

here is boot.ini from C


[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 (Boot-Logo)" /noexecute=optin /fastdetect /KERNEL=NTOSBOOT.EXE
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="USB Repair NOT to Start Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Link to comment
Share on other sites

The entries in BOOT.INI seem like "right".

So the flashing cursor is likely to be a problem with (probably) the bootsector of the C: drive (or a missing Active partition in the MBR).

Edit the BOOT.INI on the stick (NOT the one on C:\), adding to it a line:

C:\grldr="grub4dos"

If a file named menu.lst exists on the stick, rename it to menuold.lst.

Boot from the stick, one way or the other (i.e. directly or through the above added entry) you should be able to get to a grub4dos prompt.

In it type:

geometry (hd0)

[ENTER]

and

geometry (hd1)

[ENTER]

and post results.

From them it should be easy to get if the stick is (hd0) and the actual hard disk is (hd1) that is how they should be and if the hard disk has the partition active.

IF you are positive that the hard disk is (hd1) , try:

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1
boot

(press [ENTER] after each line)

the above should give the SAME effect of when you boot without the USB stick.

Reboot and try:

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader +1
boot

(press [ENTER] after each line)

Please note that in the above (hd0,0) means first partition of the hard disk, if you installed to any partition but the first one, it should be changed, like (hd0,1) for the second partition and so on.

What happens?

Reboot and try:

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
boot

(press [ENTER] after each line)

Please note that in the above (hd0,0) means first partition of the hard disk, if you installed to any partition but the first one, it should be changed, like (hd0,1) for the second partition and so on.

What happens?

Report.

jaclaz

Link to comment
Share on other sites

didnt get email about this.

ok, so here is the first couple things

post-319641-0-89953000-1300602860_thumb.

the first set of map commands did what it does when I force it to try and boot from hd

the 2nd set did same thing

Last set actually booted to the windows boot menu where i choose which version to start.

Derek

Link to comment
Share on other sites

Good :) (which still means bad :(, but now we have a better idea of what is happening :yes: ).

To recap current situation and clear problem at hand:

Normal booting:

BIOS->HD->MBR->Bootsector of Active partition->NTLDR

First set of commands:

BIOS->Stick->grub4dos->HD->MBR->Bootsector of Active partition->NTLDR (FAILED)

Second set of commands:

BIOS->Stick->grub4dos->HD->Bootsector of Active partition->NTLDR (FAILED)

Third set of commands:

BIOS->Stick->grub4dos->HD->NTLDR (WORKING)

This should mean that the problem is (at least) the bootsector of the partition).

The output of gometry (hd1) tells us that you have a drive with a geometry of 16383x255*63=163,192,895 sectors * 512 = 134,754,762,240 bytes.

On it you have a single partition FAT, type 0xC, i.e. FAT32 LBA mapped. <- can you confirm that this is what you have (once booted into WinXP?)

I would like to have also the output of just the command (on a new boot from stick and WITHOUT previously re-mappping drives):

root (hd1,0)

to understand how big it is this FAT32 partition...

In any case what you can do is to fix the bootsector CODE and the MBR one, just in case.

get:

  1. bootpart: http://www.winimage.com/bootpart.htm
  2. mbrfix: http://www.sysint.no/nedlasting/mbrfix.htm

(unzip/copy/whatever in such a way so that you have them available in the booted system)

boot the system using the third set of entries, open a command window, navigate to the folder where you have the above utilities and run:

MbrFix /drive 0 driveinfo

[ENTER]

You should get some info about the internal hard disk.

VERIFY that drive 0 is the internal hard disk!

If yes, then:

MbrFix /drive 0 fixmbr

[ENTER]

This will rewrite win2K/XP/2003 MBR CODE

Now:

MbrFix /drive 0 getactivepartition

[ENTER]

You should get as result partition 1

IF NOT run:

MbrFix /drive 0 /partition 1 setactivepartition

[ENTER]

Now run bootpart as follows:

BOOTPART

[ENTER]

You should get something like:

0 : C:* type=c ( Fat32), size = <some number> KB

IF YES (and this data is coherent with what you got with the previous root(hd1,0) under grub4dos), run:

BOOTPART WINXP BOOT:C:

[ENTER]

An updated table of bootpart parameters is here:

http://www.winimage.info/forum/viewtopic.php?f=1&t=276

Try booting without the stick connected.

Note, you can also try doing it in two iterations, in the first ONLY use BOOTPART (if the problem is ONLY the bootsector it should be solved) and if it doesn't work by itself, then run also the MBRFIX set of commands.

jaclaz

Link to comment
Share on other sites

ok, i got through all except the last bootpart cmd. I get "Error in parameters". I triple checked it and it is exactly as you typed. I even checked the bootpart site.

Link to comment
Share on other sites

ok, i got through all except the last bootpart cmd. I get "Error in parameters". I triple checked it and it is exactly as you typed. I even checked the bootpart site.

This is "queer", can you run just

BOOTPART

[ENTER]

and post the output?

As a general idea, if I ask you to provide something, it is because I would like to have it ;):

The output of gometry (hd1) tells us that you have a drive with a geometry of 16383x255*63=163,192,895 sectors * 512 = 134,754,762,240 bytes.

On it you have a single partition FAT, type 0xC, i.e. FAT32 LBA mapped. <- can you confirm that this is what you have (once booted into WinXP?)

I would like to have also the output of just the command (on a new boot from stick and WITHOUT previously re-mappping drives):

root (hd1,0)

to understand how big it is this FAT32 partition...

You may need an additional switch, the LBA one:

Usage : When running under Windows NT/2000/XP or MS-Dos

BOOTPART

List all partition, with number

BOOTPART <part_number> [LBA] <filename> [<name_of_system>]

where : part_number : a number of a partition (or A: for floppy)

LBA : force LBA addressing for loading partition bootsector

filename : the file name of the bootfile to create

name_of_system : the name to be added in the BOOT.INI

Create a boot file for the partition, and if name_of_system

I.e.:

BOOTPART WINXP LBA  BOOT:C:

[ENTER]

:unsure:

Try doing another thing.

RUN:

BOOTPART WINXP C:\bootsect.chs

[ENTER]

and:

BOOTPART WINXP LBA C:\bootsect.lba

[ENTER]

Compress both C:\bootsect.chs and C:\bootsect.lba into a .zip archive and attach the .zip to your next post.

jaclaz

Link to comment
Share on other sites

BOOTPART


Physical number of disk 0 : 62686268
0 : C:* type=c (Win95 Fat32 LBA), size= 15609888 KB, Lba Pos=8064
Physical number of disk 1 : 217934c
1 : D:* type=e (Win95 XInt 13), size= 1000912 KB, Lba Pos=63

when i do the LBA switch it says

C:\lba written

C:\BOOT.INI updated

also does that with the last bootpart code. it doesn't write to bootsect.lba

my new boot.ini


[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 (Boot-Logo)" /noexecute=optin /fastdetect /KERNEL=NTOSBOOT.EXE
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="USB Repair NOT to Start Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\lba="boot:c:"
C:\lba="c:\bootsect.lba"

bootsect.zip

Edited by dbinca
Link to comment
Share on other sites

I am getting old :ph34r: I probably gave you some wrong instructions.

But the results are ALMOST right.

Problem is that bootpart "fixes" wrong CODE, whilst in your case the problem is some wrong DATA.

The problem (quite strange I have to tell you) is that somehow the filesystem was made with a "wrong" CHS geometry of 16/63 (instead of the "right" 255/63)

Please get tinyhexer:

http://reboot.pro/8734/

You want to, once you have it installed and running in the XP, and:

  • File->Disk->Open Drive
  • Choose \\.C:\ (\\.\PhysicalDrive0, partition 1)
  • Make sure you:
    1. Load 0x1 sectors at the time
    2. Start sector 0

Are you familiar with the way a disk editor works? :unsure:

Anyway, check in the below screenshot, you should see the same thing as it is on the RIGHT side window (byte at offset 0x1A with value 10).

You need to select it and overwrite this value with the value you see in the LEFT side windows (byte at offset 0x1A with value FF).

(you don't need the BSview structure viewer, I used it in the screenshot only to better illustrate the issue)

Alternatively, if you are not confident with this approach, I can make the corrected bootsector and give you some instructions on how to write it from command line.

Temporarily add to the stick a new menu.lst as follows:

color black/cyan yellow/cyan
timeout 30

title XP on internal HD direct ntldr
map --unhook
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader /ntldr

title XP on internal HD bootsector
map --unhook
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
chainloader +1

title XP on internal HD MBR
map --unhook
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1

So that you don't need to re-type the sets of commands.

Right now only the first entry will work..

After the fix BOTH the other ones should.

jaclaz

post-25215-0-47693400-1300708021_thumb.j

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