一般来说,折腾双系统是每一位程序猿都有过的经历,如何在windows下安装双系统ubuntu呢?今天来给大家介绍一下如何直接在windows硬盘安装ubuntu,而不需要使用U盘或者光盘,或外置硬盘。

1. 准备好ubuntu iso镜像

可以直接在官网上找,下载后在windows下使用解压软件找到iso里的initrd.lzvmlinuz.efi(ps:若是安装32位的ubuntu,第二个文件是vmlinuz,而没有后缀.efi), 一般会在iso根目录下的casper里。

把上诉两个文件和镜像本身放在windows任意一个磁盘的根目录下,我这里以f盘为例。

2. 使用EasyBCD引导ubuntu镜像

在windows下安装EasyBCD,我现在用的是2.2版本的。完成后打开EasyBCD,在左边选择添加新条目, 然后选择NeoGrub标签,点击安装,此时EasyBCD会自己创建一个引导,很快,不用几秒钟。接着点击旁边的配置, 在弹出的编辑器中加入一下指令:

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

其中,有几个地方需要注意一下:

  1. 第2,3,4行都出现了的(hd0,7)是代表第一步准备的镜像和文件所在的磁盘, 在windows下, c盘是(hd0,1), d盘是(hd0,5), e盘是(hd0,6), f盘是(hd0,7), 依此类推,第一步中我把镜像以及相关文件都放在了f盘,因此我这里是(hd0,7), 大家可根据自己第一步选择的磁盘修改,再次重申一下,无论放在哪个盘,都要放在该磁盘的根目录下
  2. 第3行开头处有一个vmlinuz.eft, 这个就是我们第一步所准备的其中一个文件的名字,如果安装的是32位ubuntu,这个文件名字是vmlinuz, 这里也要做相应的修改
  3. 第3行中间处的filename=/ubuntu.iso, 斜杠后面的是ubuntu镜像的名字,这里也可以根据自己要安装镜像的名字来自定义。

好了,添加上述指令后,保存,关闭。

3. 重启电脑,引导镜像

重启电脑,留意开机界面,会发现多了一个NeoGrub选项,选中它,就可以进入ubuntu的安装镜像了. (ps: 如果本来已经双系统,开机时选择启动windows,然后在windows启动页面再选择NeoGrub引导ubuntu镜像)。

在开始安装之前,还有最后一步十分重要的别忘了做 —— "卸载isodevice分区"

# umount -l /isodevice

若没有卸载iso分区,安装过程会报错的,这一步也是硬盘安装所独有的,大家一定别忘了这一步。这个分区的名字可以通过$ mount | grep isodevice来查看。


以上步骤我曾经成功在windows 8下安装Ubuntu 12.04和16.04,也尝试过用来安装Centos 6.4, 故理论上上述步骤可以用来windows下硬盘安装一般的linux系统。

后面就可以根据自己的喜好分区,安装ubuntu了,Enjoy yourself!

Jacob Pan ( jacobpan3g.github.io/cn )

