红联Linux门户
Linux帮助

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

发布时间:2016-03-09 15:32:25来源:linux网站作者:rex_nie

在一台机器上装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,得到如下结果

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


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.1.重新启动后,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


本文永久更新地址:http://www.linuxdiyf.com/linux/18758.html