.

.

.

.

.

LZ 的笔记本电脑一直安装的是 Ubuntu 系统,最近由于工作需要,要安装一个 Win7 系统。大家都知道,Linux 和 Windows 装双系统的时候要先装 Win 再装 Linux,并且要把 Win 安装在第一硬盘第一分区才行,可是 LZ 这 Ubuntu 已经使用了很久了,并不想把所有的配置都舍弃掉完全重装,于是经过了一天一夜的折腾,LZ 终于搞定了,并把这个过程记录下来。

由于折腾的时候没有截图,也没有把一些命令的输出给拷贝下来,所以现在也只能描绘场景和命令了,并不能给出命令执行的结果了。

先来看看 LZ 硬盘的情况:共有两块硬盘,暂且称之为 hd0 和 hd1 吧。hd0 是固态硬盘,有两个主分区,一个挂载在 /boot,一个挂载在 / 上。hd1 也有两个分区,一个是主分区挂载在 /home 上,另一个是逻辑卷,挂载着 swap。

硬盘的情况就是这样,由于 SSD 容量比较小,出于对使用寿命和 win 使用场景的性价比等考虑,决定不动 SSD,而是把 /home 缩小,腾出一部分空间分两个区给 win 用。

一开始 LZ 是把 /home 向前缩小,在 /home 与 swap 之间腾出 200GB 左右的空白空间来。可是安装 win 的时候出现了“安装程序无法创建新的系统分区,也无法定位现有系统分区”的错误提示,死活装不上,不知道是不是由于前面提到的“win 必须安装在第一硬盘第一分区”的原因,既然失败了,那就暂且不表了。

无奈之下 LZ 只好把整个 /home 分区向后移动,使这 200GB 的空间处于 hd1 的最前边,把 /home 和 swap 放在 hd1 的后面区域。

调整分区大小和创建分区的工具是 gparted,在 LiveCD 上可以直接使用,图形化界面,用起来比较简单,具体用法这里就不介绍了。

说说如何硬盘安装 win7:

先在空白空间上分两个区出来,一个作为 win 的 C 盘,一个作为安装盘(安装完系统之后可以把这个盘格式化掉,作为 D 盘用),暂且称它们为 p1 和 p2 吧。这个步骤可以在 LiveCD 上做,也可以在现有的 Ubuntu 上直接做,但是调整分区大小的动作一定要在 LiveCD 上做,因为被调整的分区(/home)在运行着的系统上是已经挂载的,除非先卸载掉它,不然不能直接调整它的大小。

先把 p2 分区挂载上来,然后把 win7 的安装盘里所有的文件和目录都拷贝到 p2 分区上。如果 win7 是 iso 镜像,可以直接挂载到某个目录上进行拷贝,如果是光盘则插入后系统会自动挂载,使用 cp -rv 即可全部复制。

现在可以重启系统用 grub2 来引导 p2 分区里面的 win 安装向导了。

重启后来到 grub 的引导菜单,按 c 键进入命令行模式:

grub> set root=(hd1,)
grub> insmod ntfs
grub> ntldr /bootmgr
grub> boot

执行以上命令后,系统应该就启动 win 的安装向导了,接下来一步一步按照提示安装 win7 就行了。

可是就在此时意外又出现了,选择安装分区的时候依然提示“安装程序无法创建新的系统分区,也无法定位现有系统分区”,LZ 折腾了好久后发现,要把 hd0 拔掉,只用 hd1 进行安装才行。可是由于 grub 安装在 hd0 上了,拔掉 hd0 后 hd1,2 便无法启动了。于是只好用老毛桃 PE 启动,使用里面的小工具来将 d: 下的镜像安装到 c: 里,直至部署完成都没有出现问题 。

win 安装完毕周后,把 hd0 再插回去,用上面的命令进入 win7,没有出现任何问题。于是把 D: 格式化掉,重启进入 ubuntu,执行 update-grub 命令,使 grub 的菜单可以引导 win7,大功告成。

