Win7下安装ubuntu (双硬盘用户加强版)

系统 1504 0

起源还是学习上要用到 linux 操作系统,所以才在自己电脑上安装 linux 操作系统。先开始是在虚拟机上用的,但用过一两星期就感觉还是不适合,用虚拟机感觉只要 ctrl+Alt 就能退出来,给自己留了太多的退路,又回到了 windows 环境。所以个人很支持在硬盘上安装双系统,在操作系统的选择上,我是支持 ubuntu 的,因为她拥有一个坚固的后盾,那就是 http://forum.ubuntu.org.cn/ ,记住这个网址,有什么问题都可以找她。

好了废话也不多说了,就我自己的安装经历给大家讲一讲在 win7 操作系统下安装 Ubuntu 过程中会遇到的各种问题(本人是两块硬盘,所以情况更复杂,但也更有参考价值!)。

 

STEP1: 下载 ubuntu 

目前截止到 2010/10/23 最新的版本是 10.10

http://www.verycd.com/topics/2857712/  这是电驴上的资源,可以去下, 600 M 不是很大,下载完当然刻盘后就叫 ubuntu 10.10 LiveCD

 

STEP2: 空出你的硬盘空间

安装 ubuntu 所需要的空间不大, 10G 足以(太够了,考虑到以后还要装其他一些东西,留大一点吧)。

 

STEP3: 情况调查

QA: 你机箱中安装了几块硬盘?

A1 、一块 (太简单了,网上很多教程都适合你)

A2 、两块 (情况复杂,引导需要小心)

 

QB: 你愿意将 liveCD 刻录下来吗?(这会省去你许多麻烦,也可以收藏以备崩溃后重新安装。但没有刻录机和空白光盘的用户也不要着急,还是有办法的)

B1 、愿意      

B2 、不愿意

 

一、 A1B1用户

    太简单了,将你的 liveCD 塞入光驱,从主板设置由 CDROM 启动系统也就是我下面要说的 二、 A1B2 用户  的第 6 7 两步,呵呵,这时大多数人发现在开机的 GNU GRUB 中没有 win7 系统 的选项只能进入 ubuntu ,请往下翻页至——从 ubuntu 中修复 win7 开机引导 就教你解决这个问题

 

 

二、 A1B2用户

这就是网上说的很多的“ win7 下如何使用 GRUB4DOS 来引导硬盘安装 LINUX 系统 ”,好这里提到了一个新的名词“ GRUB4DOS ” 这是 ubuntu 社区上一篇帖子 http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=150541 ,可以去膜拜一下,当然如果想省一点时间,我就简单地说——这是一款在 win7 下能在启动主板后引导进入光盘或操作系统的软件(虽然很不全面,但在本教程中就起到这点作用了),这是她的下载地址,去下一个最新版的(就是最新发布的,这个不会不懂吧)吧 http://download.gna.org/grub4dos   ,这是很多小软件的集成打包,我们只会用到其中的几个,这个待会再说。

1、 将下载的 grub4dos 解压,复制其中的 menu.lst grldr grldr.mbr 个文件到 C 盘根目录 (就是 C:\ ,如果想 GRUB 支持中文,那就把 china 文件夹中的 grldr 放在 C 盘根目录下。
2 、将下载的 ISO 文件 ubuntu-9.04-desktop- i386.iso 放在分区根目录下 并将用 winrar 或者虚拟光驱打开 LINUX ISO 文件,这里以 ubuntu- 10 .10-dvd-i386.iso 为例,该文件内 casper 文件夹里的 initrd vmlinuz 这两个文件复制到 C :盘根目录 (其实不一定放在 C 盘根目录,任何一个分区都可以,只要你的 menu.lst 文件参数配置正确就可以了,例如只有一块硬盘,放在 C 盘就是( hd0, 0 , D 盘就是( hd0, 1 )依次类推), menu.lst 中指定 initrd.lz vmlinuz 两个文件的路径是 正确的 就可以了,并不一定要把 initrd.lz vmlinuz 两个文件放到根目录的。

3、 这里将会出现一个分歧,网上有些教程会使用 boot.ini 方法,有的会使用 BCDedit 方法。这里我推荐使用 BCDedit 方法,原因有一下两点:   1 )、 boot.ini 方法对 win7 使用软改激活的用户会导致启动不能(虽然我也不确定软改的具体定义是什么,但君子不立危墙之下,不要没事找事了,当然纯学习时间的例外)   2 )、  BCD(Boot Configuration Date) 即系统引导配置数据,这是从 Windows  Vista 开始才引入的。我们知道,在 Windows  Vista/Server 2008 BootManager 组件负责系统的初始化和引导工作,而与之相匹配系统的引导数据就 存储 BCD 中。 这才是 win7 引导的核心,已经不再用 boot.ini 引导了,当然 win7 还是承认 boot.ini 文件的这也是为什么 boot.ini 方法能起作用的原因。初步了解 BCD ,这也将是本次安装的额外收获。   PS: 强烈推荐阅读 ubuntu 社区 smallapple  所整理的 grub2 基础教程 http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=229387 这是帖子的地址,这个 pdf 教程有 21 页,我是打印下来放入文件夹好好阅读收藏的。事实上,教程非常详细,对 ubuntu 的引导问题基本都提到了,膜拜!如果说 BCD win7 引导的核心,那么 grub 就是 ubuntu BCD 了,现在自 ubuntu9.10 升级后就默认使用 grub2 了,一定要了解一下。

