win7安装Ubuntu16.04双系统

  • 0.前言
  • 1.准备工作
  • 2.win7系统分区
  • 3.Ubuntu系统盘制作
  • 4.引导Ubuntu系统盘
  • 5.设置开机引导
  • 6.解决时间错乱

0.前言

由于虚拟机不能通过校园网免流量上Google,and今天没课,一早上起来就赶紧准备装双系统,开启Linux之旅。资料查完后,主要有两种方式,硬盘和U盘两种方式,因为手上有个8G U盘,所以采用U盘方式,Ubuntu16.04的镜像也就1.38G,不算大。

  • 知识

    1. 分区作用

      • 有利于管理,系统单独放一个区,和其他文件分开,产生的碎片很少,系统比较稳定,也延长硬盘寿命。
      • 软件放一个区,因为软件的安装和升级都会产生碎片,单独放在一起容易碎片整理。
      • 多媒体或BT等大文件也单独放一个区,因为BT对硬盘损坏比较大;
      • 多个分区容错较强;
      • 只是用文件夹分类会降低区文件搜索的速度,而且增删的过程也会产生较多的碎片;
      • 分区将硬盘分成几个部分,有利于管理,但是也不能滥分,大范围使用分区,小范围使用文件夹。
    2. 硬盘分区:

      • 硬盘分区=基本分区+扩展分区 <= 4
      • 扩展分区不能直接使用,需要继续分成若干逻辑分区
      • 逻辑分区不能安装操作系统,因为要访问逻辑分区需要进行多次跳转,所以无法启动操作系统,只能放主分区启动;
      • 动态分区:操作系统接管整个磁盘,自己来调整磁盘,是微软推出给windows的,Linux下的是lvm;动态分区是不能装双系统的。
      • 我的电脑是120G固态+1T硬盘,固态是主分区,硬盘由于之前被我分区了,并改成了动态硬盘,所以需要先改为基本分区。这里推荐工具:见下,具体的使用就不说了,系统自带的磁盘管理器太卡了,没事就死机。
      • Anna的电脑本来分了4个主分区,导致后来怎么弄都无法直接从win10启动Ubuntu,后来找到问题就在这,因为win10下的MBR分区表最多存在4个主分区,所以就无法从win10启动Ubuntu了,解决方法有2个:
        • GTP分区表可以存在N个主分区,把MBR改成GPT
        • 重新分区
      • UEFI和Legacy:
        • UEFI是最新的BIOS启动格式
        • Legacy是老式的BIOS启动格式
        • UEFI=Legacy+UEFI
      • Secure Boot:
        • 其规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。
        • 由于微软保护windows安全,所以安装Linux系统的时候还是关闭BIOS中的Secure Boot选项。
    3. Linux分区:

      1. 普通用户

        | /boot | 1G   | 启动分区,主分区 |
         | ----- | ------ |:-------|
          | /        | 40G    |          |
        

        | /home | 150G | 余下空间 |
        | swap | 8G | 差不多和内存一样大 |

        1. 服务器用户
          | /boot | 200M | 启动分区 |
          | —— | —— |:——-|
          | / | 10G | |
          | /home | 40G | 余下空间 |
          | swap | 2G | |
          | /usr | 10G | 系统软件 | (可合并)
          | /opt | 10G | 用户软件 |
          | /tmp | 2G | 临时文件 |
          | /var | 2G | 系统日志记录分区 |
      1. 注意点:
        • 大数据库一般要加大/usr挂载点
          • 多用户、下载类、多存储文件等要加大/home挂载点
          • 文件小,用户多要注意/tmp和/var挂载点大小
          • /tmp和/var都是服务器时候才使用的,独立出来便于提高性能
          • 随着硬盘容量的增大,无法引导Linux内核的现象再次出现,这也就是著名的137GB限制。很遗憾,Grub是无法引导137GB之后的分区中的Linux内核的。如果你不巧遇到了这样的情况,你就要考虑把/boot独立挂载到位于137GB前方的独立分区中,或者索性就把 Linux的分区都往前移动,让根目录所在分区位于137GB之前。
          • 安全的分区方案原则:系统数据和普通用户数据分离放置于不同的分区,即/home
      2. 汗~linux系统的1G对应1000M

        1.准备工作