Windows下如何硬盘安装Ubuntu的更多相关文章

  1. Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘注意事项

    本文来自:http://www.linuxidc.com/Linux/2015-08/122140.htm,此处仅做收藏. Windows 8.1硬盘安装Ubuntu 14.04双系统参考教程及多硬盘 ...

  2. Windows 8.1硬盘安装Ubuntu 14.04双系统

    Windows 8.1硬盘安装Ubuntu 14.04双系统 学习了: http://www.jb51.net/os/windows/298507.html http://www.linuxidc.c ...

  3. windows下用虚拟机安装ubuntu

    虚拟机软件推荐VMware Workstation,为了较好支持Win8,最好下载VMware Workstation10及以上新版本,对机器配置要求比较高,如果本身操作系统是WinXP或Win7的话 ...

  4. Windows下用VMware安装Ubuntu虚拟机

    安装: http://jingyan.baidu.com/article/0320e2c1ef9f6c1b87507bf6.html 全屏: http://jingyan.baidu.com/arti ...

  5. 【转】Windows 7下硬盘安装Ubuntu 14.04图文教程--不错

    原文网址:http://www.linuxidc.com/Linux/2014-04/100369p3.htm Ubuntu 官方已经发布了正式版的 Ubuntu 14.04 LTS,并宣称这是为云计 ...

  6. 分布式进阶(一)Windows 7下硬盘安装Ubuntu 14.04图文教程

    Windows 7下硬盘安装Ubuntu 14.04图文教程 本人下载的是ubuntu-14.04.2-desktop-amd64.iso,经本人亲自测试的,折腾了一天的时间. 1)首先还是分区,在计 ...

  7. Windows XP硬盘安装Ubuntu 12.04双系统图文详解

    Windows XP硬盘安装Ubuntu 12.04双系统图文详解 Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubun ...

  8. Windows XP硬盘安装Ubuntu 16.04双系统图文详解

    需要下载的东西有两个,一个是grub4dos,另一个是Ubuntu 16.04 LTS的镜像文件,具体下载地址如下:   1 2 3       1.grub4dos  点击下载 grub4dos 2 ...

  9. WIN7系统下U盘安装Ubuntu双系统

    1. 准备工作 1. 官网下载Ubantu镜像,我下载的是Ubantu14.04.3 LTS版本: 2. 下载 Universal USB Installer (UUI)用于制作U盘启动盘: 3. 下 ...

随机推荐

  1. docker 安装NexusRepository Manager

    今天学习了一下docker 感觉这东西要学习好多的命令,但是自己又是喜欢这种命令,感觉linux总是高一个等级的东西,这几天学习使用docker安装各种东西,下面记录一些我安装nexus的步骤,还是不 ...

  2. 2017-07-05 (whereis which find)

    whereis whereis 命令名 作用 搜索命令所在的路径以及帮助文档所在的位置 选项 -b 搜索命令所在的位置 -m 搜索帮助文档所在的位置 例子 whereis ls  查看ls命令所在的位 ...

  3. CentOs下安装PHP扩展curl

    服务器运行一段时间后,可能突然会需求添加某个扩展,如curl.pdo.xmlrpc等,这就需要在不重新编译Linux PHP的情况下独立添加扩展. 1.安装crul wget http://curl. ...

  4. java利用poi生成/读取excel表格

    1.引入jar包依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi< ...

  5. 【转】shell中如何判断一个变量是否为空

    判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: #!/bin/sh #filename: test.sh para1= if [ ! -n $para1 ]; then echo &q ...

  6. ng机器学习视频笔记(一)——线性回归、代价函数、梯度下降基础

    ng机器学习视频笔记(一) --线性回归.代价函数.梯度下降基础 (转载请附上本文链接--linhxx) 一.线性回归 线性回归是监督学习中的重要算法,其主要目的在于用一个函数表示一组数据,其中横轴是 ...

  7. pwd 的“P”选项

    1.目录是链接目录时,pwd -P  显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 例: [root@localhost soft]# cd /etc/init.d [root ...

  8. [UWP]实现Picker控件

    1. 前言 在WPF中,很多打开下拉框(Popup或Flyout)选择一个结果值的控件,除了ComboBox等少数例外,这种控件都以-Picker做名称后缀.因为要打开关闭下拉框和计算下拉框的弹出位置 ...

  9. ssh 设置私钥实现两台linux主机无密码访问

    在服务器主机上(称为A主机) 创建公钥与私钥: ssh-keygen -t rsa 一路回车,如果想设置密码短语,在提示 passphrase 的时候设置密码短语 查看生成的公钥及私钥: ls ~/. ...

  10. java对象表示方式--XStream

    对象表示有各种各样的方式,序列化只是其中的一种而已.表示一个对象的目的无非就是为了对象<---->IO之间相互认识,至于怎么认识,那就有很多选择了.除了之前讲过的序列化,还可以选择将数据J ...