Windows 7下硬盘安装Ubuntu 14.04图文教程

来源:互联网 发布:ubuntu安装pyqt4 编辑:程序博客网 时间:2024/05/16 12:48

本人下载的是ubuntu-14.04-desktop-i386.iso ,是经本亲自测试的。注意版本。

1)首先还是分区,在计算机上右键--管理--磁盘管理

装Ubuntu分配的硬盘大小最好是(20G以上)不要太小。这里请注意,Ubuntu和Windows文件系统完全不同,所以我们划好要给Ubuntu的分区后,删除卷。到时候,安装好的ubuntu的分区,在Windows下是看不到的,但是进入Ubuntu是可以访问Windows的磁盘的。这才叫双系统的吧,和wubi那种可不一样哦。

2)准备两个东西①EasyBCD软件(EasyBCD 2.2 http://www.linuxidc.com/Linux/2012-10/72140.htm )

Ubuntu 14.04 的iso镜像(本文下载的是这个http://releases.ubuntu.com/saucy/ubuntu-14.04-desktop-i386.iso) 

3)下面打开EasyBCD软件,可以看到现在我们的计算机只有一个启动“入口”,我们来给他加一个,第1步选择添加新条目(添加移动入口点),第2步选NeoGrub,第3步点安装点保存 ,接着是配置(第4步)。

Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 14.04图文教程

然后就会出现一个menu.lst文件

Windows 7下硬盘安装Ubuntu 14.04图文教程

我们要编辑这个文件 因为系统就是根据这个文件找到我们的Ubuntu的。

把下面的 英文 复制进去,把原来的全覆盖掉

title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-14.04-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz

特别注意:

ubuntu-14.04-desktop-i386.iso是你的iso的名字,别写成我的了,这个要改成你的。

对于有的电脑上你的第一个盘符并不是C盘,在磁盘管理中可以看出,所以安装时需将(hd0,0)改为(hd0,1)【假设为第二个】。

关闭 保存。

4)下面把准备好的Ubuntu 14.04的iso镜像文件用压缩软件或者虚拟光驱打开,找到casper文件夹,把里面的initrd.lzvmlinuz解压到C盘,把.disk文件夹也解压到C盘,然后在把整个iso文件复制到C盘。

Windows 7下硬盘安装Ubuntu 14.04图文教程

注意:

64位Ubuntu有细微的区别在于:

1. vmlinuz这个文件,在64位iso里叫vmlinuz.efi,使用时把后缀去掉。

2. 用EasyBCD配置引导文件时,注意64位Win 7采用的是GPT分区表,所以,C盘不是(hd0,0)而是(hd0,1)——前提是你只有一块硬盘或你把Win7装在了主硬盘上,如果是装在了第二块硬盘上,那么C盘是(hd1,1),是1而不是0的原因:GPT分区表默认隐藏了一个系统保留分区,100M,所以你的C盘不在0区而在1区。

3. 64位Win7还会带来另一个问题,就是GPT分区的签名,如果不做任何处理,按照1+2两点你可以登入Ubuntu的体验版,但是通过桌面安装时,会发现在分区时无法识别你的Win7分区。所以还需要打开桌面安装前,打开终端,输入一行命令:

sudo dd if=/dev/zero of=/dev/sda bs=1 count=8 seek=512

目的是消除GPT分区表签名。

5)重启。你就会看到有2个启动菜单给你选择,我们选择 NeoGrub 引导加载器 这个选项。

Windows 7下硬盘安装Ubuntu 14.04图文教程

然后稍等待一段时间 就会见到我们想要安装的 Ubuntu了。

Windows 7下硬盘安装Ubuntu 14.04图文教程

跟以前版本不一样的地方会出现一个键盘快捷键视图,就不再截图了。

6)默认桌面有2个文档 一个是示例,我们选择开始安装Ubuntu 14.04 LTS ,

记得在这之前 要按Ctrl+Alt+T 打开终端,输入代码:sudo umount -l /isodevice这一命令取消掉对光盘所在驱动器的挂载(注意,这里的-l是L的小写,-l 与 /isodevice 有一个空格。),否则分区界面找不到分区。

 Windows 7下硬盘安装Ubuntu 14.04图文教程

7)下面就点击 安装Ubuntu 14.04开始安装,选语言不用说,

 Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 14.04图文教程

选安装类型,我们用其他选项。 我也不卸载原来安装的Ubuntu 13.10了,等下覆盖安装。

Windows 7下硬盘安装Ubuntu 14.04图文教程

这样您可以自己创建、调整分区、或者为 Ubuntu 选择多个分区。

网上有推进分区的方案如下(以30G为例):
20G ext4(根分区可以大点)
SWAP 2G
/home 8G ext4(剩下的给/home)

如果跟我学,就

