Vista, XP and Suse

#1
Firstly, thank you for your remarkable bootloader program.

I think I must be a complete idiot.
I have 4 OS's
Vista Ultimate
XP Pro
XP Pro (heavily stripped down to bare essentials)
Suse 10.2

All are installed on seperate drives.
Vista, and the 2 versions of XP boot with no problems at all.
Having followed (I think) the instructions on /EBCD/Linux, and using a Supergrub disk, I have determined that Suse is installed at hd3,5 and have installed grub to the boot sector per the instructions on the same page.
I believe that translates in Windows to Drive 3 partition 6?

Here is where the problems start.
Whatever values I enter for the drive, and partition, I get the same error screen, telling me windows cannot start, and refering to \NST\nst_grub.mbr

Folder NST is on my original drive (XP PRO), but is completely empty, which leads me to believe I am an idiot, and have missed something?

Could someone please tell me what I am missing?

Thank you in advance
 
#2
Good luck with the problem. I, too, am an idiot. I am trying to boot XP, Vista, & Mepis on 3 different drives. I have read the very scanty documentation, and posted for help. The help usually says something to this effect, "You need to install the Linux via the xxx.yyy_.mbr. Then reboot and select the Linux system & it will work." WRONG!!!

We are not the only idiots here. If you scan the posts, you will see nearly everyone has a quite similar problem. My frustration level it nearly as high as Mt McKinley at this point. At least we can be idiots together.

If the gurus at Neosmart would take the time to write some meaningful instructions that considers that not everybody is an expert (guru) then maybe we could all get our systems running correctly.

Jerry in Anchorage, Alaska
 

mqudsi

Mostly Harmless
Staff member
#3
Jerry, believe me, I'd like to help.

We just simply don't have the sheer amount of resources and time required to do such a thing. As I'm sure you know, Linux differs so greatly from one distribution to another, and our couple of programmers just can't keep up with both the coding and the documenting in detail.

And of course, it doesn't help that 99% of the people that figure out how to do something thanks to these forums don't bother to post back with the exact details of what worked for them. EasyBCD is a community project. We need your help to make it work.

I'm trying to walk you through this.

We're a non-profit organization making this software for free. The "scanty documentation" you are referring to took 2 months of research and constant testing to put together. You have no idea how long it takes to boot into Windows, change a single file, reboot into the bootloader, realize it doesn't work, reboot Windows, change again; six or seven hundred times over to get that “scanty” documentation in place.

Now, if, at the end of all this, you get your system working; maybe you users can contribute some documentation as well? We did put out a request for help before the docs even went live, but no one bothered to reply: http://neosmart.net/blog/2007/wanted-documentation-experts/

Now, here's how this is going to work.
I'm going to explain how it works, and we'll figure out - step by step - why it isn't.


Now when you want to boot Linux, you install GRUB to the bootsector of the partition you want.
The bootsector is the first couple of bytes in the partition itself. It's not removed by formatting the partition.

Generally speaking:

1) You turn on your PC
2) Your BIOS accesses the MBR of the primary hard drive, and kicks off a program that resides there.
3) The program (bootloader – in this case, Vista's BCD) connects to the bootsector of the drive that needs to be accessed, and kicks off yet another program there. With Windows, this is generally a helper sequence that simply determines where the configuration files are stored, and you don't see this happening. But with Linux, it'll start GRUB from the bootsector there.
4) The bootsector bootloader starts the operating system.


Now the problem is, the Vista BCD refuses to recognize any bootloader-helper program that lives in the bootsector unless it belongs to Vista or a previous version of Windows.