4、 我们使用 BCD 方法:

     1) WIN7 里以管理员的身份运行 cmd ,打开命令提示符

     2) 、输入  bcdedit    /export    " D :\BCD Backup" 

# 将系统存储的内容导出到文件。此文件可以在以后用于还原系统存储的状态。此命令仅对系统存储有效。注意 : 一定要备份,一方面以还原防止操作错误,另一方面,后面再说(顺带一提 :bcdedit /import "D:\BCD Backup" 就是与之相对的还原操作)

    3) 、输入 bcdedit /create /d “GRUB4DOS” /application bootsecto r

# 这个命令会产生一个 guid 打印在 cmd 窗口中 , 通俗讲就是在启动队列中占一个位置。注意: guid 类似于 {******xx-***x-***x-***x-************} 格式,具体数字根据硬盘或分区参数会有相应变化。 例如我的就是 {dadaa27d-c9f1-11df-a802-ce8c84d8192b}, 我们把它复制下来,我们下面有用(有同学提到:怎么复制呀?这里提一种方法  cmd 窗口右键 标记 选中要复制的东西再点鼠标右键,此时选中的文本会变成未选中的状态,不过没关系,按下 Ctrl+C information 就到你的剪贴板里了 ~ 到目的地去 Ctrl+V ~

    4) bcdedit    /set   {dadaa27d-c9f1-11df-a802-ce8c84d8192b}     device    partition=C:

# 设定操作系统 {dadaa27d-c9f1-11df-a802-ce8c84d8192b} 引导分区“C” 设置刚刚添加启动项的启动分区,这里设的是 C 盘,因为我们的文件都在 C

    5) bcdedit    /set   {dadaa27d-c9f1-11df-a802-ce8c84d8192b}   path    \grldr.mbr

# 设置启动时运行的文件。

    6) bcdedit /displayorder  {dadaa27d-c9f1-11df-a802-ce8c84d8192b}  /addlast
     # 这个只是为了将增加的启动项放到其他启动项的后面。 注意:也可以用 /boo tsequence 选项,具体可以去百度再了解一下,我就不具体列举了。

    7) 最后可以用   bcdedit /enum   查看一下,会看到执行上述命令后产生的启动项配 置。

实模式启动扇区
———————
标识符                  {dadaa27d-c9f1-11df-a802-ce8c84d8192b}
device                  partition=C:
path                    \grldr.mbr
description             GRUB4DOS
这样就完成了在 WIN7 启动菜单添加 GRUB 的选择项了,只要你在 C 盘根目录下写一 个正确的 menu.lst 文件就可以引导硬盘安装 LINUX 啦。

5、 书写正确的 menu.lst 文件

回到我们的 C 根目录下从 GRUB4DOS 中拷贝出来的 menu.lst 文件,里面有一些书写说 明,不过是英文的,我略微说一下我们要用到的内容。首先将里面的说明都删掉,写下内容如下:

 

default 0 

timeout 0 

 

