Dual boot in Windows7

D

Dabbler

I am pretty much familiar how dual boot works in XP but I am clueless
how Windows7 does it. I don't see any boot.ini file in the root
directory, so it must be a different method. Can anybody give me a hint?
 
C

Conor

I am pretty much familiar how dual boot works in XP but I am clueless
how Windows7 does it. I don't see any boot.ini file in the root
directory, so it must be a different method. Can anybody give me a hint?
bcdedit
 
R

R. C. White

Hi, Dabbler.

Dual-boot with which other OS? Another Windows? Or with Linux or some
other non-MS OS?

The only time that Win7 (or Vista) uses boot.ini (or NTLDR or NTDETECT.COM)
is when you are dual-booting with WinXP (or Win2K).

Be sure to follow the Golden Rule of dual-booting: Install the newest
Windows LAST. Win7 Setup.exe knows what to do when it finds WinXP already
installed, but WinXP has no idea how to handle Win7, which didn't exist when
WinXP Setup was written. If you install WinXP after Win7, then you'll have
to run Win7 Setup again to let it re-write the startup files that WinXP's
Setup will have overwritten.

The Windows boot process always starts in the System Partition (typically -
but no necessarily - the first partition on the first HDD) and then branches
to whichever partition on whichever HDD holds the Windows installation that
we choose from the opening menu. WinXP uses NTLDR and NTDETECT.COM to start
and boot.ini to hold the menu of OSes. Win7 uses the file bootmgr and the
Boot Configuration Data (BCD) held in the Boot folder. In either system,
all these startup files and folder must be in the Root of the System
Partition and they all have the System and Hidden attributes.

When Win7's bootmgr presents the OS menu, the first option is to boot a
"Previous version of Windows" - previous to Vista. When you select that,
bootmgr backs out of the way and turns control over to NTLDR, which uses
boot.ini to present the pre-Vista options, such as WinXP Pro, WinXP 64,
Win2K, etc. Just like when dual-booting in WinXP, once the OS selection is
made, that OS starts and all the other options are forgotten - except as
files and folders taking up space on the disk.

One difference is that Win7 Setup.exe, when booted from the DVD, assigns the
letter C: to its own Boot Volume, even if that is the third partition on the
second HDD, which probably means that the System Volume will be seen as
Drive D:. This doesn't confuse Windows, but it does confuse a lot of users!
To make Win7 "inherit" the drive letters previously assigned by WinXP, you
must boot into WinXP and run Win7's Setup from the WinXP desktop. As with
WinXP, you can use Disk Management to change the drive letter for any volume
EXCEPT the System and Boot volumes; those can be changed only by running
Setup again.

Win7 comes with a command-line program to manage the BCD; it is called
BCDEdit.exe. It is about as user-friendly as LinEdit.com and other such
apps that we used in MS-DOS long ago. :>( Most users prefer to use a
third-party app, such as EasyBCD, mentioned by another poster, to manage the
BCD.

RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8089.0726) in Win7 Ultimate x64
 
D

Dabbler

R. C. White said:
Hi, Dabbler.

Dual-boot with which other OS? Another Windows? Or with Linux or
some other non-MS OS?

The only time that Win7 (or Vista) uses boot.ini (or NTLDR or
NTDETECT.COM) is when you are dual-booting with WinXP (or Win2K).

Be sure to follow the Golden Rule of dual-booting: Install the newest
Windows LAST. Win7 Setup.exe knows what to do when it finds WinXP
already installed, but WinXP has no idea how to handle Win7, which
didn't exist when WinXP Setup was written. If you install WinXP after
Win7, then you'll have to run Win7 Setup again to let it re-write the
startup files that WinXP's Setup will have overwritten.

The Windows boot process always starts in the System Partition
(typically - but no necessarily - the first partition on the first
HDD) and then branches to whichever partition on whichever HDD holds
the Windows installation that we choose from the opening menu. WinXP
uses NTLDR and NTDETECT.COM to start and boot.ini to hold the menu of
OSes. Win7 uses the file bootmgr and the Boot Configuration Data
(BCD) held in the Boot folder. In either system, all these startup
files and folder must be in the Root of the System Partition and they
all have the System and Hidden attributes.
Thanks for explaining what BCD stood for because when I was young it
stood for Binary Coded Decimal numbers. What a difference, huh? ;-)
Anyway, when I installed Win7 on my laptop that had Vista in one
partition, the installer automatically set me up for dual boot. So I was
wondering what I would have to do to eventually remove Vista and
allocate the whole drive to Win7 that is the first partition on the
drive right now. I might even replace Vista with a Linux distro to play
with, at least temporarily, but in that case I should be able to dual
boot into Win7 and Linux.
 