50G ext4(根分区)

SWAP3G

Windows 7下硬盘安装Ubuntu 14.04图文教程

Windows 7下硬盘安装Ubuntu 13.10图文教程

有的说自动联网的,最好拔下网线,安装过程中会下载语言包等文件,会要一些时间,认为可以安装好后再下载,有空的就联网安装吧。这里选择不联网安装




GRUB引导——menu.lst的写法


1、menu.lst的写法之一

首先我们看一下我的Fedora 4.0 中的/boot/grub/menu.lst 的内容;

default=0 
timeout=5
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.11-1.1369_FC4)
        root (hd0,6) 
        kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ 
        initrd /boot/initrd-2.6.11-1.1369_FC4.img 
title WinXp
        rootnoverify (hd0,0) 
        chainloader +1

注解:

default=0

default=0 是默认启动哪个系统,从0开始;每个操作系统的启动的定义都从title开始的,第一个title 在GRUB的启动菜单上显示为0,第二个启动为1,以此类推

timeout=5

注:表示在开机后,GRUB画面出现几秒后开始以默认启动;如果在启动时,移动上下键,则解除这一规则;
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz 注:GRUB的背景画面,这个是可选项;我不喜欢GRUB的背景画面,所以加#号注掉,也可以删除;

hiddenmenu

注解:隐藏GRUB的启动菜单,这项也是可选的,也可以用#号注掉;

一般的情况下对Linux操作系统的启动,一般要包括四行;title 行;root行;kernel 行;initrd 行;

1)在menu.lst中 ,通过 root (hd[0-n],y)来指定/boot 所在的分区;

title XXXXX 注:title 后面加一个空格,title 是小写的,后面可以自己定义;比如FC4,自己定义一个名字就行;

root (hd[0-n],y) ,在本例中,我们看到的是root (hd0,6) ,root (hd[0-n],y)表示的是/boot所在的分区;有时我们安装Linux的时候,大多是不设置/boot的,这时/boot和/所在的同一个分区; 这个root (hd[0-n],y)很重要,因为/boot目录中虽然有grub目录,最为重要的是还有kernel 和initrd文件,这是Linux能启动起来最为重要东西;

有的弟兄会问,root (hd[0-n],y)是怎么来的?

请参考:《在Linux系统中存储设备的两种表示方法》

2)在menu.lst中,kernel 命令行的写法;

kernel 一行,是通指定内核及Linux的/分区所在位置;

比如例子中是;

kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

在这里以kernel 起始,指定Linux的内核的文件所处的绝对路径;因为内核是处在/boot目录中的, 如果/boot是独立的一个分区,则需要把boot省略;如果/boot是独立的分区,这行要写成:

kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ 

因为/boot所处的分区已经在title 下一行root (hd[0-n],y)中指定了,所以就无需要再指明内核处在哪个分区了;另外Linux系统的硬盘分区的挂载配置文件在/etc/fstab ,原理是通过 mount /dev/hd[a-z]X /boot 来进行的;您可以对照着来理解;

ro 表示只读; root=LABEL=/ 来表示Linux的根所处的分区。LABEL=/ 这是硬盘分区格式化为相应文件系统后所加的标签;如果您不了解什么是标签,也可以直接以/dev/hd[a-z]X 或者/dev/sd[a-z]X来表示;就看您的Linux是根分区是在哪个分区了。比如我的是在/dev/hda7 , 那这里就可以写成root=/dev/hda7;

如果查看系统运行所挂载的分区,请用 df -lh 来查看,就能明白是不是/boot是独立的分区,或者查看/etc/fstab也能知道;

[root@localhost ~]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda7              11G  9.2G  1.2G  90% /
/dev/shm              236M     0  236M   0% /dev/shm

在这个例子中,我们可以发现 /boot并没有出现只有/dev/hda7,这表示/boot并不是独立的一个分区;所有的东西都包含在/中;于是我们在/boot中查看内核版本;

[root@localhost ~]# ls /boot/vmlinuz*
/boot/vmlinuz-2.6.11-1.1369_FC4   注:看到内核vmlinuz所处的目录;

于是我们就可以这样kernel 这行了;

kernel /boot/vmlinuz-2.6.11-1.1369_FC4  ro root=/dev/hda7

3)initrd 命令行的写法;

如果是/boot独立一个分区,initrd 一行要把/boot中省略;如果/boot不是处于一个分区,而是和Linux的/分区处于同一分区,不应该省略;

比如我们在2)中用的例子;现在拿到这里,我们应该首先查看 /boot中的initrd的文件名到底是什么;

[root@localhost ~]# ls /boot/initrd*
/boot/initrd-2.6.11-1.1369_FC4.img

如果是通过df -lh 得知或查看/etc/fstab 也行, 得知/boot是独立的分区;这时initrd 应该写成;