So EasyBCD takes that bootsector, copies it to a file on a Windows partition (in this case, the main drive), and tells Vista to load it from there. This requires quite a lot of hacking to get it right (on the programmers' side of things) because the bootloader helper script was never intended to be just run like a normal program.

Now what you do to make it work:
Install GRUB to the bootsector.
Boot into EasyBCD.
Tell EasyBCD to copy the bootsector from the Linux partition to a file, and store it in \NST\file of the main partition of the main drive on your pc.
EasyBCD tells Windows Vista: “Hey you, connect to the file stored in the same drive and partition that your bootloader is on in the \NST\ directory!”
You reboot and select “Linux” from the Vista BCD menu.
Vista searches for this file, and one of three things happens:

Either the file is found, it contains proper working data, and everything goes well.
The file is not found, and Vista just doesn't know what to do.
Vista can find the file, but it ends up containing wrong, inaccurate, or otherwise unusable data.

In the first case, you're all set.

In the second, you've gotta figure out why EasyBCD didn't create that file. At the moment, the most likely thing is that EasyBCD either couldn't find the Linux drive to make a copy of the file from, or couldn't identify the Vista bootloader drive to save the file there.

To debug at this point, you would use SGD to make sure that you've got the right drive/partition combo, and then you would post a copy of the “Detailed Output” window (preferably in [ code] [/ code] bbcode blocks) in a new post here, and we'd most likely tell you it's because your bootloader isn't installed right due to some long-standing non-standard configuration on your system – which EasyBCD 1.6 uses intelligent heuristics to work around.

Now in the 3rd and last scenario, it means one or more of the following happened:
The GRUB you copied to the bootsector didn't install right.
You entered a wrong drive/partition number in EasyBCD.
The drive numbers while installing GRUB are different than the numbers out of it.
GRUB didn't install to the partition.
RAID drive issues.
Having mixed SATA and IDE drives.


The most important factor in this last scenario is how you boot into the GRUB repair disk (live linux) or how you boot into Vista.
NEVER choose to “temporarily boot from a CD/DVD”, change the boot order and then change it back (of drives), and NEVER follow the “press F12 to select boot device” prompt. EVER.

In the BIOS, set your boot order to
DVD/CD
Hard Drive

Set the drive order to
Main
Secondary
etc.

NEVER CHANGE IT.

Boot into SGD/Linux Recovery by sticking the CD/DVD in the drive. Reboot and take the CD/DVD out.
Boot into Vista. Give EasyBCD the numbers.

GRUB may order SATA and IDE drives one way, and Windows may order them another (if you have bothed SATA and IDE drives).
As for RAID partitions, that's just a whole big mess and since none of our developers have RAID systems (because no one bothers to donate, so we can't buy new gear just to check out how it works and make new docs about it) – you'd have to figure that out by yourself though it shouldn't differ too greatly from everything else.


That's it

I don't how much details you need to get past the “scanty” level, hopefully this'll change your mind.

Now, with this info at hand, provide me with the information I need to help you troubleshoot your problem.

Follow the steps closely, pay attention to the details, take note of your hardware settings, then let me know so I can help.

EasyBCD is free software. We only benefit if our users benefit and tells others to use it too. Everything we do, we do it for you guys – yet it doesn't seem to matter.
 

mqudsi

Mostly Harmless
Staff member
#4
sstray: please post a copy of the "detailed mode" EasyBCD info (use [ c o d e ] [ / c o d e ] boxes please!) so I can help you out. I think I know what's wrong, but I'll need to see a copy first! :smile:
 

mqudsi

Mostly Harmless
Staff member
#5
Jerry: we get a couple of hundred thousand downloads of EasyBCD off of our main server every month. So the "many" issues you see here aren't even .1% of the people that download EasyBCD.
 
#6
Thanks for the reply and the explanation. It helps me somewhat; however, I do not understand all of it. I will keep on trying.
I have Xp on one SATA drive - installed first.
I have Vista on a second SATA drive - installed second.
I have Mepis Linux installed on an IDE drive - installed last.

I have reinstalled GRUB to the bootsector of the IDE drive via the live CD. It is listed as hdc1. I really am at a loss as to how to translate that to drive 0,1 or 1,1 etc.

Since I have been at this project - about 3 weeks - I have changed the boot order numerous times - in order to get Mepis to boot at all. I didn't know any better. I only change the order of the XP & Mepis drive. The Vista drive always remains constant.

I have never experienced problems with EasyBCD booting into either of the widnows drives. Kudoos to you for that. If I boot into Mepis via GRUB - Mepis drive being primary boot drive at the time - Mepis will boot correctly. If I select the Windows option, Vista always boots correctly. XP always results in repeated reboots. As you say, I believe the problem to be related to the boot order change. So, short of reinstalling all 3 OSs, how do I proceed?

I believe that if there were a method to determine the actual drive identifiers from Windows, that the problem would go away or work as you indicate. I do not know what that procedure is since Windows doesn't even see the Linux drive.

I must apologize for my tone in last evenings post. My frustration level is extremely high. I understand about the time & effort expended by a group who produces and distributes offering something cost-free. Thank you.

It just turned 6AM here, & time to get ready for work. I'll keep checking the list for additional info posted by you and other users. As time permits, I'll post my EasyBCD file contents, as well as my menu.lst. Hopefully, with your help, I'll get this thing running.

Jerry in Anchorage
 

mqudsi