在已有 Ubuntu 的基础上硬盘安装 Win7 实现双系统的更多相关文章

  1. win7下硬盘安装win7+CentOS双系统方法

    原文:win7下硬盘安装win7+CentOS双系统方法 LinuxCentOS安装大致介绍: win7下硬盘安装win7+CentOS双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. ...

  2. win7下硬盘安装win7+linuxUbuntu双系统方法

    Linux安装大致介绍: win7下硬盘安装win7+linuxUbuntu双系统方法 原则: 所有的看完在装,请仔细看 一 条件: 1. 系统选择 linux unbuntu12.04.2-desk ...

  3. win8.1硬盘安装ubuntu14.04双系统

    在网上找了很多方法都失败了,原因是大多数方法都是用mbr方式安装的,如grub4dos,easybcd.以至于连自己都怀疑win8能不能用硬盘安装,差点就去买个u盘来安装了,就在打算放弃的时候在ubu ...

  4. Windows8.1硬盘安装Ubuntu14.04双系统参考教程和多硬盘的注意事项[画画]

    硬盘安装.无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...

  5. Windows 8.1 硬盘安装 Ubuntu14.04 双系统参考教程及注意事项

    硬盘安装,无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项:在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...

  6. win8硬盘安装Ubuntu14.04双系统參考教程

    硬盘安装,无需光盘.U盘.win8为主.Ubuntu14.04为辅.可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14.04 ...

  7. win8下硬盘安装Ubuntu12.04双系统成功记录

    一开始是在windows下VirtualBox虚拟机中搞了一个Ubuntu玩,时间一长,感觉卡的厉害,浪费时间,那就装个双系统! 在win8下磁盘管理中的最后一个盘中压缩出20G左右的空闲硬盘分区: ...

  8. win8.1环境下硬盘安装centos6.5双系统

    作为一名软件工程师或是相关行业的从业人员,经常会用到linux系统,这里为大家介绍的安装linux的方案是在原有win环境下安装linux双系统,两个系统选择分别为win8.1 和centos6.5. ...

  9. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)

    转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...

随机推荐

  1. sqlserver获取数据库表结构

    SqlServer获取所有数据库,表,表结构 --获取所有数据库 SELECT * FROM Master..SysDatabases ORDER BY Name --获取test数据库下所有表 us ...

  2. 问题解决_(转载)VS2015无法启动 IIS Express Web解决办法

    将“重写应用程序根URL”的勾选去掉,然后就可正常运行 参考资料:http://www.qi88.com/edu/os/2015/0103/87648.html

  3. Extjs 百度地图扩展

    var bmapps; Bsprint.EditMapInfoWindow = Ext.extend(Ext.Window, { form: null, constructor: function ( ...

  4. 慕课网-Java入门第一季-6-9

    来源:http://www.imooc.com/code/1571 所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: ...

  5. 慕课网-Java入门第一季-6-8 使用 foreach 操作数组

    来源:http://www.imooc.com/code/1864 foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组.集合时, foreach 更简单便捷.从英 ...

  6. jquery ajax 返回值 中文时乱码或变成问号解决方法

    转载自jquery的 ajax返回值为中文时乱码解决方法 用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了 ...

  7. ReactNative win10初体验

    根据RN中文网上的文档搭建环境,有的地方说的不是很清楚,所以小白的我搞了很久,终于搭建成功,这里分享一下 1. java: jdk和jre,我下载的是1.8(因为官方文档上说AndroidStudio ...

  8. 易语言5.6 精简破解版[Ctoo]

    说明:本易语言5.6破解版 加入了[E剑终情]大神制作的完美通杀补丁,本人还修复了静态编译的问题. 关于静态编译失效的问题,大家解压之后会看到易语言根目录有一个"易言语静态编译配置工具&qu ...

  9. Spring概念

    1.控制反转IOC:即生成对象,相当于new的功能,用IOC有利于维护. 2.依赖注入DI:即给属性赋值,相当于JavaBean的setter方法. 3.面向切面方程AOP:使得各个切面和目标类完全松 ...

  10. GET与POST的区别

    转自http://blog.csdn.net/darxin/article/details/4944225#comments HTTP请求的GET与POST方式的本质区别可以参考hyddd在<浅 ...