This is not a warez site! Links/Requests to warez and/or illegal material (porn, cracks, serials, etc..) will not be tolerated. Discussion of circumventing activation/timebombs will also not be tolerated. If you ignore any of the aforementioned you will receive a final warning. If you choose to continue, you will be banned without notice.
If you have questions about customizing Windows Vista that are vLite-specific, please post them in the vLite forum, not here.
![]() ![]() |
Mar 31 2007, 11:38 AM Post
#1 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
Good news for people who use Grub4Dos loader for multi-booting to various Microsoft OSes, including the new Windows Vista, and Linux. I've modified an old trick I've used to load Grub4Dos on system startup with Windows XP as the main OS. See the post at 911cd.net Multi-boot WinXP and other OSes with Grub4Dos for this method. Background For those of you not familiar with Grub4Dos (referred to as Grub henceforth), here's some background information on its benefits. Why use Grub instead of Windows XP boot menu or Vista boot menu? There are several reasons.
Why Rename? My objective was to load Grub loader first, before XP boot menu (and now before Vista boot menu). In order to fulfill this objective, renaming two files is necessary. You can add Grub loader to boot.ini so that you can get an option to load Grub in the XP boot menu. However, if you want Grub to load before XP boot menu, you'll have to rename two files. First, you have to rename ntldr (the XP loader) as ntldrxp and grldr (Grub loader) as ntldr. Basically, you are disguising Grub loader as the XP loader. So, the system thinks it is loading XP but it is loading Grub. Then, you can create an entry in menu.lst to load XP with the following lines: CODE title Microsoft Windows XP SP2 Pro (Find and Load) find --set-root /ntldrxp chainloader /ntldrxp If you had edited boot.ini to automatically load Grub without a timeout, then you would not be able to boot XP because of a circular reference. Why the circular reference? Because system loads ntldr, which reads boot.ini and loads grldr automatically (without an XP menu). Then, from Grub, you would choose to boot XP. However, ntldr will look for boot.ini and load Grub again automatically. It doesn't matter if you rename ntldr to ntldrxp. Ntldrxp will also look for boot.ini and you get a circular reference. Therefore, renaming both ntldr and grldr files solves the problem. Booting Vista with Grub So, with Windows Vista, is it still possible to get Grub to load before Vista boot menu? And can you boot Vista with a Grub entry? Both are yes!! Even though Vista's boot process had been modified, the same trick works with Vista as with XP. Let's look at the differences between Vista and XP boot process before I explain how to get a Grub menu before the Vista menu. For XP, the MBR looks for and loads ntldr. Ntldr then read from boot.ini. If it finds two or more entries in boot.ini, then it will present a menu option for the entries (unless you set to boot an item automatically). That's the process. (I've read that ntldr serves two functions: bootmanager and bootloader. As bootmanager, it presents a menu for XP and other OSes. As bootloader it itself can boot XP.) For Vista, the MBR looks for and loads bootmgr. You can say bootmgr has replaced ntldr. However, bootmgr serves only one function: as a bootmanager. Bootmgr refers to a file called bcd (short for boot configuration data). You can say bcd is like boot.ini. It contains the menu entries for Vista's boot menu. There's a third file called winload.exe that actually loads Vista. This is the bootloader for Vista. So, for our purposes, we need to replace bootmgr with grldr to get a Grub menu before the Vista menu. Then, we need to create an entry in menu.lst for booting Vista, XP, other OSes, and other devices. Finally, now for the instructions. Requirements
Backup System First step is to backup your system with System Restore or Vista's backup program just in case things go haywire (if you follow directions correctly, it shouldn't). I don't use system restore but you may want to. If you are comfortable, you can skip this step. The worst that can happen with these simple instructions is you lose the ability to boot to either Vista or XP. If you created a Vista boot floppy as explained in the next step, then you should be able to recover. If something worse than this happens, you did something beyond these instructions. Create Vista Boot Floppy Now, make a Vista boot floppy. Follow the instructions: http://www.msfn.org/board/index.php?showtopic=95092. I advise you not to skip this step. It will not only help you now, but also if in the future you can't load Vista or XP, it will come in handy. Note: you can create a Vista-only boot floppy, XP-only boot floppy, or Vista/XP dual-boot floppy by modifying your boot options in Vista. If you want a Vista-only boot floppy, modify your boot options to boot Vista automatically (without a timeout). If XP-only, boot XP automatically. If you want dual-boot, specify a timeout before loading your default choice. The changes you make are reflected in the bcd file. Therefore, all files will be same on these floppies except the bcd file. For the purpose of these instructions, you're better off creating a Vista/XP dual-boot floppy so you can boot to either one. Rename bootmgr After creating a boot floppy, boot into XP. Give yourself permission to modify bootmgr. You may have to take ownership. (I took ownership of the file and then modified permissions. I now realize maybe that was not necessary. Not sure.) Rename bootmgr as bootmgrv. Rename grldr Rename grldr as bootmgr. Just like in XP, we're going to fool the system into thinking it is loading Vista, but it is loading Grub loader. Then, copy bootmgr (grldr in disguise) to where the Vista's real bootmgr was, usually in the root folder of your active primary partition. Create Vista Entry in Menu.lst Just like how ntldrxp was able to boot XP, bootmgrv can also boot Vista from Grub menu. Create the following entries in menu.lst. The # indicates comments. Take a look at the comments if you are not familiar with menu.lst. CODE # Sets colors, timeout before default selected and default value color black/cyan yellow/cyan timeout 5 default 0 # Boot Vista by finding and loading bootmgrv title Microsoft Windows Vista find --set-root /bootmgrv chainloader /bootmgrv # Boot XP by finding and loading ntldr title Microsoft Windows XP find --set-root /ntldr chainloader /ntldr # Boot BartPE by finding setupldr.bin title BartPE with XPE 1.0.4 (from HDD) find --set-root /minint/setupldr.bin chainloader /minint/setupldr.bin # Boot BartPE from USB HDD by swap method; note your USB HDD number may be # different. I have two internal HDD's ((hd0) and (hd1)), making my USB HDD # (hd2). Therefore, I have to swap (hd0) with (hd2). title Boot BartPE from USB HDD map (hd2) (hd0) map (hd0) (hd2) chainloader (hd0)+1 # Boot whatever is in CD/DVD drive, even if your BIOS does not support # booting from CD/DVD drive. You need a file called sbootmgr.dsk. # It's a very small SBM disk image. See the end of guide for download link. title Boot CD using Smart Boot Manager find --set-root /sbootmgr.dsk map --mem /sbootmgr.dsk (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) # Example of how to boot a floppy image by finding and loading the image file. # This is much faster than booting from the actual floppy. title Boot Ghost 2003 (ghost.img) find --set-root /ghost.img map --mem /ghost.img (fd0) map --hook chainloader (fd0)+1 # Boot whatever is in the floppy drive title Floppy on (fd0) chainloader (fd0)+1 rootnoverify (fd0) Note, we do not need to rename ntldr as ntldrxp in this case. You can also add Linux and other OSes supported by Grub. I don't use Linux. You can search for instruction on the net. Reboot Voila! Reboot and you should see Grub menu with your boot menu options! Please post any discussion points. This post has been edited by spacesurfer: Jul 11 2007, 05:52 PM |
| | |
Mar 31 2007, 12:25 PM Post
#2 | |
| MSFN Junkie Group: Software Developers Posts: 4958 Joined: 23-July 04 From: Italy Member No.: 25215 OS: none |
Hi, spacesurfer, long time no see... ...once again good work. For the record, it appears that BCD appears to be a hive file, i.e. a binary Registry file. jaclaz |
| | |
Apr 3 2007, 03:12 PM Post
#3 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
Jaclaz, I've been around. I see you've been hanging around too. What else do you know about BCD file? Some has posted here that you can modify the BCD file so it can work with Ghost. I think it break the dependency of BCD on GUID. You know anything else about GUIDs? Interesting to note that even though the bootmanager is replaced in Vista, the same trick works (replacing bootmgr with grldr). Vista's boot manager somehow checks for the right ntldr because you can't rename grldr to ntldr and load Grub from Vista's boot menu. I get an error. However, replacing Vista's own bootmgr works like a charm. |
| | |
Apr 4 2007, 04:49 AM Post
#4 | |
| MSFN Junkie Group: Software Developers Posts: 4958 Joined: 23-July 04 From: Italy Member No.: 25215 OS: none | QUOTE (spacesurfer) What else do you know about BCD file? Not much, basically because at the moment I won't touch Vista with anything but a 10 feet pole 1. BCD is a Registry hive: http://www.911cd.net/forums//index.php?showtopic=19439 2. Nuno Brito is working on a tool to read and write Registry hives: http://www.boot-land.net/forums/index.php?showtopic=1703 http://www.boot-land.net/forums/index.php?showtopic=1839 I am trying to put together in the first thread every reference I can find on Registry hives, if anyone has some more info/links, he is welcome to join us in the "game". jaclaz |
| | |
Apr 5 2007, 10:26 AM Post
#5 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
Vista isn't so bad. It's buggy, though. The the bugs are annoying. MS released it too soon.
|
| | |
May 3 2007, 08:03 PM Post
#6 | |
| Group: Members Posts: 3 Joined: 14-April 07 Member No.: 135542 |
With my minimal knowledge, I can't tell from reading your instructions if this will work on a machine currently using just Vista (in other words, not dual-booting with XP). I'm wondering if I can get the Wubi Ubuntu installer to work by using your method, but I don't want the extra hassle of installing XP, in addition (insert cracks about XP being superior here). Maybe using WinPE or similar to edit the Vista files? Thanks for this tutorial.
This post has been edited by JimDandy: May 3 2007, 08:04 PM |
| | |
May 4 2007, 01:24 AM Post
#7 | |
| MSFN Junkie Group: Software Developers Posts: 4958 Joined: 23-July 04 From: Italy Member No.: 25215 OS: none | QUOTE Maybe using WinPE or similar to edit the Vista files? Since all you have to do is copying/renaming some files, most probably even a floppy with NTFS4DOS would be enough: jaclaz |
| | |
May 4 2007, 06:50 AM Post
#8 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 | With my minimal knowledge, I can't tell from reading your instructions if this will work on a machine currently using just Vista (in other words, not dual-booting with XP). I'm wondering if I can get the Wubi Ubuntu installer to work by using your method.... Of course it will work without WinXP. Grub is not for dual booting just Vista and XP. It's for booting anything that is supported by Grub. That means you can boot whatever from floppy, whatever from CD, OS's supported by Grub (win98, xp, vista, etc). So, you don't have to install XP. As long as Wubi Ubuntu is supported, you can boot it with Grub (without Vista or XP). I'm unfamiliar with the syntax for booting it so you'll have to research to find out what syntax goes in your menu.lst file. |
| | |
May 4 2007, 07:45 AM Post
#9 | |
| Group: Members Posts: 3 Joined: 14-April 07 Member No.: 135542 |
So, just to be clear, there's nothing special about already having a dual-boot system that is required. It's just a way of accessing the necessary files in Vista? Thanks. Oops, I missed the last post. Think my question is answered. Thanks. This post has been edited by JimDandy: May 4 2007, 07:46 AM |
| | |
May 4 2007, 07:57 PM Post
#10 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
Also, let me mention that when you download Grub, there's a sample menu.lst file that gives you examples of how to boot various OS's like Mandrake...
|
| | |
May 5 2007, 01:48 PM Post
#11 | |
| Group: Members Posts: 3 Joined: 14-April 07 Member No.: 135542 |
Thanks for that tip. I think if I install Wubi it'll create the appropriate grub entry for me to copy, and then it'll just be a matter of following your directions to get it to work. When I get a chance to try this out, I'll report back.
|
| | |
May 6 2007, 11:30 AM Post
#12 | |
| MSFN Junkie Group: Software Developers Posts: 4958 Joined: 23-July 04 From: Italy Member No.: 25215 OS: none |
Just for the record, and trying to limit the confusion, everything in this thread is referred to grub4dos, not grub. Grub4dos is a "fork" / "evolution" of grub that adds a number of features to standard "grub" and (at the moment at least) misses some other features of the original. While the two projects are close relatives (and actually grub4dos is derived from grub), and the syntax and overall way of working is VERY similar, some commands and features present in grub4dos (mostly those related to booting DOS, Windows 9x/Me, NT/2k/XP/2003 and Vista) are COMPLETELY missing in grub, while some of the advanced features of grub, like variables handling aren't (yet) present in grub4dos. Thus, the two programs are NOT completely interchangeable. Grub4dos "Whereto" is here: http://www.boot-land.net/forums/index.php?showtopic=14 jaclaz |
| | |
May 17 2007, 05:04 PM Post
#13 | |
| Group: Members Posts: 2 Joined: 17-May 07 Member No.: 139688 OS: none |
Hi there! what also works out great: install GRUB on the partition where Linux resides, e.g. /dev/hda2 (if you installed Linux here). so do not overwrite the MBR - which for exemple is on /dev/hda1 which in Windows, is known as c:/ - by the 'Linux GRUB'. then #update-grub it will search for other operating systems, including the loader for Vista (which is: Grub4Dos) and put them automatically in the Linux GRUB menu. now if you start your pc it will start in Linux GRUB and show all boot options, including 'Windows Vista/Longhorn (loader)' this is an easy, simple and elegant way to accomplish a dual boot system. Have fun. MANGOSTAN |
| | |
May 17 2007, 05:45 PM Post
#14 | |
| Senior Member ![]() ![]() ![]() ![]() Group: Members Posts: 653 Joined: 17-February 05 Member No.: 44321 |
Huh? Grub4Dos is not the Vista boot loader, but an alternative version of a boot loader that is Grub-like and is available for install by EasyBCD. Another program that uses it is the VistaLoader thing that we don't talk about (or use, unless for a temporary educational purpose experiment that you then get rid of when you're finished playing, along with that unlicenced version of Windows Vista). I played with it too, but then again I also purchased 2 Vista Ultimate's Retail so I think I'm entitled to play around on a temporary basis. Are you saying that simply typing the command for Grub to update will install Grub4Dos? I thought that was made by a separate 3rd party project not even forked from Grub. The Vista boot loader is specific to Microsoft Windows Vista, controlled by bcdedit or 3rd party utilities like EasyBCD or VistaBootPro, and does not bear any relation to Grub or Grub For Dos that I'm aware of. So updating Grub is nice, but if it's not in the MBR then Vista will still be alone there unless you specifically download and install something that installs Grub4Dos, like EasyBCD or, well, Grub4Dos itself. Grub4Dos is awesome though! It is a viable alternative boot loader for those that don't want to use the normal version of Grub. OpenSuSE Linux installs a working Vista/Linux dual-boot automatically during installation that uses Grub, but with a cooler looking Grub menu screen. That's what I've mostly been using. Had some wacky problems with older Novell Kernel updates that needed manual fixing but that's been fixed in the latest Kernel update by updated Perl versions and scripts that do it automatically again. I can see Grub4Dos as valid for distro's that need more manual fixing to setup the dual-boot, but as of now OpenSuSE does it fine with it's use of Grub. Don't even need to go in and fix it anymore. This post has been edited by Eck: May 17 2007, 05:46 PM |
| | |
May 18 2007, 02:22 PM Post
#15 | |
| Group: Members Posts: 2 Joined: 17-May 07 Member No.: 139688 OS: none | Are you saying that simply typing the command for Grub to update will install Grub4Dos? I thought that was made by a separate 3rd party project not even forked from Grub. (snip) So updating Grub is nice, but if it's not in the MBR then Vista will still be alone there unless you specifically download and install something that installs Grub4Dos, like EasyBCD or, well, Grub4Dos itself. Grub4Dos is awesome though! It is a viable alternative boot loader for those that don't want to use the normal version of Grub. (snip) Thanks for the reply. To clear things up a little bit. No, '#update-grub' will not install Grub4Dos on /dev/hda1 a.k.a. c:/ What I tried to say was: basically there is no need to mess around with any bootloader on the Windows partition. Even stronger: the MBR can stay untouched. All you need is Linux Grub and its command: update-grub. This will give you all available boot options for Linux + all options for other installed operating systems. And it works like a charm :-) MANGOSTAN |
| | |
May 18 2007, 07:34 PM Post
#16 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
Here's a great download for all: sbootmgr.dsk. It allows you to boot from a CD-ROM, even if your BIOS does not support booting from CD-ROM. It's a great tool for even those who CAN boot from CD-ROM because you can add it to a Grub menu. No more chaning your BIOS boot sequence or pressing F8 to boot from alternative devices. Simply download the file, add it to the root of your OS, add the following code to menu.lst. CODE title Boot CD using Smart Boot Manager find --set-root /sbootmgr.dsk map --mem /sbootmgr.dsk (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) |
| | |
May 21 2007, 11:48 PM Post
#17 | |
| Senior Member ![]() ![]() ![]() ![]() Group: Members Posts: 653 Joined: 17-February 05 Member No.: 44321 |
But, mangostan, if you're installing Grub to the Linux partition, whether on the same hard drive or not, how will the Windows installed MBR, which is what continues to boot your pc no matter what is listed in Grub when it's not in the MBR, know how to boot anything but Windows? Something within the MBR must start the Grub that's installed on the Linux boot sector. I still don't understand exactly what you mean, perhaps? Some folks use Grloader, Grub4Dos, or EasyBCD which can write a chainloader into the Vista boot loader, to boot to the Grub on the Linux partition which you then can use it's menu to select things but in that case you basically want to just boot to Linux. Other (most) just let Grub install into the MBR by the distro default setup program and in most cases these days it will detect Windows and create the section in menu.lst to boot Windows and mount the Windows partition for access within Linux. I've found that I've had a hard time getting rid of Grub manually. Actually the only way I have was by wiping everything and installing Windows fresh. Vista's repair, using YaST to reinstall the original MBR, telling it to install into the Linux partition, running fdisk /mbr from a 98 Startup Disc, running Vista boot repair, running the command to reinstall NT6 from the Vista DVD have all failed to get rid of Grub. The XP cd wouldn't let me into the recovery console as neither my password nor no password would be accepted once Vista was on there. So that's annoying to me. I hate anything without an off switch. One time I left Linux on there and reinstalled Windows. Booting with the SuSE DVD and choosing to start the installed Linux, then trying to get Grub within YaST to reinstall itself also failed for me. I needed to totally wipe and reinstall Linux to get back Grub into the MBR. It's probably my not being familiar with command line stuff and trying to use the provided YaST substitutes. If they're not working properly (as they weren't at the time after those early versions of the Novell Kernel updates) then I'm sunk. Maybe some of that stuff would work now, since they've fixed up the latest Kernel updates they're pushing through Online Update. But the recommended non-Linux methods to get rid of Grub still concern me as they just didn't work for me. Sometimes you just want to get rid of Grub without needing to reinstall Windows. Grub is a really nice boot loader. But these are important issues the makers seem to think aren't so. Otherwise they wouldn't have made removing Grub such a mystery. |
| | |
May 24 2007, 08:53 AM Post
#18 | |
| Member ![]() ![]() Group: Members Posts: 221 Joined: 13-March 05 From: Woodlawn, NY Member No.: 47638 |
Verry nice info, thanks.
|
| | |
May 25 2007, 07:01 AM Post
#19 | |
| Pharmassist Group: Moderator Posts: 1622 Joined: 31-July 04 From: United States Member No.: 25917 OS: Vista Ultimate x64 |
What remains to be seen, I think, is being able to add Windows PE 2.0 to Grub4Dos menu (running off HDD, of course). If anyone has accomplished this please let us know. Using VPC 2007, I am going to experiment with WinPE 2.0 on second partition of first HDD and first partition of secondary HDD. Will post my results here. |
| | |
May 26 2007, 01:22 AM Post
#20 | |
| Advanced Member ![]() ![]() ![]() Group: Members Posts: 451 Joined: 10-February 07 From: Singapore Member No.: 125966 |
too bad i didn't see this earlier... i need to do a dual boot PC of Windows and linux for my school project on VPC. so what happened was... GRUB can't seem to load XP or Vista Directly. it loads the Vista boot loader then select the OS u want... and since i have 2 XP, in the Vista boot loader, they have an option for XP boot loader... so its like going thru 2 boot loaders b4 i can boot a XP. My setup was:
|
| | |
![]() ![]() |
| Lo-Fi Version | Time is now: 7th November 2009 - 10:37 PM |