.

.

.

.

.

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. selenium2 Webdriver + Java 自动化测试实战和完全教程

    selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...

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

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

  3. cmd执行mysql操作

    (以下已安装到本机的mysql为例) 登录mysql数据库,如果没有在环境变量配置path到mysql中的bin目录,需要手动进入该目录中 执行:mysql -u用户名 -p密码 (注意:只要进入了m ...

  4. 简单的java socket 示例

    一.搭建服务器端 a).创建ServerSocket对象绑定监听端口. b).通过accept()方法监听客户端的请求. c).建立连接后,通过输入输出流读取客户端发送的请求信息. d).通过输出流向 ...

  5. hyper-v虚拟化管理

    一.  什么是Hyper-V? —    Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术. —    Hyper-V ...

  6. 12,SFDC 管理员篇 - 页面配置

    1, 添加Tab Setup | Create | Tab 通过Tab我们可以为我们新建的表对象添加访问路径   2,创建自定义按钮 我们想在Account 中添加一个自定义按钮,去链接外部页面,也可 ...

  7. java 接口中模拟浏览器 请求webservice 接受返回数据

    使用HttpClient 所需jar:commons-codec-1.9.jar,commons-httpclient-3.1.jar try { HttpClient client = new Ht ...

  8. 关于tomcat小知识

    1.linux下的tomcat中有用于记录日志的catalina.out文件(在logs下),windows中没有.catalina.out文件主要记录system.out  system.err等  ...

  9. 监控数据库运行 - MS SQL 日常维护管理常用脚本(二)

    查看数据库登录名信息 use mastergoSELECT name AS LoginName , dbname AS DefaultDB , createdate AS CreateDate, up ...

  10. LeetCode-179. Largest Number

    179. Largest Number Given a list of non negative integers, arrange them such that they form the larg ...