Ubuntu16.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法、grub引导法等等,这里我将介绍在win7系统下用easyBCD软件建立引导,然后安装ubuntu的方法,这就不需要制作u盘启动盘那么麻烦,只需配置一些引导文件即可。
一、环境和工具准备
1.win7系统
2.ubuntu16.04系统镜像文件
3.easyBCD 2.2
二、前期准备
1.在网上下载ubuntu-16.04-desktop-amd64.iso,同时准备好easyBCD软件(网上下载最新版)。建议将iso文件移动到c盘根目录,当然也可以放到别的目录。
2.打开easyBCD软件,可以看到目前只有一个win7启动项。选择“添加新条目”,然后选择“NeoGrub”,点击“安装”。
3.然后点击配置,将menu.lst文件的内容替换成一下文本:
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04-desktop-amd64.iso locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
title reboot
reboot
title halt
halt
说明:hd0表示c盘所处的硬盘号,一般电脑只有一个,所以都是hd0;如果有多个硬盘,则根据情况改为hd0、hd1等。
hd0后面的数字表示C盘在硬盘中的分区顺序,每个人的系统不大一样,不知道的可以在磁盘管理里面看一下,本人c盘是第三个分区,因此写为(hd0,2),如果是第一个,写为(hd0,0)即可。
4.经过配置后,c盘中会多出一个“NST”文件夹和一个NeoGrub文件。
接下来解压系统镜像文件,在解压后得到的casper文件夹里把initrd.lz和vmlinuz.efi两个文件复制到c盘根目录。可以看看c盘中添加了多少相关的文件。这样,安装系统的前期准备就完成了,可以重启电脑准备安装ubuntu16.04了。
三、安装ubuntu系统
1.重启电脑,可以看到多了一个启动项“NeoGrub引导加载器”,选择该项enter,然后选择“install ubuntu”,另外两项分别是“重启”和“关机”,是为了防止安装出错而设的,这个在之前的menu.lst配置文件中已经设定好了。
2.接下来如果正常的话,会刷刷的满屏幕文字,等着它结束就行。如果在这一步报错,一般来说就是之前的menu.lst配置文件不对,无法访问C盘,这时只要“reboot”然后进入win7重新配置就行。
3.刷完后就进入一个小系统,别以为这就装好了,此时最重要的一步,通过快捷键ctrl+alt+T打开终端,输入:sudo umount -l /isodevice,注意空格和小写的L,执行后就可以双击安装图标进行安装了。
4.接下来选择简体中文;不用选中安装第三方软件和更新,否则安装会很慢,为保险起见可以断开网络连接;安装类型选择“其他选项”。
5.接下来需要设置分区,首先设置交换空间大小,与电脑内存差不多或为电脑内存的两倍。
6.然后设置其他挂载点的大小,分区方案很多,这里简单的设置/、/boot、/home共3个分区,均为ext4文件系统。/ 10G;/boot 100M;/home 剩余所有空间。注意linux系统的1G对应1000M。
7.接下来就是简单的设置地区、键盘布局,接着就是用户名和密码。
8.以上所有东西都设置好了,就自动开始安装系统,等待一段时间就可以,如果安装过程在下载东西,可以点击“跳过”,因为系统安装完成后同样可以更新下载。
9.安装完成后点击“现在重启”,可以看到多了好多启动项,界面也变了。选择第一项启动ubuntu系统,这样就可以愉快的玩转ubuntu啦。
10.安装完后,不要忘了回到win7系统打开easyBCD软件把“NeoGrub”引导项删除,否则每次进入win7都得选一次。如果觉得以后不想重装Ubuntu了,就可以把C盘的相关文件都删掉,可以节省空间。
四、处理遇到的坑
上面的步骤都是在顺利的情况下,一般如此顺利的情况是很难发生的,你懂的!!
比如,我在安装完ubuntu后,重启,选择win7,进入的仍然是ubuntu的安装引导,如下图:
导致无法进入win7。出现这种情况的原因是装Ubuntu之前在Win7里用EasyBCD编辑弹出的menu.lst文档时设置的title,导致每次进入win7时,都调用这个引导文件,如下图
解决方法有2种:
方法1:执行命令,自动修改
arac@test:~$sudo grub-install /dev/sda
[sudo] password for ltu:
Installation finished. No error reported.
arac@test:~$sudo chmod -x /etc/grub.d/30_os-prober
arac@test:~$sudo gedit /etc/grub.d/40_custom
在打开的40_custom文件中输入如下一段内容:
menuentry 'Win7' {
set root=(hd0,1);
ntldr /bootmgr
boot
}
然后执行:
arac@test:~$sudo update-grub
Generating grub.cfg ...
Found Linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /memtest86+.bin
done
arac@test:~$
以上命令执行完以后,细心的话你可以发现/boot/grub/grub.cfg文件的前后变化如下:(其它文字不变,只变了下图框出来的这段)
重启,就可以看到多了一条Win7启动条目。
方法二:手动编辑
受方法一启发,更直接的方式就是直接改一下grub.cfg文件则可。Ctrl+alt+T打开终端。
arac@test:~$sudo gedit /boot/grub/grub.cfg
在打开的grub.cfg文件尾部添加一段:
menuentry 'Win7' {
set root=(hd0,1);
ntldr /bootmgr
boot
}
保存,退出。重启。也可以看到Win7启动条目了。但这种做法不会像方法一那样更新grub.cfg文件,删除掉了那条旧的“Windows 7 (loader) (on /dev/sda1)条目”。可以直接在grub.cfg文件中删除那一段则可。