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 ###