ubuntu/win7 双系统,重新装win7,系统卡在grub终端的问题修复

在一台机器上装windows/ubuntu可充分利用系统的硬件资源,比起在主系统里通过VirtualBox或Vmware安装虚拟机的做法, 更能充分利用CPU/memory的资源。

Win 7/ ubuntu双系统,一般先安装Win7, 然后在win 7 中通过安装easyBCD软件来引导ubuntu。按照这样的顺序安装的话,一般问题不大。具体安装步骤,可参考这篇文章: 点击打开链接

之前机器的独立分区里安装了ubuntu,在安装了win 7后,开机直接进入了Win 7, 原来的ubuntu启动项消失了。作为一个GEEK的我,怎么会不把ubuntu找回来。步骤如下:

1. 用U盘制作了一个ubuntu 的启动盘,Try ubuntu(不安装ubuntu), 进入ubuntu

2. 获取超级用户权限

sudo -s

3. 执行 fdisk -l,得到如下结果

4. 找到 ID 为83的设备路径,可能有多个,找到ubuntu根分区所在的路径,这里是 /dev/sda9。其中sda10是linux交换分区,sda11是home分区。

5. 挂载sda9

mount /dev/sda9 /mnt

6. 输入命令安装grub到硬盘的MBR:

grub-install--root-directory=/mnt/dev/sda

    出现“Installation finished. No Error Reported.” 表示操作成功。

   当然也可通过echo $? 查看命令的执行结果。为0表示成功,非0表示失败。

7. 卸载/mnt 

umount /mnt

8. 关机后,移除启动U盘,重新启动机器。ubuntu和windows的启动界面都出来了。

      但是windows的启动可能会有问题,选中进入ubuntu 系统

9. 输入命令更新引导项:

sudo update-grub

9. 重新启动后,Windows/ubuntu都应该可以进入了,而且多了很多启动项。

10. 修改启动项的顺序,让常用的系统作为默认的开机启动项

               sudo gedit /boot/grub/grub.cfg

其中一个menuentry 表示一个启动菜单项。例如,下面就有两个ubuntu系统的启动项,

调整menuentry 的先后顺序即可调整系统启动顺序。

menuentry 'Ubuntu, with Linux 3.8.0-44-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 8d8dcd27-054f-4b60-92b8-b27a75a49020
	linux	/vmlinuz-3.8.0-44-generic root=UUID=1b1c5a10-39b2-4a8d-b8a2-c0d5876c957b ro   quiet splash $vt_handoff
	initrd	/initrd.img-3.8.0-44-generic
}
menuentry 'Ubuntu, with Linux 3.8.0-44-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 8d8dcd27-054f-4b60-92b8-b27a75a49020
	echo	'Loading Linux 3.8.0-44-generic ...'
	linux	/vmlinuz-3.8.0-44-generic root=UUID=1b1c5a10-39b2-4a8d-b8a2-c0d5876c957b ro recovery nomodeset 
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-3.8.0-44-generic
}

11. 修改timeout的值,可减少每次的等待时间

   sudo gedit /boot/grub/grub.cfg

terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值