Win7+Ubuntu双系统,恢复win7

来源:互联网 发布:大数据 智能交通 编辑:程序博客网 时间:2024/05/01 15:46

之前在在硬盘A上装了个win7,后来用ubuntu,就在硬盘B上装了个ubuntu,装ubuntu的时候硬盘A也在。后来发现把硬盘B从电脑上拆下来后启动win7,显示:“grub rescue:”,需要写MBR恢复。


解决方法:

1、光驱插入win7安装盘或者用USB启动(win7支持USB直接启动安装);

2、选择完语言选项后,进入下一步,选择底下的系统修复而不是继续安装;

3、自动搜索完已经安装的系统后,进入下一步;

4、不要让Windows自动修复,没用的,进入命令行提示符模式;

5、先输入命令bootrec/fixmbr回车,再输入命令bootrec /fixboot回车;

6、重启系统即可重新恢复win7启动模式。




win7 ubuntu双系统删除多余启动项

    安装win7 ubuntu双系统的电脑,机器启动时启动项中除了正常的win7和ubuntu之外,可能还会多出一些其他的启动项,如“Memorytest (memtest86+, serial console 115200)”,那么如何删除这些启动项呢?这就需要修改/boot/grub/grub.cfg文件,不过该文件在默认情况下是只读的,在编辑该文件前应该先使用chmod命令赋予该文件以写权限,另外需要注意的是每个启动项都在改文件中有对应的方法(函数),我们编辑该文件时,只需要将不需要的启动项所对应的方法(函数)给注释掉,即在方法(函数)代码的每一行前面加上“#”。编辑示例如下:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig usingtemplates
# 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="1"
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,8)'
search --no-floppy --fs-uuid --set12d66105-78ed-44cf-8126-6d32be2070b2
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 ofterminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,8)'
search --no-floppy --fs-uuid --set12d66105-78ed-44cf-8126-6d32be2070b2
set locale_dir=($root)/boot/grub/locale
set 
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=5
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-21-generic'--class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,8)'
    search --no-floppy --fs-uuid --set12d66105-78ed-44cf-8126-6d32be2070b2
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=12d66105-78ed-44cf-8126-6d32be2070b2ro   quiet splash
    initrd   /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu,Linux 2.6.32-21-generic (恢复模式)'--class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,8)'
    search --no-floppy --fs-uuid --set12d66105-78ed-44cf-8126-6d32be2070b2
    echo    '载入Linux...'
    linux   /boot/vmlinuz-2.6.32-21-generic root=UUID=12d66105-78ed-44cf-8126-6d32be2070b2ro single
    echo    '载入引导虚拟磁盘...'
    initrd   /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
#menuentry "Memory test(memtest86+)" {
#    insmod ext2
#    setroot='(hd0,8)'
#    search--no-floppy --fs-uuid --set 12d66105-78ed-44cf-8126-6d32be2070b2
#   linux16    /boot/memtest86+.bin
#}
#menuentry "Memory test(memtest86+, serial console 115200)" {
#    insmod ext2
#    setroot='(hd0,8)'
#    search--no-floppy --fs-uuid --set 12d66105-78ed-44cf-8126-6d32be2070b2
#   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 --set3e428d15428cd2d7
    chainloader +1
}
#menuentry "Windows Vista(loader) (on /dev/sda3)" {
#    insmod ntfs
#    set root='(hd0,3)'
#    search--no-floppy --fs-uuid --set 82204c6b204c686d
#    chainloader+1
#}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menuentries.  Simply type the
# menu entries you want to add after this comment.  Becareful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

    代码中有红色背景的是我们加的注释,加过注释后保存文件,这样我们就删除了2个启动项:"Memory test (memtest86+)"和"Windows Vista (loader) (on /dev/sda3)",重新启动后我们就会看到选择启动项的时候上面两个启动项不见了。




win7下安装Ubuntu 12.04后修改启动项顺序三方法

修改启动项顺序的三种方法

本文所涉及的方法都是在Ubuntu的安装时将引导加载程序grub安装在了整个硬盘(即MBR内),即开机以grub引导。


方法1
在Ubuntu终端下输入:
sudo mv /etc/grub.d/30_os-prober /etc/grub.d/08_os-prober
sudo update-grub
sudo是使用root权限,mv是修改该文件名。
该命令是将etc文件夹下的grub.d文件夹下的30_os-prober文件改名为08_os-prober。(08可以改为06~09都可以)。Ubuntu的启动项相关文件名为“10_....”这样就可以将win7的启动项放在Ubuntu前面,即启动项列表的第一个。由于引导程序默认启动第一个启动项,所以这样就可以先启动win7了。注意修改完后更新一下grub才能生效(即命令sudo update-grub)。


方法2
在Ubuntu终端下输入:
sudo nano /etc/default/grub
sudo是使用root权限,nano是用nano文本编辑器打开etc文件夹下的default文件夹下的grub文件。
在打开的文本中修改“GRUB_DEFAULT=0”这一项。比如win7在启动项列表中为第5项,则将0改为4。就是win7在启动项列表中的项数减1。
这里还可以修改该在启动项列表等待的时间,即修改“GRUB_TIMEOUT=所要等待的秒数”,-1表示不倒计时。
修改完后按[Ctrl]+X,会提示是否保存,输入Y,提示保存的文件名,还是原来的grub文件,所以直接回车确定。
sudo update-grub,更新一下grub。


方法3(不推荐)

这个方法是编辑/boot/grub/grub.cfg文件,刚才试了一下引导程序直接没了…

这种方法也可以修改启动项的名称,在menuentry关键字的后面,也可以隐藏启动项,在menuentry前面加#。nano是[Ctrl]+W查找关键字。

原创粉丝点击