2012年(30)
分类:
2012-04-23 18:58:37
原文地址:linux windows 双系统并存与启动引导 作者:wfeng
发现网站这类文章不好找 找到的分析也不太详细 小弟不才今天就写这么一个文章
PS: 文章是否保留出处属于个人意愿 本人不喜欢强制要求
一般安装WINDOWS 和 LINUX 并存的有两种方式
1: 先安装windows xp 在安装LINUX 靠 LINUX 的grub 来选择引导两个
2: 先安装LINUX 在安装WINDOWSXP 靠 WINDOWS XP C盘根目录下的 boot.ini 来引导 grub FOR DOS (这个是个软件可以下载到) 在引导LINUX
我的硬盘情况
/media/hda1 //WINDOWS C盘的
/media/hda2 //硬盘扩展分区
/media/hda3 // LINUX SWAP 分区
/media/hda4 // LINUX 根分区/
/media/hda5 //WINDOWS D盘的
………………………………………………………………………………………………………………………………
一些补充: LINUX 设备中 第一块ATA 硬盘 为hda 第一个分区为 hda1
hda1-4都为主分区 hda5 开始为逻辑分区
………………………………………………………………………………………………………………………………
先讲第一种情况 先安装 WINDOWS XP 在安装 LINUX 的
这种出现比较常见的情况 就是 可以引导LINUX 但是不了WINDOWS
这个原因是 LINUX 最后安装重新刷新了 mbr(主引导记录) grub 的配置不正确或者 grub 无法识别 WINDOWS 分区
出现这样的情况解决办法就是重新修改grub 配置文件
这个文件一般在LINUX 分区 /boot/grub/.conf 或者/boot/grub/menu.lst 详细根据LINUX发行版本不同而不同
………………………………………………………………………………………………………………………………
补充:.conf 为隐藏文件 需要用ls -a 命令可以看见 或者在 X WIN 设置显示隐藏文件也可见
一些人分区直接 就一个根分区 / 和 SWAP 就完了 这样不科学 建议设置一个/BOOT 分区 方便以后好恢复
如果没有分/boot 分区 默认的路径就是/grub
………………………………………………………………………………………………………………………………
那么怎么来修改这个配置文件~? 看个例子~以下是我计算机上的grub 配置文件
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set default entry to entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10 //超时时间
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=39578435-c0d9-45c6-bb67-a147d26bee3a ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd1,1)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## ## End Default Options ## // LINUX 引导配置
title Ubuntu, kernel 2.6.20-16-generic
root (hd0,1)
kernel /vmlinuz-2.6.20-16-generic root=UUID=39578435-c0d9-45c6-bb67-a147d26bee3a ro quiet splash
initrd /initrd.img-2.6.20-16-generic
quiet
savedefault
title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root (hd0,1)
kernel /vmlinuz-2.6.20-16-generic root=UUID=39578435-c0d9-45c6-bb67-a147d26bee3a ro single
initrd /initrd.img-2.6.20-16-generic
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS //windows 系统引导配置
# on /dev/hda1
title Windows NT/2000/XP
root (hd0,0)
savedefault
makeactive
chainloader +1
………………………………………………………………………………………………
#号是注释掉的部分 没用
………………………………………………………………………………………………
linux 引导配置
第一个是 title名字 - -|~ 可以不鸟
第二个是root 系统所在 磁盘分区 hd0,1表示 hda2 hd0,0 表示 hda1
第三个是kernel 加载内核路径 以及参数
第四个是 initrd 系统进程
………………………………………………………………………………………………
windows引导配置
第一个是title Windows NT/2000/XP
第二个是root 系统所在 磁盘分区 hd0,0 就是 hda1 c盘
………………………………………………………………………………………………
其他没什么好讲了 就根据自己的硬盘分区情况 改修里面的配置文件就可以实现双系统启动了
建议C盘的 格式为FAT32 不然一些grub 确实无法识别~
第二种情况:
先安装LINUX 在安装WINDOWSXP 靠 WINDOWS XP C盘根目录下的 boot.ini 来引导
这个情况个因为windwsxp 最后安装 所以造成重刷MBR 是引导的 WINDOWS
需要来修改C 盘下的配置文 件boot.ini来实现 双系统引导 还需要一个软件 grub for dos
把grub for dos 下载下来之后 有 一个grldr 这个文件没后缀的 复制到c盘根目录 以及一些相关文件都弄在C盘 在修改 bootini
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=" Windows XP " /noexecute=optin /fastdetect
c:\grldr=" Linux "
………………………………………………………………………………………………
c:\grldr=" Linux " 这个是后来添加的 当然也可以改路径
grub for dos 里面也有个配置文件 叫 menu.lst 根据 上面讲的 grub 配置根据实际情况修改一下 就可以实现windows 引导LINUX 了
完~ - -|