Booting Up
12-Mar-19 boot.ppt 1
first 64K computer address space
• what is in a PC’s memory when the computer is off?
– most of RAM is empty when the PC first powers up
• RAM is volatile because its contents are lost when power goes off
• but, two small parts are different
read-only non-volatile
RAM
0 8K 16K 24K 32K 40K 48K 56K 64K
EEPROM battery-backed RAM
(contains code) (contains hardware settings)
• when the PC first powers up, where is the operating system?
12-Mar-19 boot.ppt 2
battery-backed RAM
• battery-backed RAM contains a simple database
• also called the CMOS
– a program called “Setup” is used to modify it
– you can start Setup only while booting the computer
• its data describes hardware parameters
– time/date
– what disk drives are present
– what kind of display is present
– how much memory is present
– how fast some components should run
– etc.
RAM
0 8K 16K 24K 32K 40K 48K 56K 64K
EEPROM battery-backed RAM
(contains code) (contains hardware settings)
• how does the configuration data get modified?
– plug and play devices
– the Setup program
12-Mar-19 boot.ppt 3
the EEPROM
• the EEPROM contains the programs needed to start the computer
• also called the BIOS, or the firmware
• because it contains only programs, it can be read-only:
– BIOS routines (a minimal keyboard/display driver)
– POST routines (e.g., RAM parity check, keyboard test)
– setup program – lets users view or modify hardware settings
– bootstrap program – searches disk drives for an operating system
RAM
0 8K 16K 24K 32K 40K 48K 56K 64K
EEPROM battery-backed RAM
(contains code) (contains hardware settings)
• how does the BIOS get updated if its programs need to change?
12-Mar-19 boot.ppt 4
add-on boards also contain BIOS chips
• the motherboard BIOS contains code to access the
keyboard, floppy drive, ATA (IDE) hard disk controllers,
USB devices, and disk drives
• a computer system can contain several BIOS firmware
chips
– plug-in adapter cards such as network interface cards
and video boards often include their own BIOS
• complementing or replace the system BIOS code for the
given component
• CMOS (“Setup”) database maps these extra BIOS programs
into the low memory address space
12-Mar-19 boot.ppt 5
what is a disk drive?
• a piece of physical hardware
• non-volatile storage
• programs on a disk drive must be loaded into RAM before they
execute
• disk drives must be subdivided into partitions
– the act of writing on a disk drive to partition it is called
partitioning
– you have to know which OS will use the partition before you
create it
• partitions have to be formatted with a particular file system
– typically, each OS uses a different file system
– PC partitions have one or more logical drive letters associated
with them
– Solaris partitions have directories associated with them
(“mounted”)
12-Mar-19 boot.ppt 6
more about disk drives
• what is fdisk?
– a utility from Microsoft for partitioning disks
– part of the original DOS 6.x operating system
– a more versatile utility: Partition Magic
• what is a boot sector? (master boot record, or MBR)
– the first accessible “sector” on a drive
– it contains:
• a table of (up to 4) partitions
• optionally, code to bootstrap an OS from the “active” partition
• the partition table in the boot sector contains up to 4 entries:
– primary partition
• takes up one entry in partition table, and contains a single
logical drive
– extended partition
• takes up 1 entry in partition table, and may contain multiple
DOS, Linux or other partitions (logical drives in Windows)
– Solaris partition
• takes up 1 entry in partition table
• active partition
– a primary partition that is bootable
12-Mar-19 boot.ppt 7
starting Windows on an x86-based computer
• since 1981, all x86-based computers use the partition style known as the
master boot record (MBR)
– first used by MS-DOS in 1981, and continued up through Windows XP
Pro
• when you start your computer, the first code that executes is the BIOS
– BIOS loads the bytes from the MBR of the boot device into memory
– it then transfers control to the bytes just loaded into memory
– the MBR’s first bytes are code to start loading the operating system
• but first, it has to find the operating system
• It looks that up in the partition table (stored in the end of the MBR)
• Because MBR is the only partition style available on x86-based computers
running Windows XP or earlier, it is used automatically and you do not need
to choose this style
– Dynamic disks were introduced in Windows 2000 and they provide
features that basic disks do not, such as the ability to create volumes
that span multiple disks, including fault-tolerant mirrored and RAID-5
volumes.
• Requires a GPT partition style
• GPT stands for “GUID Partition Table”
• GUID stands for “Globally Unique ID”
12-Mar-19 boot.ppt 8
MBR
• the first physical sector on a disk contains a data structure
known as the Master Boot Record (MBR). The MBR contains
the following:
– a boot program (up to 442 bytes in size)
– a disk signature (a unique 4-byte number)
– a partition table (up to four entries)
– an end-of-MBR marker (always 0x55AA)
12-Mar-19 boot.ppt 9
enter GPT partitions and EFI
• Extensible Firmware Interface (EFI) is a specification
that defines a software interface between an operating
system and platform firmware.
– EFI is intended as a significantly improved replacement
of the old legacy BIOS firmware interface historically
used by all IBM PC compatible personal computers
• the EFI specification was originally developed by Intel
– now managed by the Unified EFI Forum and is officially
known as Unified EFI (UEFI)
– Used first on Itanium processor systems
– Also used by 64-bit Windows versions
– Vista can use them as data disks (but not boot drives)
– XP Pro cannot use them at all
12-Mar-19 boot.ppt 10
kinds of hard drives today
• basic MBR disk – Windows XP systems all use this
• basic GPT disk
• dynamic MBR disk
• dynamic GPT disk
• if using EFI, there also has to be a special partition
containing the particular EFI code your computer system
happens to need
– what are the implications of this?
12-Mar-19 boot.ppt 11
Boot Camp
• I have a MacBook capable of running both Mac OS X and Windows
XP
– the laptop is 2 years old
• cost was $1200 + $300 for Windows XP Pro license
– it only has Mac OS 10.4, “Tiger”
• not 10.5, “Leopard”, the latest
• came with 512K, not enough memory to run Leopard
– how did I get it to run Windows?
• Mac OS 10.4 let me download a special program called Boot Camp
• it created a Windows partition, after which, I installed Windows XP
Pro on that partition
– coupla years went by…
• recently, my Windows XP install partition got sick; I needed to
restart Windows
• it died in a way that even Mac OS X was unable to redo the
Windows partition
– so I also had to reinstall Mac OS X (10.4)
• Boot Camp was cripple-ware
– “expired”; could no longer download it
– what to do?
12-Mar-19 boot.ppt 12
the end of this slideset
12-Mar-19 boot.ppt 13
• I have a MacBook with Apple’s “Boot Camp” program on it
– What does Boot Camp do?
– Can I just run Windows on my MacBook without
12-Mar-19 boot.ppt 14