Mostly Harmless
Staff member
#7
No problem - just wanted to make it clear that we're doing our very utmost best here :smile:

I hope you noticed that I mentioned the cause of your problem in my previous post: mixed SATA and ATA drives.

As you requested, viewing of drive lists under Windows:
Start -> Run -> cmd.exe
Code:
cd C:\program files\neosmart technologies\easybcd\
mbr.exe --list
You can paste the output here if you like.

hdc1 sounds to me like 2,1 in EasyBCD. Have you tried that?

Suggestion:
Set the Vista drive to primary.
Boot with a live cd to Linux.
open a shell
Code:
su -
grub
find /boot/GRUB/stage1
That will print
(hdx,y) to your screen. then type
Code:
setup (hdx,y)
setup (hdx,y)
quit
WRITE DOWN HDX,Y so you can use these in EasyBCD as X,(Y+1)
 
#8
Thank you for your reply.

As requested, listed below is the "detailed" report.
Code:
Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=D:
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
displayorder            {current}
                        {ntldr}
                        {b3372828-ec51-11db-bedb-000d614f3306}
                        {b3372829-ec51-11db-bedb-000d614f3306}
                        {b337282a-ec51-11db-bedb-000d614f3306}
                        {b337282b-ec51-11db-bedb-000d614f3306}
toolsdisplayorder       {memdiag}
timeout                 15

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Vista Ultimate
locale                  en-US
inherit                 {bootloadersettings}
osdevice                partition=C:
systemroot              \Windows
resumeobject            {52f5447b-d997-11db-9611-cf8c4bc55b71}
nx                      OptIn

Windows Legacy OS Loader
------------------------
identifier              {ntldr}
device                  partition=D:
path                    \ntldr
description             Earlier Version of Windows

Windows Legacy OS Loader
------------------------
identifier              {b3372828-ec51-11db-bedb-000d614f3306}
device                  partition=D:
path                    \NST\nst_grub.mbr
description             3,5

Windows Legacy OS Loader
------------------------
identifier              {b3372829-ec51-11db-bedb-000d614f3306}
device                  partition=D:
path                    \NST\nst_grub.mbr
description             3,6

Windows Legacy OS Loader
------------------------
identifier              {b337282a-ec51-11db-bedb-000d614f3306}
device                  partition=D:
path                    \NST\nst_grub.mbr
description             3,4

Windows Legacy OS Loader
------------------------
identifier              {b337282b-ec51-11db-bedb-000d614f3306}
device                  partition=D:
path                    \NST\nst_grub.mbr
description             3,7
Also, a list of my drives, and what lives where, as seen by Vista :smile:


Win32 Available Volume Information
\\.\Volume{84516573-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\HarddiskVolume1
fixed media
Mounted on \\.\e: (XP Stripped version) IDE

\\.\Volume{84516575-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\HarddiskVolume5
fixed media
Mounted on \\.\g: (FAT 32 Data Drive) IDE

\\.\Volume{deaf03da-e880-11db-b12c-806e6f6e6963}\
link to \\?\Device\HarddiskVolume6
fixed media
Mounted on \\.\l: (NTFS Backup Drive) IDE

\\.\Volume{e0b0b1af-d994-11db-8389-806e6f6e6963}\
link to \\?\Device\HarddiskVolume7
fixed media
Mounted on \\.\j: (NTFS Document storage etc ) SATA

\\.\Volume{e0b0b1b0-d994-11db-8389-806e6f6e6963}\
link to \\?\Device\HarddiskVolume8
fixed media
Mounted on \\.\k: (FAT32 Empty Partition) SATA

\\.\Volume{84516576-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\HarddiskVolume9
fixed media
Mounted on \\.\d: (NTFS XP Pro)

\\.\Volume{84516577-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\HarddiskVolume10
fixed media
Mounted on \\.\c:frowning:NTFS Vista)

\\.\Volume{8451657a-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\CdRom0
CD-ROM
Mounted on \\.\h:

\\.\Volume{8451657b-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\CdRom1
CD-ROM
Mounted on \\.\i:

\\.\Volume{8451657c-d954-11db-968f-806e6f6e6963}\
link to \\?\Device\Floppy0
removeable media
Mounted on \\.\a:


NT Block Device Objects
\\?\Device\CdRom0
size is 2147483647 bytes
\\?\Device\CdRom1
size is 2147483647 bytes
\\?\Device\Floppy0

Virtual devices
/dev/zero
/dev/random
stdin

Not Shown (ext3 drive Suse 10.2)

I hope this is of some use to you, thank you for taking the time to look.
 

mqudsi

Mostly Harmless
Staff member
#9
Sorry, mbr.exe --list does *not* list non-Windows drives. My apologies.

sstray: your problem is that you can only have one nst_grub profile at one time on one machine.

Here's what you have to do:
1) Make sure the D:\NST\ directory exists and is writable. Preferred to just delete it and create it anew.
2) Delete all Linux entries in EasyBCD.
3) Add the most likely drive combo from the Add/Remove Entries -> Linux screen, Verify nst_grub.mbr exists in D:\NST\reboot, and try it.
4) If it doesn't work, delete the old entry, create a new one.
5) Rinse & Repeat.
 