title ubuntu  10.10  install
rootnoverify (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu- 10 . 10 -desktop-i386.iso ro quiet  splash  locale=zh_CN.UTF-8
initrd /initrd.gz

title Windows  7
rootnoverify (hd0,1)
chainloader +1

 

不懂?没事也不需要太了解,具体的 menu.lst 写法可以参考网上的教程,我记得比如: http://www.360doc.com/content/09/0817/19/74585_4997923.shtml  很不错的简单介绍。

6、 接下来,就是重启,安装 ubuntu 了,很简单也许在分区那边会遇到一些问题。我的建议 是用手动指定分区然后把你在 STEP2 中空出的盘选择 ext4, 挂载在  上(注意剩下 2G 空间),剩下的 2G 可以用作 swap 分区,关于分区方面的知识建议阅读《鸟哥的私房菜》, 现在已经是第三版了,强烈推荐通读此书,写的很好,很基本。

7、 安装完成后她会要求你重启,这时大多数人发现在开机的 GNU GRUB 中没有 win7 系统 的选项只能进入 ubuntu ,请往下翻页至——从 ubuntu 中修复 win7 开机引导 就教你解决这个问题

 

 

三、 A2B1 用户

拥有两块硬盘,那么注定你在安装上没有什么问题,但是在系统引导上肯定会出现问题。我的建议是,一定要搞清楚你的硬盘状况,比如每一个分区是什么 ?你的 win7Loader 在哪里?……

1 、不要被吓唬住了!先通过 LiveCD 安装 ubuntu 吧,不管怎样都是要装的。

在引导程序的安装位置上,我建议就装在 / 目录所在的分区,这样重启后你会进入 win7 就像我当初一下,直接进入 win7 ,就像没装过 ubuntu 一样。别急,用 LiveCD 引导进入 ubuntu

2、 这时 就是通过脚本 script ,完整了解你的系统情况的时候了,感谢 ubuntu 社区的 onshoestring    他向我提供了这个脚本, http://sourceforge.net/projects/bootinfoscript/
把文件先复制到桌面, 终端运行: sudo bash ~/ 桌面 /boot_info_script055.sh   
生成的 RESULTS.txt 文件 中有详细的信息

3、 你这时了解你的硬盘了吗?呵呵,下面可以通过

——从 ubuntu 中修复 win7 开机引导(利用 Ubuntu-GRUB2 来引导)

——从 win7 中修复 ubuntu 开机引导(利用 BCDedit 来引导)

来自由选择你的引导程序是通过 Ubuntu-grub2  进入 win7 还是通过 win7-BCD 来调用 Grub2 以进入 ubuntu

 

 

四、 A2B2 用户

你选择了一条最艰巨的路,先把 A1B2 的执行一遍以安装 ubuntu  ,再选择

——从 ubuntu 中修复 win7 开机引导(利用 Ubuntu-GRUB2 来引导)

——从 win7 中修复 ubuntu 开机引导(利用 BCDedit 来引导)

来自由选择你的引导程序是通过 Ubuntu-grub2  进入 win7 还是通过 win7-BCD 来调用 Grub2 以进入 ubuntu ,呵呵。

 

 

 

——从 ubuntu 中修复 win7 开机引导(利用 Ubuntu-GRUB2 来引导)

 

既然是从 ubuntu 修复 win7 的启动项,那就必须进入 ubuntu ,对于那些只能进入 win7 却无法进入 ubuntu 的用户,可以用 LiveCD 引导进入(就是最开始选择试用 Ubuntu LiveCD 的作用终于体现出来了)。当然对于 B2 而且无法进入 ubuntu 的情况,我们还有下面的教程——从 win7 中修复 ubuntu 开机引导。好,废话不多说,进入正题。

进入 ubuntu 后,请打开终端输入:

1、 sudo fdisk -l 
( 注意是小写的 L ,不是数字的 1 ,此步用于确定电脑中安装  Ubuntu10. 10  的所在分区的位置,输入以后会输出类似如下信息,找到 system Linux 的那行,记住 /dev/sdaX 的情况,比如本人的电脑是 /dev /sda7 ,以下就以此为例,你自己的请加以更改 )

2、  s udo    -i  (此步用于得到 root 权限,无需输入密码,方便以下操作)

3、  mount  /dev/sda7  /mnt   ( 注意, sdaX 是第一步查到的 / 目录所安装的盘)

4、  mount  /dev/sda7  /mnt/boot ( 如果 boot 是单独分区装的话才需要这一步,……总之把其他单独分区安装的目录都挂上去,例如 /home  /var )

5、  mount  --bind  /dev  /mnt/dev  ( 重要,一定要挂)

6、  mount  --bind  /proc  /mnt/proc  ( 重要,一定要挂)

7、  chroot  /mnt  (chroot 挂好的 ubuntu)

8、  grub-install   /dev/sda   ( 双硬盘的用户注意,此处的 sda 是由 win7loader 所在位置所决定的,就是说,如果你的 win7 ubuntu 假如都安装在 sdb, win7loader 却在 sda 的话,也只能写 sda ,具体怎样查看 win7loader 在哪里,我在 A2B1 中有所讲解 )

Ps: 这一步执行后会有几行代码出现,总体来说就是成功的,用 liveCD 引导进入的用户可能会遇到   cannot find ***prition  等字样,无视他,没关系的,重启后你就会发现终于可以进入 ubuntu 了,然后再按照这个步骤执行一遍。 关于这个问题的记载我在一个英文的叫做:小石头工作室的网页上找到的……很遗憾,网址没记录下来,遗失了,还是感谢他们!

9、 update-grub     (重装 grub2

感谢 ubuntu 社区的 foxman997 在他的帖子中我才正确

知道为什么吗?好好 阅读 ubuntu 社区 smallapple  所整理的 grub2 基础教程 http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=229387 这是帖子的地址,下载他整理的 pdf 文档。

 


——从 win7 中修复 ubuntu 开机引导(利用 BCDedit 来引导)

4 步的流程和   二、 A1B2 用户  中的 win7 下如何使用 GRUB4DOS 来引导硬盘安装 LINUX 系统 步骤一样,区别就在第 5 步, 书写正确的 menu.lst 文件

文件如下:

 

Timeout 0

Default 0

Title grub2

Find  --set-root  /boot/grub/core.img

Kernel  /boot/grub/core.img

Boot

( 当然,若果 /boot 单独分区的话,改为 

Find  --set-root  /grub/core.img

Kernel  /grub/core.img)

这个方法在 ubuntu 社区 smallapple  所整理的 grub2 基础教程 记载, <="" iv="">

Win7下安装ubuntu (双硬盘用户加强版)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论