windows 与 ubuntu 都安装好以后,电脑系统的主硬盘引导(mbr)记录只能由一个引导管理程序写入。一般的,我们后安装那个系统,那个系统所带得启动管理器就会写入主引导记录(默认安装)。那麽我们分两种情况来说明如何让两个系统和谐共处,也就是让他们能够互相引导。 如果后安装了ubuntu,那么主引导记录默认安装的是grub引导程序,系统刚装好,没有更新之前,启动菜单里没有windows 7的启动项。我们只需要在终端里 输入 sudo apt-get install grub-pc 那么系统就会自动安装这个软件,并且搜索电脑中所有的可启动系统,windows7的启动菜单就会出现在grub的启动项目里。 如果后安装了 windows 7 那么我们就需要用到一个软件EasyBCD 在 windows 环境下安装好这个软件后,打开它,可以看到我们的计算机只有一个启动入口。那么我们那个已经装好的ubuntu它是在电脑里,只是我们需要添加启动入口。那么很简单:在EasyBCD中,点击 Add New Entry 然后点击 LInux/BSD 标签 选择你自己/boot所在的分区,点击保存就好。 这就是我的 window7 与 ubuntu10.04双系统的和谐共存之道! 附:我的grub.cfg 完整配置文件:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
set saved_entry=${prev_saved_entry}
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z ${boot_once} ]; then
saved_entry=${chosen}
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu,Linux 2.6.32-43-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
linux /boot/vmlinuz-2.6.32-43-generic root=UUID=4e2a823a-d648-442c-a836-d5b8d7393a90 ro quiet splash
initrd /boot/initrd.img-2.6.32-43-generic
}
menuentry 'Ubuntu,Linux 2.6.32-43-generic (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
echo '载入 Linux 2.6.32-43-generic ...'
linux /boot/vmlinuz-2.6.32-43-generic root=UUID=4e2a823a-d648-442c-a836-d5b8d7393a90 ro single
echo '载入初始化内存盘...'
initrd /boot/initrd.img-2.6.32-43-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 4e2a823a-d648-442c-a836-d5b8d7393a90
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 7CE0AB46E0AB058C
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###