早上没睡醒一样,一不小心点了前一个study盘的删除卷,结果浪费了一下午恢复。so特别提醒,有重要的文件还是上传到云盘吧,防止误操作,增加容错~

误删了一个文档卷,悲催恢复了一下午,很好的教训~

环境:

2.win7系统分区

右击我的电脑,管理 —— 磁盘管理:
最好是压缩最后一个卷的内容,压缩出合适大小,然后把这个卷删除,我以后就用Linux了,所以分了200G,任性~

3.Ubuntu系统盘制作

很简单,用ultraISO工具,具体使用见百度经验:http://jingyan.baidu.com/article/b24f6c82cf50e086bfe5dae9.html

4.引导Ubuntu系统盘

  • 笔记本按F7进入(我的神舟是这样)选择U盘启动,进入后一步步看着执行即可,有一步要选择other,也就是自己来分区。
  • 分区swap选择logical,boot选择primary,其他都是logical,原因参见win10的MBR分区,硬盘格式全都选择最新的Ext4,bootloader要选择当前Ubuntu的/boot所在磁盘,我的分区如下:

    | /boot | 1G | 启动分区,主分区 |

    | ----- | ------ |:-------|
    

    | / | 45G | |
    | /home | 150G | 余下空间 |

    swap主要是利用磁盘空间来虚拟内存使用,没有分,因为我的内存是8G,够用了,不需来要缓存~

5.设置开机引导

  • 打开EasyBCD2.2 —— Add New Entry —— 选择Linux —— Type:GRUB2, Name=任意,Drive:选择之前分区的/boot,一般都是容量最小的那个 —— Add Entry 。
  • 这也只是改为默认是win7启动而已,感觉没什么必要,Ubuntu命令行修改默认Grub也可以搞定。

6.解决时间错乱

  1. 问题:

    • 装完之后,win7时间错乱了,查了一下,win和Linux两者默认看待系统硬件时间的方式不同。
    • Ubuntu使用UTC即Universal Time Coordinated,协调世界时;
    • Linux/Unix/Mac把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。
    • windows使用GMT即Greenwich Mean Time,格林尼治平时。
    • windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
  2. 解决:
    两种方法都可,我选择了第一种;

    1. Linux下:
      • 让Ubuntu不是用UTC
      • sudo gedit /etc/default/rcS
      • 找到:UTC=yes
      • 改成no即可
        • 新方法:
          • timedatectl set-local-rtc 1 –adjust-system-clock
          • 然后重启
    2. windows下:
      • 让windows把硬件时间当做UTC:
      • 开始 —— 运行 —— CMD:
      • Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

7.后续爆炸性问题

  • 主要问题:
    • 想给ubuntu分配5G的固态来启动,所以重装ubuntu,先卸载,也就是直接格式化200G的那个盘,然后重启,同样的操作,结果忽略了很重要的一点就是没有把windows下面的引导该回去,也就是先把ubuntu的那个给删掉。
    • 我没删,所以重启后gg了,win进不去,直接到了grub rescure 界面,这还好办:
      • ls 查看一下分区
        • set root=(hd0,msdos2),选择ubuntu的启动的那个盘
        • set prefix=(hd0,msdos2)/grub,这是我的,网上也有/boot/grub的,目录不一样;
        • insmod=normal
        • normal 启动即可进入ubuntu的grub
  • 但是只能进ubuntu了,还是进不到win7下;
  • 折腾了一下午,还是不行,晚上上课,就和同学拷了个win10,重装系统~~
  • 然后总结就是,windows的引导不能乱改,改了找不到路径,就进不去了,当然可以直接用winpe系统盘进入修复,但我的被我先试了太多乱七八糟的方法,遂爆炸~
  • 最后就是用win10下,继续重装ubuntu双系统了,只是win10还需要先设置一下,具体参考:http://www.jianshu.com/p/2eebd6ad284d

[TOC]

thank you for donating~