纠结曲折的折腾Windows 7 + ubuntu 11.10 64位双系统启动的经历

像以前一样先装Windows 7再装ubuntu 11.10。这次装的是64位系统。按照以往的经验,ubuntu的grub自动检测硬盘上已安装的系统,生成grub开机启动菜单,开机之后可以选择启动硬盘上Windows 系统或者ubuntu系统。

这次装系统,意外却发生了!ubuntu安装好重启后,没有显示grub启动菜单而是直接进入win7系统了。

按照网上的说法,估计是grub出问题了。网上有很多解决方法,也不知道哪个对,照着试试呗。用USB live启动盘,选择试用ubuntu,修复grub。更大的意外出现了!电脑开机后进入grub命令行了,黑糊糊一片。

Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/file name.

又尝试了其他办法,都大同小异,还是出现同样的问题。当然最终极的解决方法估计是把这两个系统都重新格掉重装。。。功夫不负有心人,终于找到了解决问题的方法。

首先说说电脑开机后直接进入grub命令行,显示“Minimal BASH-like line editing is supported”的问题如何解决:

插入USB live 启动盘,在U盘上运行ubuntu,确保有网络连接,然后在shell中输入

[cc lang=”bash”]

sudo apt-get install lilo #安装lilo,功能跟grub差不多,安装之后有提示说第一次启用之前需要运行/sbin/lilo配置一下,忽略这个提示,这里不用管它。

sudo lilo -M /dev/sda mbr #修复win7 mbr

[/cc]

这样操作之后,就能直接进入win 7 系统了。问题又回到原地,没有grub菜单,不能进入硬盘上安装的ubuntu,如何生成win 7 和ubuntu的grub启动菜单呢?

在USB live启动盘里运行ubuntu,在shell中输入

[cc lang=”bash”]

sudo fdisk -l #列出硬盘信息,比如sda sda1 sda2, 在这里可以查看ubuntu安装在哪个区块里,我这里的情况是,ubuntu安装到了/dev/sda7
sudo mount /dev/sda7 /mnt
sudo mount –bind /dev /mnt/dev
sudo mount –bind /proc /mnt/proc
sudo mount –bind /sys /mnt/sys
sudo chroot /mnt  #把硬盘中的ubuntu挂载到正在使用的ubuntu,下面的的命令对硬盘上的ubuntu生效,而不是正在操作运行的试用ubuntu。

apt-get –purge remove grub-pc
apt-get install grub-pc
grub-mkconfig
grub-install /dev/sda  #重新安装配置grub

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt  #退出并卸载硬盘ubuntu
[/cc]

最后,重启电脑,grub菜单出现嘞!

PS: 这个方法同样适用于ubuntu12.04 LTS版本

参考链接:http://ubuntuforums.org/showthread.php?t=1893219

本站提供的服务

  • wordpress主题、插件、开发、优化以及WordPress虚拟主机、VPS售卖
  • 自用Shadowsocks 服务器搭建 RMB50/次
  • VPN(PPTP&L2TP)流量出售: 5RMB/GB,10GB起售,8条台湾、美国、香港线路
    • 联系QQ:2564692806

      打赏作者
      这篇文章帮助很大,重重有赏

      您的支持将鼓励我们继续创作!

      [微信] 扫描二维码打赏

      [支付宝] 扫描二维码打赏

      正在跳转到PayPal...

female geek, creator of sscloud. keyword: php, html5+css3, python, wordpress

Leave a reply:

Your email address will not be published.

Site Footer