Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

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


  • Please log in to reply
23 replies to this topic

#1
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
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


How to remove advertisement from MSFN

#2
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

Any ideas?

Plenty. :)

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

jaclaz

Edited by jaclaz, 17 March 2011 - 06:16 AM.


#3
daddy_fizz

daddy_fizz

    Newbie

  • Member
  • 13 posts
  • Joined 31-August 09
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...

#4
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
sorry, was early, wasn't thinking.

1. Using USB_MultiBoot.cmd from here http://www.msfn.org/...ll-xp-from-usb/
2. XP SP3
3. I don't recall getting the menu, just boots to XP.

#5
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

1. Using USB_MultiBoot.cmd from here http://www.msfn.org/...ll-xp-from-usb/

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:
  • NTLDR
  • NTDETECT.COM
  • 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

#6
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
THanks, I will check as soon as I get home. One question I can answer is that XP is installed on C:

#7
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
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


#8
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
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

#9
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
didnt get email about this.

ok, so here is the first couple things
Attached File  photo.JPG   328.88KB   8 downloads

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

#10
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
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:
(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....c.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

#11
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
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.

#12
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

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

#13
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
Root (hd1,0)

Filesystem type is fat, partition type 0xc

#14
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
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"

Attached Files


Edited by dbinca, 20 March 2011 - 03:20 PM.


#15
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
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:
  • Load 0x1 sectors at the time
  • 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

Attached Files



#16
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
ok, I made the HEX change and saved it. Made a menu.lst, there was none there cause I had renamed the old like you told me to b4. I rebooted and still the same.

#17
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

ok, I made the HEX change and saved it. Made a menu.lst, there was none there cause I had renamed the old like you told me to b4. I rebooted and still the same.

With all due respect I doubt it. :unsure:
Is it possible that there are TWO errors? :blink:

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

Select All/Copy/Paste to new/Save as bootsector.dat

File->Disk->Open Drive
Choose \\.\PhysicalDrive0
Make sure you:
Load 0x1 sectors at the time
Start sector 0

Select All/Copy/Paste to new/Save as MBR.dat

Compress the two files into a zip and post the .zip.

jaclaz

#18
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
here u go.

Attached Files



#19
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
There is no apparent reason why the MBR and bootsector could not work. :wacko:

I mean, in the MBR there is one single 0C type partition, Active 0/128/1 -1024/254/63 8064/31219776 (the CHS and LBA are "balanced")
The partition starts on a fractional head (128) and this may be a problem :unsure: for the "title XP on internal HD MBR " BUT the bootsector has a "right geometry" of 255/63 (after the fix) and has a "right" 31219776 filesystem size., with the "right" sectors before 8064, which should allow the " title XP on internal HD bootsector" to work anyway.

You can try removing CHS check from the bootsector, i.e. change bytes at offset [0xE6], [0xE7], [0xE8] and [0xE9] to 0x90:
http://www.911cd.net...ic=21702&st=129
i.e 0F824A00 to 90909090
I am attaching a pre-modified bootsector.

Try fixing the bootsector as per above and try again the three menu.lst entries.... (or tey typicg in the command line, I just reviewed them and they seem allright to me, but you never know)

When entering the commands:


The only other possibility I can think of is that (for whatever reason) one of the "other" sectors involved in the booting is missing or corrupted.
http://mirror.href.c...r/ntFAT32BR.htm


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

Select All/Copy/Paste to new/Save as bootsectorall.dat

Compress the file into a zip and post the .zip.

As soon as I can find some time I will anyway test your MBR and bootsector in a VM to see if I can see anything I missed... :blink:

jaclaz

Attached Files



#20
cdob

cdob

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,000 posts
  • Joined 29-September 05
@dbinca
Which hardware do you use?
Do you use a HP or a Lenovo machine?

#21
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
It's a custom machine.

So, check this out, I went to open the drive again in the hex editor and it was back at 10? I pasted yours over, saved, closed and opened it again and it was still 10!

So wtf is that about? Is there something preventing it from saving?

Derek

#22
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag
Hmmm. :unsure: cannot say.

XP has not this kind of protection (that you may have in Vista :ph34r: and later) some BIOS protection?

Make sure you know which drive letter the partition has, (it should be C:) and assuming you unzipped the bootsector_mod.dat to the same drive then run dsfi (part of the dsfok package:
http://members.ozema...eezip/freeware/
to copy the bootsector file to the drive like (open a command prompt, navigate to where you unzipped the DSFOK package and type):
dsfi \\.\C: 0 512 C:\bootsect_mod.dat
[ENTER]

Or check the hex editor settings, it is possible that it has a "read only or "fake-write" kind of setting.

The note by cdob about Lenovo was because this brand often has a "queer" BIOS that "sees" devices as having a 240 heads geometry, but since grub4dos (which should use the BIOS info) finds 255, this latter should be the "right" geometry.

jaclaz

Edited by jaclaz, 25 March 2011 - 08:09 AM.


#23
dbinca

dbinca

    Newbie

  • Member
  • 12 posts
  • Joined 17-March 11
  • OS:Windows 7 x64
  • Country: Country Flag
WOOHOO!!! It's working now after using dsfi!!

Thank you very much for all your help! :thumbup

#24
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,562 posts
  • Joined 23-July 04
  • OS:none specified
  • Country: Country Flag

WOOHOO!!! It's working now after using dsfi!!

Thank you very much for all your help! :thumbup

You are welcome.
Please note how the bootsector you are now using has TWO fixes, the first one actually needed, the second one probably not.

Now that the DATA is OK, you could generate a new bootsector (with bootpart or by booting to Recovery Console and running bootfix or whatever), and have also the CODE "kosher" (the one you have now has disabled CHS addressing).

The above is not *needed* of course, what I would advice is to check the copy of the bootsector (Sector 6 on FAT32 volumes) is "in sync", you never know when (and IF ;)) you may need it :).

jaclaz




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users