关于win7和ubuntu双系统引导的讨论(续)
来源:互联网 发布:金融大数据大会 编辑:程序博客网 时间:2024/06/06 07:48
继上次搞定win7和ubuntu13.10 的双系统启动问题之后,总感觉那时候的处理不是太好,于是这段时间我又用闲暇时间看了些关于grub2的资料,然后对与ubuntu下的grub重新做了些修改,个人认为做了这些修改之后虽然结果跟没修改之前的差不多,但是现在呢已经可以执行update-grub等操作了。下面我简单的做些说明。
首先,ubuntu13.10用的grub 2,与原来使用的grub有不少区别,这里不加解释了,可以上网搜索。我只介绍我的修改过程。
上次谈到在我手动修改了grub 2之后不能执行update-grub等操作,那是因为在grub 2下 grub引导由系统根据硬件配置自动设置,所以每次执行update-grub之后我们手动修改的grub部分都会被重新根据硬件配置进行设置,当然了,我这里的讨论都是在一个前提下进行的,就是由自动生成的grub配置不能完成win7启动,这种情况下,我们可以按照下面的进行操作。
在自动生成grub中有如下一段代码:
### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-000290E40008E8A1' { insmod ldm insmod ntfs set root='ldm/96052316-3faa-11e3-a105-b71f8290edda/Volume1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0 --hint-efi=hd0 --hint-baremetal=ahci0 --hint='ldm/96052316-3faa-11e3-a105-b71f8290edda/Volume1' 000290E40008E8A1 else search --no-floppy --fs-uuid --set=root 000290E40008E8A1 fi chainloader +1 }我们细细的看第一行,
### BEGIN /etc/grub.d/30_os-prober ###可以大概知道这段代码是由 /etc/grub.d/30_os-prober 执行后生成的,这也就是我们不能执行update-grub的关键,由于该文件有点复杂,目前还没有时间解读,所以还不能从修改这里面的代码来实现对上面这一大段代码的修改(以后有机会会试试的),我们这里的操作就是把这个文件删掉,因为他是专门负责自动生成windows启动项的文件,不删除的话只要已更新在grub中就会出现这段win7的启动项,虽然这个启动项是没用的。
sudo rm /etc/grub.d/30_os-prober删掉这个文件之后执行update-grub之后你会发现上面那段关于win7引导的代码没了,接下来有人会问那我的win7怎么引导呢,这个时候就要用到同一个文件夹里的40_custom文件了,这个文件是用于给我们手动添加其他操作系统的引导的,我们当然可以用它来写grub,添加如下代码:
menuentry "windows7" { insmod part_msdos insmod ntfs insmod ntldr search --file --set --no-floppy /bootmgr ntldr ($root)/bootmgr }有人会问,这段代码跟我们以前添加的代码不一样啊,其是他们的效果是一样的。将代码保存一下退出,然后
sudo update-grub之后在/boot/grub/grub.cfg 中出现这样一段代码:
### 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.menuentry "windows7" { insmod part_msdos insmod ntfs insmod ntldr search --file --set --no-floppy /bootmgr ntldr ($root)/bootmgr } ### END /etc/grub.d/40_custom ###这就是对于win7的引导项了,好了,接下来重启,一定可以看到关于win7的引导,选择win7之后可能会提示你修复启动项,不用理他,直接选择正常启动即可。
这样修改以后不管是ubuntu更新还是你手动更新grub文件,都不会担心win7 的启动项没了又要重新设置了。
- 关于win7和ubuntu双系统引导的讨论(续)
- win7 ubuntu的双系统 win7引导
- 修复win7和wubi装的ubuntu双系统引导
- win7 ubuntu双系统引导
- Win7、Ubuntu双系统硬盘安装和引导
- ubuntu+win7双系统引导找不到的问题
- win7 和 ubuntu 双系统, 重装win7 后恢复ubuntu引导
- 关于windows和ubuntu双系统引导修复的问题
- 双系统重装win7和ubuntu修复win7引导方法介绍
- 双系统重装win7和ubuntu修复win7引导方法介绍
- 关于安装WIN7和Ubuntu14.04双系统后,启动直接引导到Ubuntu系统
- ubuntu win7双系统引导修复
- Linux新手入门 win7 64位下安装 ubuntukylin双系统的教程(由win7引导ubuntu)
- 关于ubuntu和win7双系统使用的问题
- 关于win7和ubuntu双系统启动项的问题
- ubuntu和win7双系统引导,出现“no such device ”错误
- 双硬盘安装win7和Ubuntu双系统,解决系统启动引导问题
- windows7和ubuntu双系统的引导问题解决!
- C#中的析构函数
- Jquery checkbo自动填充选择
- 表连接方式
- Use Backtracking to print all Subsets
- XeLaTeX编译CTEX报系统字体错误
- 关于win7和ubuntu双系统引导的讨论(续)
- 让键盘消失的方法
- poj2406 Power Strings
- Concrete maths reading notes 1 - ch. 1&2
- 8.1.2:Transact-SQL语法规范
- Mysql安装与设定
- jfinal 基于Java 语言的极速 WEB + ORM 开发框架
- 第11周项目1(3)
- 用chardet判断字符编码的方法