#10
Thank you again!

Deleted all linux entries
Deleted NST folder
Added new entry in ebcd Grub, disk 3 part 6
Check NST, folder is Empty
Set folder options to show hidden files, (just in case) folder empty
Check folder permissions, set all users, owners, administrators et al to read write execute etc
Remove entry from ebcd
Add new Linux grub,drive 3 part 6
Check folder NST still empty :frowning:
Repeat previous 4 steps, with same result.
Were I not already follicly challenged, I would be tearing at hair :wink:

Close EBCD, right click, run as administrator, (thinking to self(bloody fool, why didn't you do this before?))
Delete linux entry
add new, as above
Result, strangely, is also as above?

Am now considering sacrificing first born grandchild :wink:
 

mqudsi

Mostly Harmless
Staff member
#11
if you added disk 0, partition 1, do you at least get a file in that directory? (not that it would work, but just to know what we're dealing with here)
 
#12
Just tried something else.
Delete folder NST
Create folder NST
Set permissions for all
Delete entry
Add new, as before
Notepad opens,titled ckedit
Content is:
06-08-01 21:53:24: F=EXP_AUTH_ERR E=-4 AUTHORIZATION NOT PRESENT
I assume this has some significance, just no idea what?
 

mqudsi

Mostly Harmless
Staff member
#13
When exactly did notepad open? By itself? After you clicked a file? After you clicked Add?
 
#15
Just wondering.
Assuming this is a permissions problem, if I install a copy on one of the XP drives, add linux from there, copy the (hoped for) resulting file, paste it to the correct folder. Uninstall from the XP drive, cross my fingers................?
 
#16
OK, I downloaded a fresh copy, and installed on one of the XP drives.
The new installation immediately picked up the boot menu entries :smile:

Delete linux entry, add a new one, result is empty folder :frowning:
Delete linux entry,delete NST folder, add new entry. Result is empty folder :frowning:
Delete lunux entry, delete NST folder, Add new folder, and rename it to NST, set all permissions, add new linux entry, result is empty folder

Can the hoped for file be manually edited in a text prog?
 

mqudsi

Mostly Harmless
Staff member
#17
That's weird, I've never heard of ckedit and most certainly never coded it into EasyBCD.
You can't use a text editor to set this file up, it's binary data.

I guess there is something madly wrong with your system - NST should automatically be filled with data, and notepad should never open up like that.

You can create it manually, but it's a chore:
Get a Live CD, open a terminal and type
Code:
dd if=/dev/hda1 of=~/Desktop/nst_grub.mbr bs=512 count=1
hda1 should be changed to point to the actual ID of the linux drive.
hd[a-z][1-9]
the first is the number of the drive. first drive is 0, second is 1, and so on.
second is the number of the partition. first is 1, second is 2, etc.

you'll have nst_grub.mbr on your Desktop.
Email it to yourself, copy it to a USB, etc.

This is the file you need and put it in \NST\ on your boot drive (the one with boot.ini).

This is the first I've ever heard of the problem you're facing, EasyBCD usually hooks right into the drive for you and gets this data by itself. There is something wrong with your setup...

Jerry, I believe you had no issue with nst_grub being created in \NST\, right?
 

mqudsi

Mostly Harmless
Staff member
#19
Can you give me a screenshot of your Administrative Tools -> Computer Mangement -> Disk Configuration?

Just start a reply and press "add attachment"
 

mqudsi

Mostly Harmless
Staff member
#20
Say Jerry,

Can you try doing what I recommend sstray do above?
Boot into Linux and dd the /dev/hd for the partition with GRUB installed to the bootsector?

dd'ing the bootsector from there excludes the need to know what drive it is in Windows.
This is a last-ditch measure though, and wholly un-necessary if you know the correct drive ID in Windows.