R

R. C. White

Hi, Dabbler.
Thanks for explaining what BCD stood for because when I was young it stood
for Binary Coded Decimal numbers. What a difference, huh? ;-)
That BCD was a part of EBCDIC, right? I had only a passing acquaintance
with that because it was mostly for computers much bigger than the ones that
I was interested in. ;^}
I might even replace Vista with a Linux distro to play with, at least
temporarily, but in that case I should be able to dual boot into Win7 and
Linux.
I know nothing of Linux except what I read in NGs like this.

I've been dual-booting since Win95/NT4.0 in about 1998, but always with
Windows versions only.
Anyway, when I installed Win7 on my laptop that had Vista in one
partition, the installer automatically set me up for dual boot.
Right. When we follow the Golden Rule that I mentioned, the latest Setup
handles all that automatically.
So I was wondering what I would have to do to eventually remove Vista and
allocate the whole drive to Win7 that is the first partition on the drive
right now.
Most users - even veterans - don't realize that Windows always installs
itself in TWO segments. The large segment (maybe 10 GB or more in Win7)
goes into the \Windows folder tree on the partition where we tell Setup to
install it. That partition becomes the Boot Volume and the \Windows folder
the Boot Folder. But there is a very small (< 1 MB) segment that ALWAYS
goes into the System Partition. As I said earlier, this is NOT ALWAYS the
first partition on the first HDD, but it usually is. The actual location is
the Active (bootable) primary partition on the HDD currently designated in
the BIOS as the boot device. But any primary partition or any logical drive
in an extended partition on any HDD in the computer can become the Boot
Volume for a Windows installation.

Most computer users have only a single HDD and many (most?) of those have
only a single partition, so that previous paragraph is academic for them:
EVERYTHING is in Drive C:. But, even then, boot-up starts in the System
Partition and then progresses to the Boot Volume. It just happens that both
the System Partition and the Boot Volume are Drive C:.

Most users never quite get straight the "backwards" definitions of "System
Partition" and "Boot Volume". But this distinction is critical to
understanding dual-booting - and even to a proper understanding of
mono-booting. As many have said, we BOOT from the System Partition and keep
the operating SYSTEM files in the BOOT volume. The reasons for this are
somewhere in computer antiquity and we are not likely to see them changed,
so we just have to get familiar with them. See:
Definitions for system volume and boot volume
http://support.microsoft.com/kb/314470/EN-US/
wondering what I would have to do to eventually remove Vista and allocate
the whole drive to Win7 that is the first partition on the drive right
now.
So ALL you need to do to remove Vista is boot into Win7 and delete Vista's
Boot Folder. Since Vista was installed first, it probably is C:\Windows.
Win7 Setup may have assigned C: to its own boot volume and another letter -
probably D: - to the System Partition. If that is true, then the command to
delete C:\Windows will be refused, since no OS will delete its own boot
folder. But to Win7, Vista's boot folder is "just another folder and Win7
will happily delete that. So, just tell Win7 to delete D:\Windows. That
will leave the System Partition intact, except that all of Vista will be
gone.

Then all you have to do is edit the BCD on D: to remove the reference to
Vista. That's where you'll use BCDEdit.exe or one of the third-party BCD
editors. You don't actually have to do this edit, but it might be a source
of confusion until you do.

RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8089.0726) in Win7 Ultimate x64
 
K

Ken Blake, MVP

Hi, Dabbler.


That BCD was a part of EBCDIC, right? I had only a passing acquaintance
with that because it was mostly for computers much bigger than the ones that
I was interested in. ;^}

EBCDIC was an extended version of the older BCD. EBCDIC stands for
Extended BCD Interchange Code.
 
K

Ken Blake, MVP

Realy meas Extended Binary Coded Decimal Interchange Code


Yes, that's what I said. RC correctly said BCD means "Binary Coded
Decimal" and I added the definition of the "E" and "IC" to that.
 
D

Dabbler

Ken Blake said:
Yes, that's what I said. RC correctly said BCD means "Binary Coded
Decimal" and I added the definition of the "E" and "IC" to that.
Actually, there is more to it than that. BCD coding, used by a line of
Burroughs computers back in the '70s used decimal memory addressing
scheme where each decimal digit was encoded with binary. So, a memory
offset of 12, for instance, actually required two digits, with 1 and two
binary codes in them, respectively. In an EBCDIC system it would only
take one hex digit ('C'.) I used to program those Burroughs computers,
so I know. I also coded IBM 360/370 (EBCDIC) computers in assembly. Here
is a Wikipedia quote about it:

"Burroughs produced the B2000 or "medium systems" computers aimed
primarily at the business world. The machines were designed to execute
COBOL efficiently. This included a BCD (Binary Coded Decimal) based
arithmetic unit, storing and addressing the main memory using base 10
numbering instead of binary."

<http://en.wikipedia.org/wiki/Burroughs_Corporation>

I really liked those computers because they were easy for assembly
language programmers. Burroughs engineers obviously designed those
computers with programmers in mind.
 
K

Ken Blake, MVP

Actually, there is more to it than that. BCD coding, used by a line of
Burroughs computers back in the '70s used decimal memory addressing
scheme where each decimal digit was encoded with binary.

BCD goes back to way before the 70s. My first use of it was in 1962,
when I started programming the IBM 1401.
 
D

Dabbler

BCD goes back to way before the 70s. My first use of it was in 1962,
when I started programming the IBM 1401.
Whoa, you must be even older than I! ;-) Wasn't that IBM 1401 used
primarily by banks to run reader-sorters?
 
K

Ken Blake, MVP

Whoa, you must be even older than I! ;-)

I'm 72.

Wasn't that IBM 1401 used
primarily by banks to run reader-sorters?

No. It was a very low-end, but general purpose, computer. It ranged
from 1.4 to 16KB or RAM. In its day it was far and away the computer
that sold the most.
 
G

Gene E. Bloch

I'm 72.


No. It was a very low-end, but general purpose, computer. It ranged
from 1.4 to 16KB or RAM. In its day it was far and away the computer
that sold the most.
When I first started in computers, Fall '61, all the computers I knew
used the 1401 as an intermediary for sending data to the printers,
which were attached to the 1401. It was a couple of years before I
realized that the 1401 was a computer in its own right, not a printer.
I never got to program for it, though.
 
K

Ken Blake, MVP

When I first started in computers, Fall '61,

That's almost exactly one year before me.

all the computers I knew
used the 1401 as an intermediary for sending data to the printers,
which were attached to the 1401.

Yes, it was commonly used for that in large Data Centers with big
mainframes.

It was a couple of years before I
realized that the 1401 was a computer in its own right, not a printer.
I never got to program for it, though.

Its use as a "computer in its own right" was actually far more common
that the other one.
 
L

Lord Vetinari

Dabbler said:
Actually, there is more to it than that. BCD coding, used by a line of
Burroughs computers back in the '70s used decimal memory addressing scheme
where each decimal digit was encoded with binary. So, a memory offset of
12, for instance, actually required two digits, with 1 and two binary
codes in them, respectively. In an EBCDIC system it would only take one
hex digit ('C'.) I used to program those Burroughs computers, so I know. I
also coded IBM 360/370 (EBCDIC) computers in assembly. Here is a Wikipedia
quote about it:
Heh...I still have my IBM 360/370 Assembly Language book (what shall I do
with it?)....too bad I suffered from undiagnosed mental illness at the time,
I became so frustrated, I dropped the class after two weeks. Oh well, if
I'd gotten my degree, I wouldn't have met my wife.
"Burroughs produced the B2000 or "medium systems" computers aimed
primarily at the business world. The machines were designed to execute
COBOL efficiently. This included a BCD (Binary Coded Decimal) based
arithmetic unit, storing and addressing the main memory using base 10
numbering instead of binary."

<http://en.wikipedia.org/wiki/Burroughs_Corporation>

I really liked those computers because they were easy for assembly
language programmers. Burroughs engineers obviously designed those
computers with programmers in mind.
That was kind of them.
 
D

Dave Rudisill

Lord Vetinari said:
Ah, that WAS a good year. The Russians hit the moon, and at the same time,
I was born. Coincidence?
I was born the same year as the aliens are purported to have
landed in Roswell.

Strictly a coincidence.

We mean your people no harm...
 
G

Gene E. Bloch

On Wed, 27 Jan 2010 21:38:39 -0800, Gene E. Bloch


That's almost exactly one year before me.


Yes, it was commonly used for that in large Data Centers with big
mainframes.


Its use as a "computer in its own right" was actually far more common
that the other one.
Of course. But initially, I was not exposed to places that were doing
that. Basically, I handed a box of cards to someone at a window and
later got the cards and my printout back.

....I had no (well, very little) idea what they were doing behind my
back ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top