initrd  /initrd-2.6.11-1.1369_FC4.img

如果是 /boot不是独处一个分区,而是在/同一处一个分区, 则要写成;

initrd  /boot/initrd-2.6.11-1.1369_FC4.img

4)menu.lst第一种写法的总结和实践;

在这里,我们只说重要的,不重要的就一带而过了;

1]用fdisk -l ;df -lh ;more /etc/fstab来确认分区情况;

我们过fdisk -l ;df -lh ; more /etc/fstab 来确认/boot所在的分区,及Linux的根分区所在位置;

比如我们确认/boot和Linux的/分区同处一个分区;

[root@localhost ~]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点
/dev/hda7              11G  9.2G  1.2G  90% /
/dev/shm              236M     0  236M   0% /dev/shm

然后我们/etc/fstab 中,查看/分所在的分区或分区标签是什么;

[root@localhost ~]# more /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/                 /                       ext3    defaults        1 1
/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0
/dev/shm                /dev/shm                tmpfs   defaults        0 0
/dev/proc               /proc                   proc    defaults        0 0
/dev/sys                /sys                    sysfs   defaults        0 0
LABEL=SWAP-hda1         swap                    swap    defaults        0 0
/dev/hdc                /media/cdrecorder       auto    pamconsole,exec,noauto,managed 0 0

经过上面的df -lh 和more /etc/fstab 的对照中得知,/boot并是独处一个分区,而是和/在同一个分区;这个Linux系统安装在/dev/hda7上,文件系统(此分区)的标签为LABEL=/ ,/boot也是处于/dev/hda7 ,/dev/hda7也可以说是 root (hd0,6);

2]查看内核vmlinuz的和initrd文件名的全称;

[root@localhost ~]# ls -lh /boot/vmlinuz*
-rw-r--r--  1 root root 1.6M 2005-06-03  /boot/vmlinuz-2.6.11-1.1369_FC4
[root@localhost ~]# ls -lh /boot/initrd*
-rw-r--r--  1 root root 1.1M 11月 26 22:30 /boot/initrd-2.6.11-1.1369_FC4.img

3]开始写menu.lst ;

我们根据上面所提到的,可以写成如下的样子;

default=0  
timeout=5
title FC4
        root (hd0,6) 
        kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ 
        initrd /boot/initrd-2.6.11-1.1369_FC4.img

也可以写成;

default=0  
timeout=5
title FC4
        root (hd0,6) 
        kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 
        initrd /boot/initrd-2.6.11-1.1369_FC4.img

注解:上面两个不同之处在于一指定Linux的根/所在的分区时,一个是用了文件系统的标签,另一个没有用标签。

2、menu.lst的写法之二,精简型

本写法主要是把指定/boot所位于的所分区直接写入kernel 指令行;这样就省略了通过root (hd[0-n],y)来指定/boot所位于的分区;


1)第一种情况:/boot和Linux的/根分区在同一个分区;

有前面的那么多的讲解,menu.lst写法之二就好理解多了;也得分两种情况,咱们先把/boot并不是独处一个分区,而是和Linux的根分区处于同一个分区;我们以 4)menu.lst第一种方法的写法总结 的实例为例子;

default=0  
timeout=5
title FC4x
        kernel (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 
        initrd (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img

注解:

title FC4x 注:自己为这个Linux 起个简单的名,以title开头,然后一个空格,后面就自己发挥吧,FC4或FC4x都行;

kernel 空格 (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 空格 ro 空格 root=/dev/hda7

kernel 这行这样理解 kernel (boot所在的分区)/boot/内核文件件全称 ro root=Linux根所位于的分区或标签

initrd 空格 (hd0,6)/boot/initrd-2.6.11-1.1369_FC4.img
initrd 这行可以这样理解 initrd (/boot所在的分区)/boot/内核文件名全称

2)第二种情况:/boot独立一个分区,和Linux的根分区不是同一个分区;

比如我们查看到df -lh 得到的是

[root@localhost ~]# df -lh
Filesystem            容量  已用 可用 已用% 挂载点 
/dev/hda6              200M  120M  80M  60% /boot
/dev/hda7              11G  9.2G  1.2G  90% /

我们再进一行查看/etc/fstab 得知;

LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2

所以我们应该写成如下的;

title FC4x
        kernel (hd0,5)/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
        initrd (hd0,5)/initrd-2.6.11-1.1369_FC4.img

因为Linux的根分区是/dev/hda7,通过/etc/fstab和df -h的内容得知标签为 LABEL=/的分区就是/dev/hda7 ,所以有;

title FC4x
        kernel (hd0,5)/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
        initrd (hd0,5)/initrd-2.6.11-1.1369_FC4.img


0 0